[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#682307: unblock: apt/0.9.7.2



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
X-Debbugs-Cc: deity@lists.debian.org

Please unblock package apt

The diff between 0.9.7.1 and 0.9.7.2 is
(minus translation updates and manually-run testcases):

apt-pkg/cachefilter.cc       |    6 ------
apt-pkg/clean.cc             |    5 +++--
apt-pkg/deb/deblistparser.cc |    3 ++-
cmdline/apt-mark.cc          |   16 ++++++++++++++--
debian/apt.cron.daily        |   14 ++++++++------
ftparchive/writer.cc         |    2 +-
6 files changed, 28 insertions(+), 18 deletions(-)

The changes are denoted as follows in the changelog
with some more comments regarding reason and possible regressions:
(tl;dr: good reasons and low regression potential - just unblock ;) )

>  * debian/apt.cron.daily:
>    - do not try to backup extended_states file if it doesn't
>      exist (Closes: #680287)

(Technical an RC bug in the cronjob, hard to trigger in real life though.)

>  * ftparchive/writer.cc:
>    - handle the APT::FTPArchive::Packages::SHA512 option correctly instead
>      of overriding SHA256, thanks Christian Marillat! (Closes: #680252)

(Classic typo: regression possibility is negative)

>  * cmdline/apt-mark.cc:
>    - arch:all packages are treated as arch:native packages, but dpkg
>      expects pkg:all for selections, so use the arch of the installed
>      version instead of the package structure if possible.
>      Thanks to Stepan Golosunov for the report! (Closes: #680041)

APT claimed to be successful in holding the package back,
even through it wasn't as dpkg just ignored the request.
Could be really confusing for users …
(Artefact from the interface changes in dpkg for multi-arch)

>  * apt-pkg/clean.cc:
>    - run autoclean against pkg:arch and not always against pkg:native as
>      this removes valid cache entries (Closes: #679371)

Nasty if caches are shared (with network shares for example) or
if autoclean (and downloading) is run by a/our cronjob.
(Incomplete multi-arch awareness)

>  * apt-pkg/deb/deblistparser.cc:
>    - negative dependencies need to apply to all architectures,
>      but those with a specific architecture only apply to this one

Specific architecture dependencies were introduced in 0.9.6.
'Conflicts: foo:amd64' would be interpreted as a conflict with package
'foo:amd64' on all configured architectures (=architecture becomes
accidentally part of the name, hence no conflict will be found).

>  * apt-pkg/cachefilter.cc:
>    - remove architecture-specific arch to tuple expansion-rules as they lead
>      to the same tuples for different architectures (e.g. linux-arm for arm,
>      armel and armhf) while the dpkg-architecture code uses triples which
>      are different (in the first part, which we omit in our tuples), so e.g.
>      build-dep restrictions for armel ended up effecting armhf as well

This bug effects "apt-get build-dep foo" and is present in squeeze as well.
It was well hidden by the fact that the restrictions it would map together
usually are used together – build-infrastructure has its own build-
dependency resolution and if all else fails dpkg-checkbuilddeps would have
intervened, so regression possibility is low.
(Why these special mappings were in the code is so far unknown.)

This also effects commandline parsing since 0.9.7 - which uncovered it:
"apt-get install foo:armhf" and "apt-get install foo:armel" had the same
result. ("Randomly" foo for armhf or armel, depending on the order of M-A
configuration)



Attached is a more complete diff (but still without translations),
but if you want the complete diff or if you have any additional questions
feel free to ask of course (just keep deity@ cc'ed please).


unblock apt/0.9.7.2


As an aside, a few more translations have lined up and we are working on a few
more targeted fixes, so we will surely annoy you with another request after
this one. (We have also the "problem" that the documentation uses in various
 places the release  codenames as examples [as the usage of the suite is
 potentially dangerous] and while we have a central place to switch the names
 we would need to know them first …)


Thanks for your work & best regards

David Kalnischkies

Attachment: unblock-apt-0.9.7.1--0.9.7.2.diff
Description: Binary data


Reply to: