--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: apt thinks :any dependencies are satisfied but dpkg doesn't
- From: Stuart Prescott <stuart@debian.org>
- Date: Wed, 18 Sep 2013 02:20:52 +1000
- Message-id: <20130917162052.7704.73737.reportbug@huma.nanonanonano.net>
Package: apt
Version: 0.9.7.9
Severity: normal
The introduction of the dependency "python3:any (>= 3.2.3-3~)" in a number of
python3 packages should require that python3 be upgraded to at least version
3.3.0-2 since that is the first version that is marked as Multi-Arch: allowed.
$ grep-dctrl --exact-match -P python3 /var/lib/apt/lists/*Packages \
-s Package,Version,Multi-Arch
Package: python3
Version: 3.3.2-15
Multi-Arch: allowed
Package: python3
Version: 3.2.3-6
However, wheezy's apt appears to think that the non-multi-arch'd python3
package in wheezy satisfies this dependency (the version is sufficient but the
:any requires a Multi-Arch: allowed package). Unfortunately, dpkg disagrees and
so complains that it is not able to configure the package because all
dependencies are not yet satisfied.
This has obvious consequences for wheezy→jessie upgrades: if apt tells dpkg to
configure the packages in the wrong order then the configure step will fail. An
example of this is shown below.
Given we know that the python3 package in wheezy won't satisfy the dependency
of python3-gnupg (and the dozen or so other packages we already have with
Depends: python3:any (>= 3.2.3-3~)), it would be feasible to just bump the
version number in this relationship to the Multi-Arch'd version of the package
(i.e. make it python3:any (>= 3.3.0) or similar). I altered the python-gnupg3
package used below to have this dependency instead and apt decided to upgrade
python3 as well and completed without error. This inelegantly solves the
problem for python3 but might be the best we can do for wheezy→jessie.
cheers
Stuart
(PS: I have illustrated this below with aptitude but apt-get does the same,
as just pointed out by Jakub Wilk in
http://lists.debian.org/20130917153638.GA3419@jwilk.net)
(wheezy[cow.25887])root@huma:/# apt-get install python3-gnupg
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libffi5 python3 python3-minimal python3.2 python3.2-minimal
Suggested packages:
python3-doc python3-tk python3.2-doc binfmt-support
The following NEW packages will be installed:
libffi5 python3 python3-gnupg python3-minimal python3.2 python3.2-minimal
0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/4478 kB of archives.
After this operation, 14.7 MB of additional disk space will be used.
Do you want to continue [Y/n]?
Selecting previously unselected package libffi5:i386.
(Reading database ... 18897 files and directories currently installed.)
Unpacking libffi5:i386 (from .../libffi5_3.0.10-3_i386.deb) ...
Selecting previously unselected package python3.2-minimal.
Unpacking python3.2-minimal (from .../python3.2-minimal_3.2.3-7_i386.deb) ...
Selecting previously unselected package python3.2.
Unpacking python3.2 (from .../python3.2_3.2.3-7_i386.deb) ...
Selecting previously unselected package python3-minimal.
Unpacking python3-minimal (from .../python3-minimal_3.2.3-6_all.deb) ...
Selecting previously unselected package python3.
Unpacking python3 (from .../python3_3.2.3-6_all.deb) ...
Selecting previously unselected package python3-gnupg.
Unpacking python3-gnupg (from .../python3-gnupg_0.3.0-1.1_all.deb) ...
Processing triggers for man-db ...
Setting up libffi5:i386 (3.0.10-3) ...
Setting up python3.2-minimal (3.2.3-7) ...
Setting up python3.2 (3.2.3-7) ...
Setting up python3-minimal (3.2.3-6) ...
Setting up python3 (3.2.3-6) ...
Setting up python3-gnupg (0.3.0-1.1) ...
(wheezy[cow.25887])root@huma:/# sed -i 's/wheezy/sid/' /etc/apt/sources.list
(wheezy[cow.25887])root@huma:/# apt-get update
Ign file: ./ Release.gpg
Ign file: ./ Release
Ign file: ./ Translation-en
Hit http://ftp.iinet.net.au sid Release.gpg
Hit http://ftp.iinet.net.au sid Release
Hit http://ftp.iinet.net.au sid/main i386 Packages
Get:1 http://ftp.iinet.net.au sid/main Translation-en [4390 kB]
Fetched 4390 kB in 3s (1275 kB/s)
Reading package lists... Done
(wheezy[cow.25887])root@huma:/# apt-cache policy python3-gnupg
python3-gnupg:
Installed: 0.3.0-1.1
Candidate: 0.3.5-2+swp
Version table:
0.3.5-2+swp 0
500 file:/tmp/pkgs/ ./ Packages
0.3.5-2 0
500 http://ftp.iinet.net.au/debian/debian/ sid/main i386 Packages
*** 0.3.0-1.1 0
100 /var/lib/dpkg/status
(wheezy[cow.25887])root@huma:/# aptitude upgrade !$
aptitude upgrade python3-gnupg
Resolving dependencies...
The following NEW packages will be installed:
dh-python{a} libffi6{a} libpython3-stdlib{a} libpython3.3-minimal{a}
libpython3.3-stdlib{a} python3.3{a} python3.3-minimal{a}
The following packages will be REMOVED:
libffi5{u} python3.2{u} python3.2-minimal{u}
The following packages will be upgraded:
libc-dev-bin libc6 libc6-dev python3 python3-gnupg python3-minimal
The following packages are RECOMMENDED but will NOT be installed:
libc6-i686
6 packages upgraded, 7 newly installed, 3 to remove and 149 not upgraded.
Need to get 0 B/10.8 MB of archives. After unpacking 4703 kB will be used.
Do you want to continue? [Y/n/?]
WARNING: untrusted versions of the following packages will be installed!
Untrusted packages could compromise your system's security.
You should only proceed with the installation if you are certain that
this is what you want to do.
python3-gnupg
Do you want to ignore this warning and proceed anyway?
To continue, enter "Yes"; to abort, enter "No": yes
93% [Working]Preconfiguring packages ...
(Reading database ... 19725 files and directories currently installed.)
Preparing to replace libc6-dev:i386 2.13-38 (using .../libc6-dev_2.17-92+b1_i386.deb) ...
Unpacking replacement libc6-dev:i386 ...
Preparing to replace libc-dev-bin 2.13-38 (using .../libc-dev-bin_2.17-92+b1_i386.deb) ...
Unpacking replacement libc-dev-bin ...
Preparing to replace libc6:i386 2.13-38 (using .../libc6_2.17-92+b1_i386.deb) ...
Checking for services that may need to be restarted...
Checking init scripts...
Unpacking replacement libc6:i386 ...
Processing triggers for man-db ...
Setting up libc6:i386 (2.17-92+b1) ...
Checking for services that may need to be restarted...
Checking init scripts...
Nothing to restart.
Selecting previously unselected package libpython3.3-minimal.
(Reading database ... 19750 files and directories currently installed.)
Unpacking libpython3.3-minimal (from .../libpython3.3-minimal_3.3.2-5_i386.deb) ...
Selecting previously unselected package python3.3-minimal.
Unpacking python3.3-minimal (from .../python3.3-minimal_3.3.2-5_i386.deb) ...
Preparing to replace python3 3.2.3-6 (using .../python3_3.3.2-16_i386.deb) ...
Unpacking replacement python3 ...
Preparing to replace python3-minimal 3.2.3-6 (using .../python3-minimal_3.3.2-16_i386.deb) ...
Unpacking replacement python3-minimal ...
Selecting previously unselected package libffi6:i386.
Unpacking libffi6:i386 (from .../libffi6_3.0.13-4_i386.deb) ...
Selecting previously unselected package libpython3.3-stdlib.
Unpacking libpython3.3-stdlib (from .../libpython3.3-stdlib_3.3.2-5_i386.deb) ...
Selecting previously unselected package python3.3.
Unpacking python3.3 (from .../python3.3_3.3.2-5_i386.deb) ...
Selecting previously unselected package libpython3-stdlib:i386.
Unpacking libpython3-stdlib:i386 (from .../libpython3-stdlib_3.3.2-16_i386.deb) ...
Selecting previously unselected package dh-python.
Unpacking dh-python (from .../dh-python_1.20130913-1_all.deb) ...
Processing triggers for man-db ...
(Reading database ... 20587 files and directories currently installed.)
Removing python3.2 ...
Removing libffi5:i386 ...
Removing python3.2-minimal ...
Processing triggers for man-db ...
(Reading database ... 19815 files and directories currently installed.)
Preparing to replace python3-gnupg 0.3.0-1.1 (using .../python3-gnupg_0.3.5-2+swp_all.deb) ...
Unpacking replacement python3-gnupg ...
Setting up libc-dev-bin (2.17-92+b1) ...
Setting up libc6-dev:i386 (2.17-92+b1) ...
Setting up libpython3.3-minimal (3.3.2-5) ...
Setting up python3.3-minimal (3.3.2-5) ...
Setting up libffi6:i386 (3.0.13-4) ...
Setting up libpython3.3-stdlib (3.3.2-5) ...
Setting up python3.3 (3.3.2-5) ...
Setting up python3-minimal (3.3.2-16) ...
Setting up libpython3-stdlib:i386 (3.3.2-16) ...
Setting up python3 (3.3.2-16) ...
Setting up dh-python (1.20130913-1) ...
Setting up python3-gnupg (0.3.5-2+swp) ...
Current status: 149 updates [-6].
(wheezy[cow.25887])root@huma:/# apt-cache show !$
apt-cache show python3-gnupg
Package: python3-gnupg
Source: python-gnupg
Version: 0.3.5-2+swp
Architecture: all
Maintainer: Elena Grandi <elena.valhalla@gmail.com>
Installed-Size: 85
Depends: python3 (>= 3.1), python3:any (>= 3.3.2), gnupg
Filename: ./python3-gnupg_0.3.5-2+swp_all.deb
Size: 14312
MD5sum: 95bf7abd2153a9b900654e7f815c1d05
SHA1: fd9c6a4edba63b8da69bea0b792ffc2903c54724
SHA256: db2b7238272e5a2fca4eb05aaa07008c6a19b8e31c8849ddbf556defd0643c08
Section: python
Priority: optional
Homepage: http://code.google.com/p/python-gnupg/
Description-en: Python wrapper for the Gnu Privacy Guard (Python 3.x)
Python-GnuPG allows easy and well-documented access to basic GnuPG
functionality such as generating and managing keys, encrypting and
decrypting data, signing and verifying messages.
.
This package provides Python 3.x version of python-gnupg.
Package: python3-gnupg
Source: python-gnupg
Version: 0.3.5-2
Installed-Size: 85
Maintainer: Elena Grandi <elena.valhalla@gmail.com>
Architecture: all
Depends: python3 (>= 3.1), python3:any (>= 3.2.3-3~), gnupg
Description-en: Python wrapper for the Gnu Privacy Guard (Python 3.x)
Python-GnuPG allows easy and well-documented access to basic GnuPG
functionality such as generating and managing keys, encrypting and
decrypting data, signing and verifying messages.
.
This package provides Python 3.x version of python-gnupg.
Homepage: http://code.google.com/p/python-gnupg/
Description-md5: 090e2a4e40e2dd33c69008e104f768cc
Tag: implemented-in::python, security::cryptography
Section: python
Priority: optional
Filename: pool/main/p/python-gnupg/python3-gnupg_0.3.5-2_all.deb
Size: 14304
MD5sum: 66be804d679017d91663021e01f845b4
SHA1: bdf191bc09f8348dd3a028259972ce17134a7b26
SHA256: 75b50d06e777b817c72aa5d2de66d09991a2e9beb9eba37e280339c76f24d354
--- End Message ---
--- Begin Message ---
Source: apt
Source-Version: 0.9.12
We believe that the bug you reported is fixed in the latest version of
apt, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 723586@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Michael Vogt <mvo@debian.org> (supplier of updated apt package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.8
Date: Wed, 09 Oct 2013 22:39:41 +0200
Source: apt
Binary: apt libapt-pkg4.12 libapt-inst1.5 apt-doc libapt-pkg-dev libapt-pkg-doc apt-utils apt-transport-https
Architecture: source all amd64
Version: 0.9.12
Distribution: unstable
Urgency: low
Maintainer: APT Development Team <deity@lists.debian.org>
Changed-By: Michael Vogt <mvo@debian.org>
Description:
apt - commandline package manager
apt-doc - documentation for APT
apt-transport-https - https download transport for APT
apt-utils - package management related utility programs
libapt-inst1.5 - deb package format runtime library
libapt-pkg-dev - development files for APT's libapt-pkg and libapt-inst
libapt-pkg-doc - documentation for APT development
libapt-pkg4.12 - package management runtime library
Closes: 617643 617690 667699 710924 722207 722710 723586 724073 724995 725483
Changes:
apt (0.9.12) unstable; urgency=low
.
[ Christian Perrier ]
* Fix typo in apt-private/private-show.cc. Thanks to Benjamin
Keresa. Closes: #724073
.
[ Mark Hymers ]
* fix libapt-inst for >2G debs (closes: #725483)
.
[ David Kalnischkies ]
* don't strip :any from dependencies in single-arch (Closes: 723586)
* pkg from only trusted sources keeps being trusted (Closes: 617690)
* compression-neutral message for missing data.tar member (Closes: 722710)
* print-uris prints regardless of quiet-level again (Closes: 722207)
* retry without partial data after a 416 response (Closes: 710924)
* replace "filesize - 1" trick in http with proper 416 handling
* fix partial (206 and 416) support in https
* handle complete responses to https range requests (Closes: 617643, 667699)
(LP: 1157943)
* don't consider holds for autoremoval (Closes: 724995)
* put fetch errors in 'source' on our errorstack
* use pkgAcqArchive in 'download' for proper errors
* fix lzma-support detection via xz binary
* do not ++ on erased package pointers in autoremove
.
[ Michael Vogt ]
* Add new "apt-get upgrade --with-new-pkgs" option (and add man-page for it).
So "apt-get upgrade --with-new-pkgs" will pull in new dependencies but
never remove packages
* Rename "--dpkg-progress" to "--show-progress" and document it in
apt-get.8. This will show global install progress information in the
terminal.
* Fix status-fd progress calculation for certain multi-arch install/upgrade
situations
* add new -o DpkgPM::Progress-Fancy for nicer dpkg progress output
on vt100+ terminals
* fix libapt-inst for >2G debs (closes: #725483), thanks to Mark Hymers
* debian/apt.postinst: use --compare-versions lt instead of lt-nl,
to ensure the apt-auto-removal file is correctly create,
thanks to Ben Hutchings
* update Uploaders to match recent uploaders better
* Set the default "Acquire::PDiffs::FileLimit" to 20. If the amount
of pdiffs is bigger things tend to get slower. Set
Acquire::PDiffs::FileLimit "0";
in /etc/apt/apt.conf to get the old behavior back.
Checksums-Sha1:
f30d3d9a0d4ebfb020f041c25ac949eb245de582 1609 apt_0.9.12.dsc
2224fad62772ef680a69357c502f591497661260 3419550 apt_0.9.12.tar.gz
eecd0f1cb9548d12e20ea90e745dea7669542971 266314 apt-doc_0.9.12_all.deb
2696057cabfc260de12f03fc449663e5151d8bce 555266 libapt-pkg-doc_0.9.12_all.deb
0181c031db98b81923d0ab9cf7fdfc83b1e2f0f3 718538 libapt-pkg4.12_0.9.12_amd64.deb
760c0684d431cd56bcba3d8fba39bfcf2c162428 157690 libapt-inst1.5_0.9.12_amd64.deb
cf5f9f98cb3f7a91046737986893ba457e5ef047 1046148 apt_0.9.12_amd64.deb
dd88ce5ba4490dcb6eca49aa3fc67ddcbf44a0aa 179468 libapt-pkg-dev_0.9.12_amd64.deb
ec3b2bc19f2b2f440b16bcd0bdcc2c952b0f7a6b 345404 apt-utils_0.9.12_amd64.deb
bb59de5c0700e00fc96b524419c3a36e6cccc38e 124516 apt-transport-https_0.9.12_amd64.deb
Checksums-Sha256:
78f24fd16bf6c254c23e19f53b83710d8839808d1090c327c2b32b5045c8a467 1609 apt_0.9.12.dsc
513f3601229973dd50cba8d8f15dc1cf132055ffb1c719392d6a24625ccb83b7 3419550 apt_0.9.12.tar.gz
7face62fa792b822d1343e1200e30db234250f737aab66231fab541cd23adf31 266314 apt-doc_0.9.12_all.deb
605a91c4501520140bc3115264b7c80c1c142de8fb97f52c1c3c303e783cd44f 555266 libapt-pkg-doc_0.9.12_all.deb
ec9c773acb5db60a2d1967e052c2a2a1a421712fef86f2b79f8694c4e05c4357 718538 libapt-pkg4.12_0.9.12_amd64.deb
a27cf901e23add6e7dd36366c4dcedb2a722f51e8597ae022032213ade6e5626 157690 libapt-inst1.5_0.9.12_amd64.deb
b15111fa0f182441fb7a4618964e690f70b1cd313fc81b18b9354de3153eaf9b 1046148 apt_0.9.12_amd64.deb
c5158266624c96d73a90256e145e7301a45eb830d68d77025bb15245c4f2e412 179468 libapt-pkg-dev_0.9.12_amd64.deb
43c1fcf32fe3b6fca479fce4d45b138df95d91e0cc33440c813a51124cad3762 345404 apt-utils_0.9.12_amd64.deb
35dec3a27c91d249227f780164823f33f10d0e3175d7315bc0d7b7cae3bb7250 124516 apt-transport-https_0.9.12_amd64.deb
Files:
312e8d9df65d80b4bef2a8ec14a88054 1609 admin important apt_0.9.12.dsc
0dbe02d0054d0886d6f21586bb84c8fb 3419550 admin important apt_0.9.12.tar.gz
638d20811f837847c438bdb784757d56 266314 doc optional apt-doc_0.9.12_all.deb
1b6e1c2d85e48c2552156a5264f63d65 555266 doc optional libapt-pkg-doc_0.9.12_all.deb
c8dda7aea9305c969db4f0cc57372c77 718538 libs important libapt-pkg4.12_0.9.12_amd64.deb
7b2273106d08b906fb41e4c47dfdaf3b 157690 libs important libapt-inst1.5_0.9.12_amd64.deb
668965baa0d2dc197ef08e7bf5a9995b 1046148 admin important apt_0.9.12_amd64.deb
adf956bc624f31f5c0ae002896137460 179468 libdevel optional libapt-pkg-dev_0.9.12_amd64.deb
a5562bba051294a97652e756364d1028 345404 admin important apt-utils_0.9.12_amd64.deb
237639eabd7b9adb206b023dd455c877 124516 admin optional apt-transport-https_0.9.12_amd64.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.15 (GNU/Linux)
iEYEARECAAYFAlJVwLwACgkQliSD4VZixzRgiwCeOvrieGtTn5UYcu4VS2VFJgO6
9pEAn39VFRNyBeTa2ODwfUPsVshnskv0
=yZZr
-----END PGP SIGNATURE-----
--- End Message ---