<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg/depcache.cc, branch 1.0.9.4</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=1.0.9.4</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=1.0.9.4'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2014-11-10T16:23:29Z</updated>
<entry>
<title>deprecate the Section member from package struct</title>
<updated>2014-11-10T16:23:29Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-06-13T06:35:32Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=50ef3344c3afaaf9943142906b2f976a0337d264'/>
<id>urn:sha1:50ef3344c3afaaf9943142906b2f976a0337d264</id>
<content type='text'>
A version belongs to a section and has hence a section member of its
own. A package on the other hand can have multiple versions from
different sections. This was "solved" by using the section which was
parsed first as order of sources.list defines, but that is obviously a
horribly unpredictable thing.

Users are way better of with the Section() as returned by the version
they are dealing with. It is likely the same for all versions of a
package, but in the few cases it isn't, it is important (like packages
moving from main/* to contrib/* or into oldlibs …).

Backport of 7a66977 which actually instantly removes the member.
</content>
</entry>
<entry>
<title>initialize iPolicyBrokenCount in DepCache::Update</title>
<updated>2014-08-29T09:19:05Z</updated>
<author>
<name>Warren He</name>
<email>microrffr@gmail.com</email>
</author>
<published>2014-08-29T09:15:30Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=fb4c76436a88a04d1d9b7e9622e431ed8ab708a6'/>
<id>urn:sha1:fb4c76436a88a04d1d9b7e9622e431ed8ab708a6</id>
<content type='text'>
All other counters are correctly initialized here, expect this one. The
practical effect is low as in apt we usually just do "!= 0" checks, but
only correct counters are good counters.

Closes: 758397
</content>
</entry>
<entry>
<title>do not revert candidate for protected packages</title>
<updated>2014-06-07T20:46:37Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-06-07T20:46:37Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=e41d3d7e25754f858b6dfe4dd841f4749f7f3ab1'/>
<id>urn:sha1:e41d3d7e25754f858b6dfe4dd841f4749f7f3ab1</id>
<content type='text'>
In commit 21b3eac8 I promoted the check for installable dependencies to
a pre-install check, which also reverts to a known good candidate (the
installed version) if it fails. This revert was done even for user
requested candidate switches which disabled our Broken detection so that
install requests which are impossible to satisfy do not fail anymore,
but print an (incomplete) solution proposal and then exit successfully.

Closes: 745046
</content>
</entry>
<entry>
<title>Do not try to cast a pkgDepCache::Policy to a pkgCache</title>
<updated>2014-05-27T15:49:53Z</updated>
<author>
<name>Michael Vogt</name>
<email>mvo@debian.org</email>
</author>
<published>2014-05-27T15:49:53Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=de6221c9d5f99a276628bcf45fb28537e46e7660'/>
<id>urn:sha1:de6221c9d5f99a276628bcf45fb28537e46e7660</id>
<content type='text'>
Fix incorrect cast in pkgDepCache::Policy::GetCandidateVer()

Reported-By: clang -fsanitize=address -fno-omit-frame-pointer
</content>
</entry>
<entry>
<title>discard candidates via IsInstallOk to allow override</title>
<updated>2014-03-23T11:38:43Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-03-11T09:31:44Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=21b3eac8f9ab8e12b43fa8998a5aa5465f29adc5'/>
<id>urn:sha1:21b3eac8f9ab8e12b43fa8998a5aa5465f29adc5</id>
<content type='text'>
In commit 446551c8 I changed MarkInstall to discard the candidate if the
candidate can't satisfy the dependency. This breaks interactive solvers
like aptitude which can change the candidate on-the-fly later.

In commit df77d8a5 I introduced this 'early' loop-breaking to begin with
which can't be that helpful for interactive solvers as well, but makes
perfect sense for non-interactives to stop them from exploring trees
which can't be satisfied, but it isn't perfect as ideally we would check
this before auto-installing the first dependency.

This commit therefore moves the loop into its own IsInstallOk hook so
that frontends can override this check if they want to and in exchange
removes the loop-breaking from MarkInstall itself and does it before any
dependency is installed.

Closes: 740750
</content>
</entry>
<entry>
<title>do IsInstallOk call in MarkInstall unconditionally</title>
<updated>2014-03-23T11:31:02Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-03-11T14:32:40Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=be7ce6f1d067fa62b01685e48094f3f73c95189f'/>
<id>urn:sha1:be7ce6f1d067fa62b01685e48094f3f73c95189f</id>
<content type='text'>
Hooked checks could be influenced by AutoInst as a lot can happen
between a call without and one with this bit set. The real cache-hit
check is above this call already. Individual hooked checks can then
inspect the state if they want to cache. Calling them multiple times
shouldn't be a problem either way.
</content>
</entry>
<entry>
<title>follow method attribute suggestions by gcc</title>
<updated>2014-03-13T12:58:45Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-03-05T23:33:10Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a02db58fd50ef7fc2f0284852c6b3f98e458a232'/>
<id>urn:sha1:a02db58fd50ef7fc2f0284852c6b3f98e458a232</id>
<content type='text'>
Git-Dch: Ignore
Reported-By: gcc -Wsuggest-attribute={pure,const,noreturn}
</content>
</entry>
<entry>
<title>cleanup headers and especially #includes everywhere</title>
<updated>2014-03-13T12:58:45Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-03-05T21:11:25Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=453b82a388013e522b3a1b9fcd6ed0810dab1f4f'/>
<id>urn:sha1:453b82a388013e522b3a1b9fcd6ed0810dab1f4f</id>
<content type='text'>
Beside being a bit cleaner it hopefully also resolves oddball problems
I have with high levels of parallel jobs.

Git-Dch: Ignore
Reported-By: iwyu (include-what-you-use)
</content>
</entry>
<entry>
<title>warning: unused parameter ‘foo’ [-Wunused-parameter]</title>
<updated>2014-03-13T12:58:45Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-03-01T14:11:42Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=655122418d714f342b5d9789f45f8035f3fe8b9a'/>
<id>urn:sha1:655122418d714f342b5d9789f45f8035f3fe8b9a</id>
<content type='text'>
Reported-By: gcc -Wunused-parameter
Git-Dch: Ignore
</content>
</entry>
<entry>
<title>warning: no previous declaration for foobar() [-Wmissing-declarations]</title>
<updated>2014-03-13T12:58:45Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-02-27T02:11:54Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c3ccac9232c2684b15f75fa8622a9a290aeca123'/>
<id>urn:sha1:c3ccac9232c2684b15f75fa8622a9a290aeca123</id>
<content type='text'>
Git-Dch: Ignore
Reported-By: gcc -Wmissing-declarations
</content>
</entry>
</feed>
