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

Bug#589996: Insane dependency on apt causes kernel to be removed on update



Package: linux-base
Version: 2.6.32-17
Severity: important

Hi,

in the linux-image packages there is now a dependency chain from
linux-image-2.6... -> linux-base -> libapt-pkg-perl ->
libapt-pkg-libc6.9-6-4.8. Which is the virtual package provided by apt
to signal the ABI of its library and binary caches. In effect the
kernels are locked to a specific ABI version of apt. The problem is
that the ABI changes from time to time and every time it does an
update of apt will now remove the kernel for the duration of the
transition. For an example try installing apt from experimental.

Well, that is life you might say. That is what is called a library
transition.

But here comes the insane part. The 1637 line long perl postinst
script of linux-base only depends on apt because of this code at the
end:

sub compare_versions {
    return $AptPkg::Config::_config->system->versioning->compare(@_);
}

    if ($ARGV[0] eq 'reconfigure' || defined($ENV{DEBCONF_RECONFIGURE}) ||
        (!is_fresh_installation() &&
         compare_versions($ARGV[1], $libata_transition_ver) < 0)) {
        DebianKernel::DiskId::transition();
    }


Could I suggest replacing this with a call to

  system('dpkg', '--compare-versions', $ARGV[1], '>>', $libata_transition_ver)

That way the dependency on apt can be droped completly.

MfG
	Goswin

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.31.6-xen-2010.02.18 (SMP w/4 CPU cores)
Locale: LANG=C, LC_CTYPE=de_DE (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/dash

Versions of packages linux-base depends on:
ii  debconf [debconf-2.0]         1.5.32     Debian configuration management sy
ii  libapt-pkg-perl               0.1.24     Perl interface to libapt-pkg
ii  libuuid-perl                  0.02-3+b1  Perl extension for using UUID inte
ii  udev                          157-1      /dev/ and hotplug management daemo
ii  util-linux                    2.17.2-3   Miscellaneous system utilities

linux-base recommends no packages.

linux-base suggests no packages.

-- debconf information excluded



Reply to: