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

Re: holding packages



>>>>> "Martin" == Martin Bialasinski <martin@internet-treff.uni-koeln.de> writes:
    >> No, it if you run apt, it does the hold, before dpkg even sees
    >> the package.

    Martin> What do you mean with "run apt"?

I thought this would be obvious, but will spell it out.

No packages on hold:

snoopy:~# apt-get -s upgrade
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages have been kept back
  aalib1 apt-move bsdutils e2fsprogs gq gtkhtml iptables ksymoops
  ldap-gateways ldap-utils libbonobo-dev libgtkhtml-dev libldap2 libnss-ldap
  liboaf-dev liboaf0 liborbitcpp-dev liborbitcpp0 libpam-ldap
  libsasl-modules-nonus libsasl7 modutils mount postfix-tls reiserfsprogs
  rproxy slapd tkstep8.0 tripwire util-linux 
4 packages upgraded, 0 newly installed, 0 to remove and 30  not upgraded.
Inst libhsync0 (0.5.7-1 Debian:unstable)
Inst libhsync-dev (0.5.7-1 Debian:unstable)
Inst libsasl-dev (1.5.24-5 Debian:unstable)
Inst libldap2-dev (2.0.7-2 Debian:unstable)
Conf libhsync0 (0.5.7-1 Debian:unstable)
Conf libhsync-dev (0.5.7-1 Debian:unstable)
Conf libsasl-dev (1.5.24-5 Debian:unstable)
Conf libldap2-dev (2.0.7-2 Debian:unstable)

Some packages on hold:

snoopy:~# echo "libhsync0 hold" | dpkg --set-selections
snoopy:~# echo "libhsync-dev hold" | dpkg --set-selections
snoopy:~# echo "libhsasl-dev hold" | dpkg --set-selections
snoopy:~# echo "libldap2-dev hold" | dpkg --set-selections

snoopy:~# apt-get -s upgrade
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages have been kept back
  aalib1 apt-move bsdutils e2fsprogs gq gtkhtml iptables ksymoops
  ldap-gateways ldap-utils libbonobo-dev libgtkhtml-dev libhsync-dev libhsync0
  libldap2 libldap2-dev libnss-ldap liboaf-dev liboaf0 liborbitcpp-dev
  liborbitcpp0 libpam-ldap libsasl-modules-nonus libsasl7 modutils mount
  postfix-tls reiserfsprogs rproxy slapd tkstep8.0 tripwire util-linux 
1 packages upgraded, 0 newly installed, 0 to remove and 33  not upgraded.
Inst libsasl-dev (1.5.24-5 Debian:unstable)
Conf libsasl-dev (1.5.24-5 Debian:unstable)

(Only thing is, I think I may have just messed up my status file,
because I meant to say libsasl-dev, not libhsasl-dev. Ooops!).

See what I mean? apt-get processes the hold before dpkg even sees it.

    Martin> When is a package on "hold", and how do you set a package
    Martin> on hold?

    Martin> A package is on status "hold" for apt _and_ dpkg, when the
    Martin> "hold" status is set in /var/lib/dpkg/status.

    Martin> apt-get *can not* set this status.

No, nor did I even say that.

apt-get processes the status, that is set by dpkg, in an internal dpkg
file.

So, as I was saying before, it is obvious that split between apt and
dpkg is messed up[1], partly because my guess is apt-get directly
refers to /var/lib/dpkg/status to find this hold information, which I
consider should be private to dpkg.

Note:
[1] I would confirm this with strace, but have to find out why dpkg has
crashed in kernel mode first... Yuck 2.4.2 seems to be rather buggy
in this regard :-(
-- 
Brian May <bam@debian.org>



Reply to: