<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-private/private-install.h, branch 2.2.0</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.2.0</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.2.0'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2018-05-11T15:58:46Z</updated>
<entry>
<title>Support local files as arguments in show command</title>
<updated>2018-05-11T15:58:46Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2018-04-12T07:59:47Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=6085ab7488326cfed8f82e07eefcbc2dc40d4bea'/>
<id>urn:sha1:6085ab7488326cfed8f82e07eefcbc2dc40d4bea</id>
<content type='text'>
Now that --with-source is supported in show we can go a little further
and add the "syntactic sugar" of supporting deb-files on the commandline
directly to give users an alternative to remembering dpkg -I for deb
files &amp; as a bonus apt also works on changes files.

Most of the code churn is actually to deal with cases probably not too
common in reality like mixing packages and deb-files on the commandline
and getting the right order for these multiple records.

Closes: 883206
</content>
</entry>
<entry>
<title>Support release selector for volatile files as well</title>
<updated>2018-05-11T15:58:46Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2018-01-26T22:33:25Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=ce9223cc4e4ffcc43d17ae97ff8c57fb759a2c49'/>
<id>urn:sha1:ce9223cc4e4ffcc43d17ae97ff8c57fb759a2c49</id>
<content type='text'>
The syntax is a bit awkward, but it is the same as for a package name
and introducing another syntax wouldn't really help usability, so with
apt install ./foo.deb/experimental you will get the dependencies of foo
satisfied by your default release, but if this wouldn't satisfy the
version requirements the candidate for this dependency is switched to
the version from the experimental release. The same applies for apt
build-dep ./foo.dsc/stable-backports which was the initial request.
</content>
</entry>
<entry>
<title>Introduce experimental new hooks for command-line tools</title>
<updated>2018-04-15T19:11:42Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2018-04-13T10:32:35Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=e9796b9c21ee7d8e8f5d6e2a24db43fc4368b557'/>
<id>urn:sha1:e9796b9c21ee7d8e8f5d6e2a24db43fc4368b557</id>
<content type='text'>
This allows third-party package managers like snap or flatpak
to hook in and suggest alternatives if packages could not be
found, for example.

This is still highly experimental and the protocol might change
in future versions.
</content>
</entry>
<entry>
<title>Reformat and sort all includes with clang-format</title>
<updated>2017-07-12T11:57:51Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-07-12T11:40:41Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=87274d0f22e1dfd99b2e5200e2fe75c1b804eac3'/>
<id>urn:sha1:87274d0f22e1dfd99b2e5200e2fe75c1b804eac3</id>
<content type='text'>
This makes it easier to see which headers includes what.

The changes were done by running

    git grep -l '#\s*include'  \
        | grep -E '.(cc|h)$' \
        | xargs sed -i -E 's/(^\s*)#(\s*)include/\1#\2 include/'

To modify all include lines by adding a space, and then running
./git-clang-format.sh.
</content>
</entry>
<entry>
<title>Drop cacheiterators.h include</title>
<updated>2017-07-12T11:56:05Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-07-12T11:42:18Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c46f94aa48a9707668c46118b3eec77ff318b78c'/>
<id>urn:sha1:c46f94aa48a9707668c46118b3eec77ff318b78c</id>
<content type='text'>
Including cacheiterators.h before pkgcache.h fails because
pkgcache.h depends on cacheiterators.h.
</content>
</entry>
<entry>
<title>support "install ./foo.changes"</title>
<updated>2016-07-22T14:05:09Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-07-08T13:59:23Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=92296fe4b0862a04ea3d965b4cd2d4a420e3be9f'/>
<id>urn:sha1:92296fe4b0862a04ea3d965b4cd2d4a420e3be9f</id>
<content type='text'>
We support installing ./foo.deb (and ./foo.dsc for source) for a while
now, but it can be a bit clunky to work with those directly if you e.g.
build packages locally in a 'central' build-area.

The changes files also include hashsums and can be signed, so this can
also be considered an enhancement in terms of security as a user "just"
has to verify the signature on the changes file then rather than
checking all deb files individually in these manual installation
procedures.
</content>
</entry>
<entry>
<title>reimplement build-dep via apts normal resolver</title>
<updated>2016-01-25T17:15:44Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-01-21T22:22:00Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a249b3e6fd798935a02b769149c9791a6fa6ef16'/>
<id>urn:sha1:a249b3e6fd798935a02b769149c9791a6fa6ef16</id>
<content type='text'>
build-dep was implemented by parsing the build-dependencies of a package
and figuring out which packages to install/remove based on this. That
means that for the first level of dependencies build-dep was
implementing its very own resolver with all the benefits (aka: bugs)
this gives us for not using the existing resolver for all levels.

Making this work involves generating a dummy binary package with fitting
Depends and Conflicts and as we can't create them out of thin air the
cache generation needs to be involved so we end up writing a Packages
file which we want to parse – after we have parsed the other Packages
files already. With .dsc/.deb files we could add them before we started
parsing anything.

With a bit of care we can avoid generating too much data we have to
throw away again (as many parts assume that e.g. the count of packages
doesn't change midair), so that on a speed front there shouldn't be
much of a difference, but output can be slightly confusing as if we have
a completely valid cache on disk the "Reading package lists... Done" is
printed two times – but apt is pretty quick about it in that case.

Closes: #137560, #444930, #489911, #583914, #728317, #812173
</content>
</entry>
<entry>
<title>drop some needlessly public declarations in libapt-private</title>
<updated>2015-11-29T16:00:11Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-11-29T15:57:58Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=f6777222f82f6279c104138216b0e5e50d8caa67'/>
<id>urn:sha1:f6777222f82f6279c104138216b0e5e50d8caa67</id>
<content type='text'>
Git-Dch: Ignore
</content>
</entry>
<entry>
<title>support .deb files in upgrade operations as well</title>
<updated>2015-11-04T17:04:01Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-10-12T13:57:53Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=14341a7ee1ca3dbcdcdbe10ad19b947ce23d972d'/>
<id>urn:sha1:14341a7ee1ca3dbcdcdbe10ad19b947ce23d972d</id>
<content type='text'>
The main part is refactoring through to allow hiding the magic needed to
support .deb files in deeper layers of libapt so that frontends have
less exposure to Debian specific classes like debDebPkgFileIndex.
</content>
</entry>
<entry>
<title>check for available space, excluding root reserved blocks</title>
<updated>2014-10-15T02:18:07Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-10-15T02:18:07Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=9c81f8de38df940559d13a3ea9591d63cbe970bb'/>
<id>urn:sha1:9c81f8de38df940559d13a3ea9591d63cbe970bb</id>
<content type='text'>
We are checking the space requirements for ages, but the check uses the
free blocks count, which includes the blocks reserved for usage by root.
Now that we use an unprivileged user it has no access to these blocks
anymore – and more importantly these blocks are a reserve, they
shouldn't be used by apt without special encouragement by the user as it
would be bad to have dpkg run out of diskspace and maintainerscripts
like man-db skip certain actions if not enough space is available
freely.
</content>
</entry>
</feed>
