Your message dated Wed, 12 Aug 2020 21:56:22 +0200
with message-id <[email protected]>
and subject line Re: Bug#968300: doesn't build without real root
has caused the Debian Bug report #968300,
regarding doesn't build without real root
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
968300: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=968300
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: systemd
Version: 241-7~deb10u4.1+0~zgSID+1
Severity: serious
Tags: ftbfs
Justification: [buster] fails to build from source

Hi,

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); \
done
... from systemd-sysv...
/srv/mh/systemd/systemd-241/debian/systemd
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
suite.

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?

Greetings
Marc

-- 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

--- End Message ---
--- Begin Message ---
On Wed, 2020-08-12 at 16:11 +0200, Marc Haber wrote:
> 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); \
> done
> ... from systemd-sysv...
> /srv/mh/systemd/systemd-241/debian/systemd
> rm: cannot remove '/srv/mh/systemd/systemd-241/debian/systemd-sysv': Is a 
> directory
> removed './usr/share/man/man1/init.1'

After some discussion on IRC it was found out that the CDPATH
environment variable was set which causes "cd debian/$pkg" to write the
directory name to stdout which was then picked up by "xargs rm".
(Thanks to Jakub Wilk.)

This could be worked around by always using "cd whatever >/dev/null",
but I think it is fair to not support this, just like many packages
will likely fail to build in locations such as "/tmp/$(echo I 'love'
shell meta characters)". Therefore I'm closing the bug.

Ansgar

--- End Message ---

Reply via email to