Bug#138721: Pin entries in /etc/apt/preferences cause `apt-get dist-upgrade` to newly install seemingly totally unrelated packages
Package: apt
Version: 0.5.4
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On a system, I'm running Debian Linux Testing (AKA Woody). I also have
some IPv6-enabled packages installed via some additional lines in my
/etc/apt/sources.list, which is:
| # Main Debian Sources:
| deb http://ftp2.de.debian.org/debian/ testing main non-free contrib
| deb http://ftp2.de.debian.org/debian-non-US/ testing/non-US main
contrib non-free
| deb http://security.debian.org/ stable/updates main contrib non-free
|
| # IPv6 Sources:
| deb http://www14.u-page.so-net.ne.jp/db3/h-yamamo/ipv6/debian/ woody/
| deb http://people.debian.org/~kitame/ipv6/ ipv6 unstable
|
| # Source Package Sources:
| deb-src http://ftp2.de.debian.org/debian/ testing main non-free contrib
| deb-src http://ftp2.de.debian.org/debian-non-US/ testing/non-US main
contrib non-free
Now, I recently ran into some weird apt-get behavior that I'm unable
to explain.
Initially, I had installed an IPv6-enabled "apache" package with the
version number "1.3.22-ipv6.20011017.2". Everything worked fine.
Then, a new, non-IPv6-enabled "apache" package with the version number
"1.3.23-1" was released. To keep apt-get from replacing my (older)
IPv6-enabled Apache 1.3.22-ipv6.20011017.2 by the (newer) non-IPv6-
enabled Apache 1.3.23-1, I created a /etc/apt/preferences file with
the following contents:
| Package: *
| Pin: release o=h-yamamo-IPv6-Debian
| Pin-Priority: 989
|
| Package: apache
| Pin: version 1.3.22-ipv6.20011017.2
|
| Package: apache-common
| Pin: version 1.3.22-ipv6.20011017.2
|
| Package: apache-doc
| Pin: version 1.3.22-ipv6.20011017.2
So, apt-get correctly desisted from replacing my IPv6-enabled Apache.
Everyting worked fine.
A few days ago, my routine `apt-get dist-upgrade` suddenly said:
| The following NEW packages will be installed:
| libdevel-symdump-perl libdigest-md5-perl libhtml-parser-perl
| libhtml-tagset-perl libhtml-tree-perl libmime-base64-perl
| libnet-perl liburi-perl libwww-perl
| The following packages have been kept back
| libapache-mod-ssl
| The following packages will be upgraded
| doc-linux-text host libfreetype6 librecode0 makedev modconf
| recode recode-doc reportbug whois zlib1g
| 11 packages upgraded, 9 newly installed, 0 to remove and 1 not
| upgraded.
apt-get wanted to install 9 *new*, (AFAICT) totally unrelated packages.
I checked the reverse dependencies of these 9 packages, and the
forward dependencies of the held-back and to-be-upgraded packages,
but nothing pointed at any one of the 9 to-be-newly-installed packages!
Then, I found out that an IPv6-enabled 1.3.23 Apache had also been
released ("1.3.23-ipv6.20011123.1"), so the three Apache-related Pin
entries in /etc/apt/preferences had become obsolete. So, I changed
/etc/apt/preferences to:
| Package: *
| Pin: release o=h-yamamo-IPv6-Debian
| Pin-Priority: 989
and re-ran `apt-get dist-upgrade`:
| The following packages will be upgraded
| apache apache-common apache-doc doc-linux-text host
| libapache-mod-ssl libfreetype6 librecode0 makedev modconf recode
| recode-doc reportbug whois zlib1g
| 15 packages upgraded, 0 newly installed, 0 to remove and 0 not
| upgraded.
Now, apt-get no longer tried to install the 9 new packages mentioned
above. I think that *this* is the correct behavior.
But *what* in the world made apt-get wanting to install these 9
packages in the first place? I think this is a bug!
Regards,
Julian Mehnle.
PS: As suggested on the Debian Bug Tracking Instruction page, I include
some information about my kernel and libc as well:
| io:~> uname -a
| Linux io 2.4.17-ipv6 #2 Sun Dec 23 03:42:20 CET 2001 i586 unknown
| io:~> dpkg -s libc6 | grep ^Version
| Version: 2.2.5-3
-----BEGIN PGP SIGNATURE-----
Version: PGP 6.5.8
Comment: Get my PGP public key at <http://www.mehnle.net/about>.
iQA/AwUBPJRUOsC+zypQWVo7EQJeIgCgggxmC9WMx/4+ynELPX+CZexYl5YAoJzF
hVP9TpgufhAfZ4mRN9baw021
=//vZ
-----END PGP SIGNATURE-----
Reply to: