<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-private/private-source.cc, branch 1.2.10</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=1.2.10</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=1.2.10'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2016-03-06T08:39:30Z</updated>
<entry>
<title>support APT::Get::Build-Dep-Automatic again in build-dep</title>
<updated>2016-03-06T08:39:30Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-02-16T19:32:28Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c97ae2a00f41febb9558b5e6ef08019b93dcefac'/>
<id>urn:sha1:c97ae2a00f41febb9558b5e6ef08019b93dcefac</id>
<content type='text'>
In a249b3e6fd798935a02b769149c9791a6fa6ef16 I dropped with the manual
first resolver step also the support for installing build-deps as
automatic in such a way that it behaved like this option was enabled by
default.

Restoring support for it means that we go back to mark build-
dependencies as manually installed again by default and provide this
option to keep them as automatically installed.
</content>
</entry>
<entry>
<title>get dpkg lock in build-dep if cache was invalid again</title>
<updated>2016-02-10T12:03:00Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-02-10T11:26:49Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b6f1b480164b454661ddd4fdd3968302c6a3ebf6'/>
<id>urn:sha1:b6f1b480164b454661ddd4fdd3968302c6a3ebf6</id>
<content type='text'>
Regression introduced in a249b3e6fd798935a02b769149c9791a6fa6ef16, which
in the case of an invalid cache would build the first part unlocked and
later pick up the (still unlocked) cache for further processing, so the
system got never locked and apt would end up complaining about being
unable to release the lock at shutdown.

The far more common case of having a valid cache worked as expected and
hence covered up the problem – especially as tests who would have
noticed it are simulations only, which do not lock.

Closes: 814139
Reported-By: Balint Reczey &lt;balint@balintreczey.hu&gt;
Reported-By: Helmut Grohne &lt;helmut@subdivi.de&gt; on IRC
</content>
</entry>
<entry>
<title>avoid building dependency tree in 'source' command</title>
<updated>2016-02-03T13:56:49Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-02-03T13:56:49Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=d603afd970e4bc84ed7176b988cd72bd9cf339b3'/>
<id>urn:sha1:d603afd970e4bc84ed7176b988cd72bd9cf339b3</id>
<content type='text'>
We don't need the dependencies for obvious reasons and we don't need the
candidate version either, so building a pkgDepCache is wasted effort,
which we can stop doing now that build-dep cleared the path.
</content>
</entry>
<entry>
<title>use pkgCache::VS instead of pkgDepCache::VS()</title>
<updated>2016-02-03T12:50:00Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-02-03T11:58:23Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=cd907113561d5eb75054f981be3bcc22eee8db27'/>
<id>urn:sha1:cd907113561d5eb75054f981be3bcc22eee8db27</id>
<content type='text'>
The later just calls the earlier, but the later needs the fullblown
dependency cache to be initialized, which is a very costly operation and
isn't done anymore that early in the run as we would need to throw away
and rebuild it again after we got all the information about source pkgs.

As we end up with a nullptr for the pkgDepCache, we use a slightly
longer calling convention to make sure that we use the pkgCache
directly, avoiding nullptr induced segfaults and costly operations.

Git-Dch: Ignore
Reported-By: Balint Reczey &lt;balint@balintreczey.hu&gt;
</content>
</entry>
<entry>
<title>get sources for packages in multiple releases again</title>
<updated>2016-01-26T20:09:47Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-01-26T20:09:47Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=07aca07ae73016aa7823e708dda746eec8346989'/>
<id>urn:sha1:07aca07ae73016aa7823e708dda746eec8346989</id>
<content type='text'>
In 321213f0dcdcdaab04e01663e7a047b261400c9c Andreas Cadhalpun corrected
the incorrect overriding of earlier better-fitting results with later
(semi-)matches – but that broke the case in which packages are in multiple
releases in the same version (and the user has both releases configured).

Closes: 812497
</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>delay build-dep variable initialisation until needed</title>
<updated>2016-01-14T16:33:58Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-01-12T10:12:56Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=fa47f406cf434e175885c5920175c0cedcd62746'/>
<id>urn:sha1:fa47f406cf434e175885c5920175c0cedcd62746</id>
<content type='text'>
Git-Dch: Ignore
</content>
</entry>
<entry>
<title>fail installing build-deps if parsing them failed</title>
<updated>2016-01-02T15:19:40Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-12-30T20:51:17Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=5f1b8fadbba7108ba20bd07c7479eb5e5704308e'/>
<id>urn:sha1:5f1b8fadbba7108ba20bd07c7479eb5e5704308e</id>
<content type='text'>
Git-Dch: Ignore
</content>
</entry>
<entry>
<title>require explicit paths to dsc/control as we do for deb files</title>
<updated>2015-12-01T13:26:05Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-12-01T13:09:23Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=f359b7e8c03884cd9f097d4b3ff8b8b8be8053ba'/>
<id>urn:sha1:f359b7e8c03884cd9f097d4b3ff8b8b8be8053ba</id>
<content type='text'>
Otherwise a user is subject to unexpected content-injection depending on
which directory she happens to start apt in. This also cleans up the code
requiring less implementation details in build-dep which is always good.

Technically, this is an ABI break as we override virtual methods, but
that they weren't overridden was a mistake resulting in pure classes,
which shouldn't be pure, so they were unusable – and as they are new in
1.1 nobody is using them yet (and hopefully ever as they are borderline
implementation details).

Closes: 806693
</content>
</entry>
<entry>
<title>deal with configured build-essential first</title>
<updated>2015-12-01T13:25:28Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-12-01T10:29:17Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=7d19ee92f2368a40e739cb27d22d6d28f37ebf45'/>
<id>urn:sha1:7d19ee92f2368a40e739cb27d22d6d28f37ebf45</id>
<content type='text'>
There is no need to check configured build-essentials for each package,
doing it once at the start ought to be enough.

Git-Dch: Ignore
</content>
</entry>
</feed>
