<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg/deb/deblistparser.cc, branch 2.9.24</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.9.24</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.9.24'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2025-01-05T18:29:47Z</updated>
<entry>
<title>Ensure we can build with APT_PKG_ABI &gt; 601</title>
<updated>2025-01-05T18:29:47Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-01-05T18:29:47Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=cf0257b4d2f559a914fcafa58e5819f624dc8599'/>
<id>urn:sha1:cf0257b4d2f559a914fcafa58e5819f624dc8599</id>
<content type='text'>
There were some references to APT::StringView that don't make much
sense anymore.
</content>
</entry>
<entry>
<title>Fix accidental ABI break in debListParser::ParseDepends</title>
<updated>2024-11-28T08:03:02Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2024-11-28T08:03:02Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=edf03432568598dec12dfd242e6a4ed03a881693'/>
<id>urn:sha1:edf03432568598dec12dfd242e6a4ed03a881693</id>
<content type='text'>
The version that accepted APT::StringView was marked
public.
</content>
</entry>
<entry>
<title>(+=)+= -&gt; append().append()</title>
<updated>2024-11-14T18:08:42Z</updated>
<author>
<name>наб</name>
<email>nabijaczleweli@nabijaczleweli.xyz</email>
</author>
<published>2024-11-14T18:08:42Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=fdd846cd67def08f04cc616530adc144fc5435d7'/>
<id>urn:sha1:fdd846cd67def08f04cc616530adc144fc5435d7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>apt-pkg/deb/deblistparser.cc: APT::StringView -&gt; std::string_view</title>
<updated>2024-11-12T19:36:21Z</updated>
<author>
<name>наб</name>
<email>nabijaczleweli@nabijaczleweli.xyz</email>
</author>
<published>2024-11-12T16:59:18Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=e26c9290145da39beeabf5769e61eb38ab2cce78'/>
<id>urn:sha1:e26c9290145da39beeabf5769e61eb38ab2cce78</id>
<content type='text'>
</content>
</entry>
<entry>
<title>apt-pkg/pkgcachegen.cc, apt-pkg/pkgcachegen.h: APT::StringView -&gt; std::string_view</title>
<updated>2024-11-12T19:36:20Z</updated>
<author>
<name>наб</name>
<email>nabijaczleweli@nabijaczleweli.xyz</email>
</author>
<published>2024-11-12T16:59:23Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=e900ad1a727912b340aa43417bff895294854d3b'/>
<id>urn:sha1:e900ad1a727912b340aa43417bff895294854d3b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>apt-pkg/edsp/edsplistparser.cc: APT::StringView -&gt; std::string_view</title>
<updated>2024-11-12T19:36:16Z</updated>
<author>
<name>наб</name>
<email>nabijaczleweli@nabijaczleweli.xyz</email>
</author>
<published>2024-11-12T16:59:21Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=982998a061461a503352d85b1d0a76a99c8480cd'/>
<id>urn:sha1:982998a061461a503352d85b1d0a76a99c8480cd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Deal better with spurious spaces in arch restrictions</title>
<updated>2024-05-16T22:15:26Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2024-05-16T22:15:26Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=3347b7a00682a0498a2602ce3e4e72c2c3d49c75'/>
<id>urn:sha1:3347b7a00682a0498a2602ce3e4e72c2c3d49c75</id>
<content type='text'>
Another instance of our parser written for sane clean input, but
nowadays used also for user-provided input which can contain very many
strange formatting and especially white spaces all over the place.

Closes: #1071219
</content>
</entry>
<entry>
<title>Allow parsing an empty Provides line</title>
<updated>2024-04-26T20:10:30Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2024-04-26T18:50:49Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c98bcdf00e5366fec101dd17094d36be21872a02'/>
<id>urn:sha1:c98bcdf00e5366fec101dd17094d36be21872a02</id>
<content type='text'>
If dpkg-gencontrol was involved in the creation of a package we will not
usually encounter empty or otherwise useless fields, but apparently not
everyone is using it.

It isn't recommended to have these empty lines, but it isn't too hard to
ignore for Provides as we did for dependencies already and apt-ftparchive
can be convinced to produce empty files (if you feed it such a package)
as well, so lets be nice and provide users with a more accepting parser.

Closes: #1069874
</content>
</entry>
<entry>
<title>Allow no spaces for the last dependency in ParseDepends, too</title>
<updated>2024-04-17T09:12:58Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2024-04-17T08:19:40Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=633f6d67a28b375cf1f225f14d3c926e618d46af'/>
<id>urn:sha1:633f6d67a28b375cf1f225f14d3c926e618d46af</id>
<content type='text'>
All other entries in a dependency line get substantial leeway about the
amount of spaces surrounding the entry itself and its individual parts,
but the very last entry was required to have a version constraint be
at least 4 chars long (excluding opening bracket and spaces following
it), so if the version is short and a single-char relation used a space
had to make up for it. This is a bit unfair in comparison to the other
entries who do not have such unreasonable demands, so we reduce our
demand to 3 chars or longer, which is satisfied by "=1)".

If it is a good idea to hate spaces that much remains unanswered by this
commit, but in practice most tools (re)writing the files we parse will
include spaces, so its only in files (or on the satisfy command line)
directly edited by users that we can encounter such a situation, which
is a relatively new development given this line came unchanged from
the introduction of this method in 1998.

LP: #2061834
</content>
</entry>
<entry>
<title>Parse unsupported != relation in dependencies</title>
<updated>2024-03-07T15:35:17Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2024-01-23T13:45:46Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=3d1614b0a6c9c185ed1b2834e338f14d4de5b124'/>
<id>urn:sha1:3d1614b0a6c9c185ed1b2834e338f14d4de5b124</id>
<content type='text'>
libapt has a NotEquals relation for version constraints in
dependencies, which is used internally e.g. in the MultiArch
implementation, but this relation is not supported by Debian
policy and as such can not be used in packages.

Our parser here is extremely accepting, even unknown relations are
parsed as Equals relation – but the version that must match will be a
rather strange one…

For our own testcases and e.g. on the command line with 'satisfy' it
can make sense to have != available… and what strange things apt does
parsing unsupported relations is not really much of a concern. Real
packages will not have such relations anyhow as we are (mostly) just
a consumer, not a producer of packages and index files.
</content>
</entry>
</feed>
