Bug#897986: systemctl failures during dist-upgrade due to missing libcryptsetup.so.12

Michael Biebl biebl at debian.org
Sat May 5 14:21:16 BST 2018


Package: systemd
Version: 238-4
Severity: serious
File: /bin/systemctl

Today I ran a dist upgrade from stretch to to buster.

During that test I noticed several systemctl failures like the
following:

systemctl: error while loading shared libraries: libcryptsetup.so.12: cannot open shared object file: No such file or directory

A full typescript is attached as typescript.txt.

The problem afaics is that the systemd binary package in stretch and
buster has lost all Pre-Depends besides libc6 due to /bin/systemctl now
linking against libsystemd-shared and we don't include libsystemd-shared
in
override_dh_shlibdeps:
	dh_shlibdeps -psystemd -- -dPre-Depends -edebian/systemd/bin/systemctl -dDepends

See https://salsa.debian.org/systemd-team/systemd/blob/master/debian/rules#L269

Comparing the different releases, we have

jessie (215-17+deb8u7)
~~~~~~~~~~~~~~~~~~~~~~
Pre-Depends:
 libc6 (>= 2.17),
 libcrypt20 (>= 1.6.1),
 liblzma5 (>= 5.1.1alpha+20120614),
 libselinux1 (>= 1.32),

stretch (232-25+deb9u3), which introduced libsystemd-shared
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Pre-Depends:
 libc6 (>= 2.8)

buster (238-4):
~~~~~~~~~~~~~~~
Pre-Depends:
 libc6 (>= 2.8)


Adding the dependencies of libsystemd-shared to Pre-Depends did solve
the dist-upgrade failure to me. See attached typescript typescript2.txt.
The resulting list of Pre-Depends grows significantly compared to jessie
though:

Pre-Depends:
 libacl1 (>= 2.2.51-8),
 libblkid1 (>= 2.19.1),
 libc6 (>= 2.27),
 libcap2 (>= 1:2.10),
 libcryptsetup12 (>= 2:1.4),
 libgcrypt20 (>= 1.8.0),
 libidn11 (>= 1.13),
 libip4tc0 (>= 1.6.0+snapshot20161117),
 liblz4-1 (>= 0.0~r130),
 liblzma5 (>= 5.1.1alpha+20120614),
 libmount1 (>= 2.19.1),
 libseccomp2 (>= 2.3.1),
 libselinux1 (>= 2.1.9)

While I didn't run into any issues, I wonder if having such a longer
list of Pre-Depends could cause any issues for us.

I'm filing this as an RC to get some further feedback on this matter
before applying something like the attached patch.
The attached patch is also a bit too simplistic atm. We shouldn't
hard-code the upstream version number.

Regards,
Michael




-- Package-specific info:

-- System Information:
Debian Release: buster/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (200, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.16.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages systemd depends on:
ii  adduser          3.117
ii  libacl1          2.2.52-3+b1
ii  libapparmor1     2.12-4
ii  libaudit1        1:2.8.3-1
ii  libblkid1        2.31.1-0.5
ii  libc6            2.27-3
ii  libcap2          1:2.25-1.2
ii  libcryptsetup12  2:2.0.2-1
ii  libgcrypt20      1.8.2-2
ii  libgpg-error0    1.31-1
ii  libidn11         1.33-2.2
ii  libip4tc0        1.6.2-1
ii  libkmod2         25-1
ii  liblz4-1         1.8.1.2-1
ii  liblzma5         5.2.2-1.3
ii  libmount1        2.31.1-0.5
ii  libpam0g         1.1.8-3.7
ii  libseccomp2      2.3.3-1
ii  libselinux1      2.7-2+b2
ii  libsystemd0      238-4
ii  mount            2.31.1-0.5
ii  procps           2:3.3.14-1
ii  util-linux       2.31.1-0.5

Versions of packages systemd recommends:
ii  dbus            1.12.8-2
ii  libpam-systemd  238-4

Versions of packages systemd suggests:
ii  policykit-1        0.105-20
ii  systemd-container  238-4

Versions of packages systemd is related to:
pn  dracut           <none>
ii  initramfs-tools  0.130
ii  udev             238-4

-- no debconf information
-------------- next part --------------
A non-text attachment was scrubbed...
Name: typescript.txt
Type: application/octet-stream
Size: 331441 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-systemd-maintainers/attachments/20180505/d936aa08/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: typescript2.txt
Type: application/octet-stream
Size: 329563 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-systemd-maintainers/attachments/20180505/d936aa08/attachment-0003.obj>
-------------- next part --------------
diff --git a/debian/rules b/debian/rules
old mode 100755
new mode 100644
index 0b91d6b..f019a94
--- a/debian/rules
+++ b/debian/rules
@@ -269,7 +269,11 @@ override_dh_installinit:
 # quasi-essential, so add their dependencies to Pre-Depends
 # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=753589
 override_dh_shlibdeps:
-	dh_shlibdeps -psystemd -- -dPre-Depends -edebian/systemd/bin/systemctl -dDepends
+	dh_shlibdeps -psystemd -- \
+		-dPre-Depends \
+		-edebian/systemd/bin/systemctl \
+		-edebian/systemd/lib/systemd/libsystemd-shared-238.so \
+		-dDepends
 	dh_shlibdeps --remaining-packages -Lsystemd
 
 override_dh_makeshlibs:


More information about the Pkg-systemd-maintainers mailing list