[Aptitude-devel] Bug#753589: systemd: Missing dependency on glibc?

Sven Joachim svenjoac at gmx.de
Thu Jul 3 12:56:25 BST 2014


On 2014-07-03 13:22 +0200, Michael Biebl wrote:

> Am 03.07.2014 12:55, schrieb Matthias Urlichs:
>> Package: systemd
>> Version: 208-5
>> Severity: normal
>> 
>> While updating, systemd was updated before glibc.
>> 
>> Needless to say, this does not work at all.
>> 
>> # aptitude        (wd: ~)
>> Reading changelogs...
>> apt-listchanges: Mailing smurf-changes at smurf.noris.de: apt-listchanges: news for eltern
>> Extracting templates from packages: 100%
>> Preconfiguring packages ...
>> (Reading database ... 59720 files and directories currently installed.)
>> Removing homevent ...
>> Stopping homevent: Removing python-twisted-conch ...
>> Removing python-twisted-core ...
>> Removing python-zope.interface ...
>> Removing python-pkg-resources ...
>> Removing debconf-i18n ...
>> Removing fuse-utils ...
>> Processing triggers for man-db ...
>> (Reading database ... 57308 files and directories currently installed.)
>> Preparing to replace systemd-sysv 44-11+deb7u4 (using .../systemd-sysv_208-5_i386.deb) ...
>> Unpacking replacement systemd-sysv ...
>> Preparing to replace libtirpc1:i386 0.2.2-5 (using .../libtirpc1_0.2.3-1_i386.deb) ...
>> Unpacking replacement libtirpc1:i386 ...
>> Preparing to replace libgcrypt11:i386 1.5.0-5+deb7u1 (using .../libgcrypt11_1.5.3-4_i386.deb) ...
>> Unpacking replacement libgcrypt11:i386 ...
>> Preparing to replace libsystemd-daemon0:i386 204-8 (using .../libsystemd-daemon0_208-5_i386.deb) ...
>> Unpacking replacement libsystemd-daemon0:i386 ...
>> Preparing to replace libsystemd-journal0:i386 44-11+deb7u4 (using .../libsystemd-journal0_208-5_i386.deb) ...
>> Unpacking replacement libsystemd-journal0:i386 ...
>> Selecting previously unselected package libudev1:i386.
>> Unpacking libudev1:i386 (from .../libudev1_204-8_i386.deb) ...
>> Preparing to replace libsystemd-login0:i386 44-11+deb7u4 (using .../libsystemd-login0_208-5_i386.deb) ...
>> Unpacking replacement libsystemd-login0:i386 ...
>> Selecting previously unselected package acl.
>> Unpacking acl (from .../archives/acl_2.2.52-1_i386.deb) ...
>> Preparing to replace libpam-systemd:i386 44-11+deb7u4 (using .../libpam-systemd_208-5_i386.deb) ...
>> Unpacking replacement libpam-systemd:i386 ...
>> Preparing to replace systemd 44-11+deb7u4 (using .../systemd_208-5_i386.deb) ...
>> Moving obsolete conffile /etc/bash_completion.d/systemd-bash-completion.sh out of the way...
>> Unpacking replacement systemd ...
>> Processing triggers for man-db ...
>> (Reading database ... 57471 files and directories currently installed.)
>> Removing libaudit0 ...
>> Selecting previously unselected package libaudit-common.
>> (Reading database ... 57465 files and directories currently installed.)
>> Unpacking libaudit-common (from .../libaudit-common_1%3a2.3.7-1_all.deb) ...
>> Selecting previously unselected package libaudit1:i386.
>> Unpacking libaudit1:i386 (from .../libaudit1_1%3a2.3.7-1_i386.deb) ...
>> Preparing to replace nscd 2.13-38+deb7u1 (using .../archives/nscd_2.19-4_i386.deb) ...
>> /sbin/runlevel: /lib/i386-linux-gnu/i686/cmov/libc.so.6: version `GLIBC_2.17' not found (required by /sbin/runlevel)
>> /sbin/runlevel: /lib/i386-linux-gnu/i686/cmov/libc.so.6: version `GLIBC_2.14' not found (required by /sbin/runlevel)
>> /sbin/runlevel: /lib/i386-linux-gnu/i686/cmov/libc.so.6: version
>> `GLIBC_2.15' not found (required by
>> /lib/i386-linux-gnu/libgcrypt.so.11)
>> 
>
>
> systemd *does* have a versioned dependency on libc6 (>= 2.17).

This is not enough if systemd-sysv is also installed, since
/lib/systemd/systemd then becomes quasi-essential - packages are free to
assume that /sbin/runlevel works even if only unpacked and use it in
their preinst scripts.

> Is maybe aptitude doing something stupid and not updating the packages
> in the correct order?

While aptitude has its own dependency resolver, the unpacking order is
determined by libapt-pkg AFAIK.

> I fail to see how this is a bug in systemd.

It probably needs to use Pre-Depends to ensure that it's working during
upgrades.  Note that the same holds also for sysvinit-core, although it
is currently less likely to hit the bug (it has "Priority: required" and
does not exist in wheezy).

See also #702524 for a similar issue in gawk.

Cheers,
       Sven



More information about the Aptitude-devel mailing list