<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-private/private-install.cc, branch 1.3</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=1.3</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=1.3'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2016-09-07T08:21:01Z</updated>
<entry>
<title>edsp: try 2 to read responses even if writing failed</title>
<updated>2016-09-07T08:21:01Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-09-07T08:21:01Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=12b201da7c1d5e2beceae796151e4ebedc5bae97'/>
<id>urn:sha1:12b201da7c1d5e2beceae796151e4ebedc5bae97</id>
<content type='text'>
Commit b60c8a89c281f2bb945d426d2215cbf8f5760738 improved the situation,
but due to inconsistency mostly for planners, not for solvers. As the
idea of hiding errors if we show another error is a bit scary (as the
extern error might be a followup of our intern error, rather than the
reason for our intern error as it is at the moment) we don't discard the
errors, but if we got an extern error we show them directly removing
them from the error list at the end of the run – that list will contain
the extern error which hopefully gives us the best of both worlds.

The problem itself is the same as before: The externals exiting before
apt is done talking to them.

Reported-By: Johannes 'josch' Schauer on IRC
</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>try to detect sudo spawned root-shell in prefixing</title>
<updated>2016-05-29T20:31:43Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-05-29T20:09:51Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=f1e8e9da00ccf91c924cd3edad0fc01d1b2dc820'/>
<id>urn:sha1:f1e8e9da00ccf91c924cd3edad0fc01d1b2dc820</id>
<content type='text'>
It is a try as the we need to inspect SUDO_COMMAND which could be
anything – apt, apt-get, in /usr/bin, in a $DPKG_ROOT "chroot", build
from source, aliases, …

The best we can do is look if the SHELL variable is equal to the
SUDO_COMMAND which would mean a shell was invoked. That isn't fail-safe
if different shells are involved as sub-shells have the tendency of not
overriding the SHELL so a bash started from within zsh can happily
pretend to be still zsh, so we could have a look at /etc/shells for a
list, but oh well, we have to stop somewhere I guess.
This sudo-prefixing feature is a gimmick after all.

Closes: 825742
</content>
</entry>
<entry>
<title>prevent C++ locale number formatting in text APIs</title>
<updated>2016-05-27T17:14:38Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-05-27T16:10:39Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b58e2c7c56b1416a343e81f9f80cb1f02c128e25'/>
<id>urn:sha1:b58e2c7c56b1416a343e81f9f80cb1f02c128e25</id>
<content type='text'>
Setting the C++ locale via std::locale::global(std::locale("")); which
would otherwise default to the default C locale (aka: unaffected by
setlocale) effects the formatting of numeric types in IO streams, which
for output for humans is perfectly sensible, but breaks our many text
interfaces used and parsed by us and others without expecting the
numbers to be formatted.

Closes: #825396
</content>
</entry>
<entry>
<title>don't try to get acquire lock in simulation mode</title>
<updated>2016-05-20T12:42:50Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-05-20T12:42:50Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=1bae10217617c2f79969635d4387fb2a5fe19ecb'/>
<id>urn:sha1:1bae10217617c2f79969635d4387fb2a5fe19ecb</id>
<content type='text'>
The code moving in eb1f04dda07c2b69549ad9fd793cca0e91841b3e
moved the acquire stuff above the simulation exit, so before getting
locks (and creating/chmod directories) we should be checking if we
should actually really do it…

[ignore as bugfix of an unreleased commit]

Git-Dch: Ignore
</content>
</entry>
<entry>
<title>show final solution in --no-download --fix-missing mode</title>
<updated>2016-05-16T14:17:54Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-05-14T08:43:03Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=eb1f04dda07c2b69549ad9fd793cca0e91841b3e'/>
<id>urn:sha1:eb1f04dda07c2b69549ad9fd793cca0e91841b3e</id>
<content type='text'>
This commit moves the creation of the fetcher and with it the
calculation of the filenames before the code generation the various
lists detailing the solution. This means that simulation comes even so
slightly closer to a real run as it will require and parse the package
indexes for filenames and queuing of URIs, so that a simulation "using"
an unavailable download method actually fails now.

The real benefit of this change is through that the rather special but
nontheless handy --no-download --fix-missing mode now actually shows
what the solution is it will apply to the system rather than the
solution it would if it could download all not-downloaded packages.
</content>
</entry>
<entry>
<title>show globalerrors before asking for confirmation</title>
<updated>2016-05-16T14:17:54Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-05-13T14:59:09Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=fd78974020e23679e9e810cf01dc5c8f3012bb8a'/>
<id>urn:sha1:fd78974020e23679e9e810cf01dc5c8f3012bb8a</id>
<content type='text'>
Errors cause a kind of automatic no already, but warnings and notices
are only displayed at the end of the apt execution even through they
could effect the choice of saying yes/no to questions: E.g. if a
configuration (file) was ignored you wanted to have an effect or if an
external solver you used generated warnings suggesting that the solution
might be valid, but bogus non-the-less and similar things.

Note that this only moves those messages up to the question if the
answer is interactive – not if e.g. -y is used or no question is asked at
all so this has an effect only on interactive usage of apt(-get), not
script who might be parsing apt output.
</content>
</entry>
<entry>
<title>factor out Pkg/DepIterator prettyprinters into own header</title>
<updated>2016-04-28T08:08:32Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-04-28T07:22:55Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=84573326f41dd09b914b8374548e7ee7c93d0439'/>
<id>urn:sha1:84573326f41dd09b914b8374548e7ee7c93d0439</id>
<content type='text'>
The old prettyprinters have only access to the struct they pretty print,
which isn't enough usually as we want to know for a package also a bit
of state information like which version is the candidate.

We therefore need to pull the DepCache into context and hence use a
temporary struct which is printed instead of the iterator itself.
</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>Add new APT::Keep-Downloaded-Packages option</title>
<updated>2016-01-02T21:18:13Z</updated>
<author>
<name>Michael Vogt</name>
<email>mvo@ubuntu.com</email>
</author>
<published>2016-01-02T21:08:30Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=ee02b5b3949372a178d37cadaa08db0bfd5b991f'/>
<id>urn:sha1:ee02b5b3949372a178d37cadaa08db0bfd5b991f</id>
<content type='text'>
This option controls if downloaded packages should be kept after
a successful install or if they should be deleted. The default
for "apt-get" is that they are kept (just like before).

However the default for "apt" is that they get deleted.

Closes: #160743
</content>
</entry>
</feed>
