<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg, branch 1.9.4</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=1.9.4</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=1.9.4'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2019-09-19T08:37:55Z</updated>
<entry>
<title>Pass --abort-after=1 to dpkg when using --force-depends</title>
<updated>2019-09-19T08:37:55Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-09-19T08:16:26Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=8a54113d450140bd6b158cb05473cacca859a54d'/>
<id>urn:sha1:8a54113d450140bd6b158cb05473cacca859a54d</id>
<content type='text'>
Using --force-depends causes dpkg to continue removing packages
a package depends upon even if that package fails to be removed,
because dpkg turns off all sanity checks. So we gotta tell dpkg
to stop immediately if there's an error removing stuff.

Closes: #935910
LP: #1844634
</content>
</entry>
<entry>
<title>srvrec: Use re-entrant resolver functions</title>
<updated>2019-08-22T11:11:00Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-08-22T11:11:00Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b9127ca07c37288f16b1fdc267d3f106721ed301'/>
<id>urn:sha1:b9127ca07c37288f16b1fdc267d3f106721ed301</id>
<content type='text'>
This should probably make those functions thread-safe, which
might be useful for some external users.
</content>
</entry>
<entry>
<title>patterns: Allow more complex words</title>
<updated>2019-08-19T12:31:17Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-08-15T13:06:20Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=d18b6095862e8268b4d2cd8c0b3140829a1e4950'/>
<id>urn:sha1:d18b6095862e8268b4d2cd8c0b3140829a1e4950</id>
<content type='text'>
Only disallow ,() and on the start of a word also ~ and ?. Make
sure to include \0 as disallowed.
</content>
</entry>
<entry>
<title>patterns: Improve error reporting at end of argument list</title>
<updated>2019-08-15T18:21:34Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-08-15T13:05:52Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=d64f0f343d2fcfe1d7768fa9acad83e34fa519f2'/>
<id>urn:sha1:d64f0f343d2fcfe1d7768fa9acad83e34fa519f2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add ?virtual pattern</title>
<updated>2019-08-15T18:21:34Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-08-15T11:40:31Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c94b507b92b3d833761f3e416d4d5bba709bf87f'/>
<id>urn:sha1:c94b507b92b3d833761f3e416d4d5bba709bf87f</id>
<content type='text'>
This matches any package that does not have versions.
</content>
</entry>
<entry>
<title>Add the ?exact-name pattern</title>
<updated>2019-08-15T18:21:34Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-08-15T11:36:04Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=af674d82d5cd36e22223ec49675d32adad07e0a9'/>
<id>urn:sha1:af674d82d5cd36e22223ec49675d32adad07e0a9</id>
<content type='text'>
The ?exact-name pattern matches the name exactly, there is
no substring matching going on, or any regular expression
or fnmatch magic.
</content>
</entry>
<entry>
<title>Add ?essential pattern</title>
<updated>2019-08-15T18:21:34Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-08-15T11:35:01Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=08762e0e4e2923360339eeb4d8ed26a00d7f1de5'/>
<id>urn:sha1:08762e0e4e2923360339eeb4d8ed26a00d7f1de5</id>
<content type='text'>
This matches all packages where at least one of the versions
is marked essential; or well, whenver apt considers a package
essential.
</content>
</entry>
<entry>
<title>Add ?broken pattern</title>
<updated>2019-08-15T18:21:34Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-08-15T11:32:54Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=9282c9094ab3e77cebe90e97b2f9a5fc21463e2f'/>
<id>urn:sha1:9282c9094ab3e77cebe90e97b2f9a5fc21463e2f</id>
<content type='text'>
This matches all packages that have broken dependencies in the
installed version or the version selected for install.
</content>
</entry>
<entry>
<title>Add ?config-files and ?installed patterns</title>
<updated>2019-08-15T18:21:34Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-08-15T11:31:30Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a3e9ab661b2d670f7d0da53a5f56c52af0763c5b'/>
<id>urn:sha1:a3e9ab661b2d670f7d0da53a5f56c52af0763c5b</id>
<content type='text'>
These two are mutually exclusive states of installed-ness. And
?installed package is fully unpacked and configured; a ?config-files
package only has config files left.
</content>
</entry>
<entry>
<title>Add ?obsolete and ?upgradable patterns</title>
<updated>2019-08-15T18:21:34Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-08-15T11:23:55Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=89790c11799c4144e37a6a1f0dbe0f6fff89ea89'/>
<id>urn:sha1:89790c11799c4144e37a6a1f0dbe0f6fff89ea89</id>
<content type='text'>
These match packages that have no version in a repository, or
where an upgrade is available. Notably,

	?and(?obsolete,?upgradable) == ?false

because an upgradable package is by definition not obsolete.
</content>
</entry>
</feed>
