Bug#968300: doesn't build without real root

Marc Haber mh+debian-packages at zugschlus.de
Wed Aug 12 15:11:10 BST 2020

Package: systemd
Version: 241-7~deb10u4.1+0~zgSID+1
Severity: serious
Tags: ftbfs
Justification: [buster] fails to build from source


I am trying to do a local build of systemd 241 on buster to fix the
capabilities issue (#964026). In this process, I have found out that
systemd does need "real root" when building and is neiter satisfied with
a non-root build nor with fakeroot:

(build tail after dpkd-buildpackage)
mv debian/systemd/lib/systemd/system/tmp.mount debian/systemd/usr/share/systemd/
printf '\n[Install]\nWantedBy=local-fs.target\n' >> debian/systemd/usr/share/systemd/tmp.mount
rm debian/systemd/lib/systemd/system/local-fs.target.wants/tmp.mount
# files shipped by cryptsetup
rm debian/systemd/usr/share/man/man5/crypttab.5
# files shipped by systemd
rm debian/udev/lib/udev/rules.d/70-uaccess.rules
rm debian/udev/lib/udev/rules.d/73-seat-late.rules
rm debian/udev/lib/udev/rules.d/71-seat.rules
rm debian/udev/lib/udev/rules.d/99-systemd.rules
# remove duplicate files shipped by systemd-*/udev
echo "Removing duplicate files in systemd package:"
Removing duplicate files in systemd package:
set -e; for pkg in systemd-sysv systemd-container systemd-journal-remote systemd-coredump systemd-tests libpam-systemd libnss-myhostname libnss-mymachines libnss-resolve libnss-systemd libsystemd0 libsystemd-dev udev libudev1 libudev-dev; do \
        echo "... from $pkg..."; \
        (cd debian/$pkg; find -type f -o -type l) | (cd debian/systemd; xargs rm -f --verbose); \
        (cd debian/$pkg; find -mindepth 1 -type d | sort -r) | (cd debian/systemd; xargs rmdir --ignore-fail-on-non-empty --verbose || true); \
... from systemd-sysv...
rm: cannot remove '/srv/mh/systemd/systemd-241/debian/systemd-sysv': Is a directory
removed './usr/share/man/man1/init.1'
removed './usr/share/man/man8/telinit.8'
removed './usr/share/man/man8/poweroff.8'
removed './usr/share/man/man8/halt.8'
removed './usr/share/man/man8/shutdown.8'
removed './usr/share/man/man8/runlevel.8'
removed './usr/share/man/man8/reboot.8'
make[1]: *** [debian/rules:244: override_dh_install] Error 123
make[1]: Leaving directory '/srv/mh/systemd/systemd-241'
make: *** [debian/rules:305: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

Same error happens with dpkg-buildpackage -rfakeroot. only
dpkg-buildpakcage -rsudo runs beyond this place to fail in the test

In my understanding of "rules-requires-root: no", the packages should
build even without fakeroot.

I currently cannot verify with the software in unstable since the build
on unstable fails way earlier.

How would I build stable systemd on Debian stable?


-- Package-specific info:

-- System Information:
Debian Release: 10.5
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 5.8.0-zgsrv20080 (SMP w/2 CPU cores; PREEMPT)
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8), LANGUAGE=en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages systemd depends on:
ii  adduser          3.118
ii  libacl1          2.2.53-4
ii  libapparmor1     2.13.2-10
ii  libaudit1        1:2.8.4-3
ii  libblkid1        2.33.1-0.1
ii  libc6            2.28-10
ii  libcap2          1:2.25-2
ii  libcryptsetup12  2:2.1.0-5+deb10u2
ii  libgcrypt20      1.8.4-5
ii  libgnutls30      3.6.7-4+deb10u5
ii  libgpg-error0    1.35-1
ii  libidn11         1.33-2.2
ii  libip4tc0        1.8.2-4
ii  libkmod2         26-1
ii  liblz4-1         1.8.3-1
ii  liblzma5         5.2.4-1
ii  libmount1        2.33.1-0.1
ii  libpam0g         1.3.1-5
ii  libseccomp2      2.3.3-4
ii  libselinux1      2.8-1+b1
ii  libsystemd0      241-7~deb10u4.1+0~zgSID+1
ii  mount            2.33.1-0.1
ii  util-linux       2.33.1-0.1

Versions of packages systemd recommends:
ii  dbus            1.12.20-0+deb10u1
ii  libpam-systemd  241-7~deb10u4.1+0~zgSID+1

Versions of packages systemd suggests:
pn  policykit-1        <none>
pn  systemd-container  <none>

Versions of packages systemd is related to:
pn  dracut           <none>
ii  initramfs-tools  0.133+deb10u1
ii  udev             241-7~deb10u4

-- no debconf information

More information about the Pkg-systemd-maintainers mailing list