Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apparent ABI change following 4a56315a990b path: use ROOTPREFIX properly #16773

Closed
akiernan opened this issue Aug 18, 2020 · 2 comments · Fixed by #17009
Closed

Apparent ABI change following 4a56315a990b path: use ROOTPREFIX properly #16773

akiernan opened this issue Aug 18, 2020 · 2 comments · Fixed by #17009
Milestone

Comments

@akiernan
Copy link

systemd version the issue has been seen with

v246

Used distribution

Yocto Poky

Expected behaviour you didn't see

sysusers_dir, sysctl_dir, binfmt_dir, modules_load_dir reference directories in /usr/lib

Unexpected behaviour you saw

sysusers_dir, sysctl_dir, binfmt_dir, modules_load_dir reference directories in /lib - this appears to be a change in the ABI from v245 when split-usr is enabled

Steps to reproduce the problem

Build with split-usr enabled, the paths are then:

root@qemux86-64:~# systemd-path sysusers sysctl modules-load
//lib/sysusers.d
//lib/sysctl.d
//lib/modules-load.d

This appears to be a result of 4a56315 path: use ROOTPREFIX properly

Full configuration:

Message: systemd 246
         split /usr:                        true
         split bin-sbin:                    true
         prefix directory:                  /usr
         rootprefix directory:              /
         sysconf directory:                 /etc
         include directory:                 /usr/include
         lib directory:                     /usr/lib
         rootlib directory:                 /lib
         SysV init scripts:                 /etc/init.d
         SysV rc?.d directories:            /etc
         PAM modules directory:             /lib/security
         PAM configuration directory:       /etc/pam.d
         RPM macros directory:              /usr/lib/rpm/macros.d
         modprobe.d directory:              /lib/modprobe.d
         D-Bus policy directory:            /usr/share/dbus-1/system.d
         D-Bus session directory:           /usr/share/dbus-1/services
         D-Bus system directory:            /usr/share/dbus-1/system-services
         bash completions directory:        /usr/share/bash-completion/completions
         zsh completions directory:         /usr/share/zsh/site-functions
         extra start script:                /etc/rc.local
         debug shell:                       /bin/sh @ /dev/tty9
         TTY GID:                           5
         users GID:                         -
         maximum system UID:                999
         maximum system GID:                999
         minimum dynamic UID:               61184
         maximum dynamic UID:               65519
         minimum container UID base:        524288
         maximum container UID base:        1878982656
         /dev/kvm access mode:              0666
         render group access mode:          0666
         certificate root directory:        /etc/ssl
         support URL:                       https://lists.freedesktop.org/mailman/listinfo/systemd-devel
         nobody user name:                  nobody
         nobody group name:                 nobody
         fallback hostname:                 localhost
         symbolic gateway hostnames:        _gateway
         default DNSSEC mode:               no
         default DNS-over-TLS mode:         no
         default mDNS mode:                 yes
         default LLMNR mode:                yes
         default cgroup hierarchy:          hybrid
         default net.naming-scheme setting: latest
         default KillUserProcesses setting: true
         default locale:                    C
         default user $PATH:                (same as system services)
         systemd service watchdog:          3min
         default DNS servers:               1.1.1.1
                                            8.8.8.8
                                            1.0.0.1
                                            8.8.4.4
                                            2606:4700:4700::1111
                                            2001:4860:4860::8888
                                            2606:4700:4700::1001
                                            2001:4860:4860::8844
         default NTP servers:               time1.google.com
                                            time2.google.com
                                            time3.google.com
                                            time4.google.com
         time epoch:                        1596812993 (2020-08-07T15:09:53+00:00)
         static libsystemd:                 false
         static libudev:                    false

         enabled features: libfdisk, IMA, xz, ACL, idn, initrd, binfmt, vconsole, quotacheck, tmpfiles, environment.d, sysusers, randomseed, backlight, rfkill, xdg-autostart, logind, machined, userdb, hostnamed, timedated, timesyncd, localed, networkd, resolve, pstore, kmod, xkbcommon, blkid, nss-myhostname, nss-mymachines, nss-resolve, nss-systemd, hwdb, tpm, SysV compat, utmp, ldconfig, hibernate, adm group, wheel group, gshadow, link-systemctl-shared, link-networkd-shared, link-timesyncd-shared, kernel-install, systemd-analyze

         disabled features: libcryptsetup, PAM, pwquality, p11kit, libfido2, AUDIT, AppArmor, SELinux, SECCOMP, SMACK, zlib, zstd, lz4, bzip2, gcrypt, qrencode, microhttpd, gnutls, openssl, libcurl, libidn2, libidn, libiptc, elfutils, repart, firstboot, portabled, homed, importd, DNS-over-TLS(gnutls), DNS-over-TLS(openssl), coredump, polkit, legacy pkla, efi, gnu-efi, pcre2, dbus, glib, man pages, html pages, man page indices, debug hashmap, debug mmap cache, debug siphash, valgrind, trace logging, install tests, link-udev-shared
halstead pushed a commit to openembedded/openembedded-core that referenced this issue Aug 20, 2020
Following 4a56315a990b ("path: use ROOTPREFIX properly"), the paths to
sysusers.d, sysctl.d binfmt.d and modules-load.d changed to /lib when
building without usrmerge, which aoppears to be an inadvertent ABI
change. Undo this change and track upstream:

  systemd/systemd#16773

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
kraj pushed a commit to YoeDistro/poky-old that referenced this issue Aug 20, 2020
Following 4a56315a990b ("path: use ROOTPREFIX properly"), the paths to
sysusers.d, sysctl.d binfmt.d and modules-load.d changed to /lib when
building without usrmerge, which aoppears to be an inadvertent ABI
change. Undo this change and track upstream:

  systemd/systemd#16773

(From OE-Core rev: e9da903f1c5cc84aae190d5053253729f370bc53)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
kraj pushed a commit to YoeDistro/openembedded-core that referenced this issue Aug 20, 2020
Following 4a56315a990b ("path: use ROOTPREFIX properly"), the paths to
sysusers.d, sysctl.d binfmt.d and modules-load.d changed to /lib when
building without usrmerge, which aoppears to be an inadvertent ABI
change. Undo this change and track upstream:

  systemd/systemd#16773

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
kraj pushed a commit to YoeDistro/poky-old that referenced this issue Aug 20, 2020
Following 4a56315a990b ("path: use ROOTPREFIX properly"), the paths to
sysusers.d, sysctl.d binfmt.d and modules-load.d changed to /lib when
building without usrmerge, which aoppears to be an inadvertent ABI
change. Undo this change and track upstream:

  systemd/systemd#16773

(From OE-Core rev: e9da903f1c5cc84aae190d5053253729f370bc53)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
kraj pushed a commit to YoeDistro/openembedded-core that referenced this issue Aug 20, 2020
Following 4a56315a990b ("path: use ROOTPREFIX properly"), the paths to
sysusers.d, sysctl.d binfmt.d and modules-load.d changed to /lib when
building without usrmerge, which aoppears to be an inadvertent ABI
change. Undo this change and track upstream:

  systemd/systemd#16773

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
github-actions bot pushed a commit to hexagon-geo-surv/poky that referenced this issue Aug 21, 2020
Following 4a56315a990b ("path: use ROOTPREFIX properly"), the paths to
sysusers.d, sysctl.d binfmt.d and modules-load.d changed to /lib when
building without usrmerge, which aoppears to be an inadvertent ABI
change. Undo this change and track upstream:

  systemd/systemd#16773

(From OE-Core rev: e9da903f1c5cc84aae190d5053253729f370bc53)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
kraj pushed a commit to YoeDistro/openembedded-core that referenced this issue Aug 21, 2020
Following 4a56315a990b ("path: use ROOTPREFIX properly"), the paths to
sysusers.d, sysctl.d binfmt.d and modules-load.d changed to /lib when
building without usrmerge, which aoppears to be an inadvertent ABI
change. Undo this change and track upstream:

  systemd/systemd#16773

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
github-actions bot pushed a commit to hexagon-geo-surv/poky that referenced this issue Aug 21, 2020
Following 4a56315a990b ("path: use ROOTPREFIX properly"), the paths to
sysusers.d, sysctl.d binfmt.d and modules-load.d changed to /lib when
building without usrmerge, which aoppears to be an inadvertent ABI
change. Undo this change and track upstream:

  systemd/systemd#16773

(From OE-Core rev: e9da903f1c5cc84aae190d5053253729f370bc53)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
halstead pushed a commit to openembedded/openembedded-core that referenced this issue Aug 21, 2020
Following 4a56315a990b ("path: use ROOTPREFIX properly"), the paths to
sysusers.d, sysctl.d binfmt.d and modules-load.d changed to /lib when
building without usrmerge, which aoppears to be an inadvertent ABI
change. Undo this change and track upstream:

  systemd/systemd#16773

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
jpuhlman pushed a commit to MontaVista-OpenSourceTechnology/poky that referenced this issue Aug 21, 2020
Following 4a56315a990b ("path: use ROOTPREFIX properly"), the paths to
sysusers.d, sysctl.d binfmt.d and modules-load.d changed to /lib when
building without usrmerge, which aoppears to be an inadvertent ABI
change. Undo this change and track upstream:

  systemd/systemd#16773

(From OE-Core rev: a2b68ba14fb97349d3ebc71e5ca96a340aec243e)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
@poettering
Copy link
Member

christ, this is terrible...

@poettering poettering added this to the v247 milestone Aug 28, 2020
poettering added a commit to poettering/systemd that referenced this issue Sep 10, 2020
We already have rootprefix_noslash as meson variable, export it so that
we can also use it in C code.

Fixes: systemd#16773
poettering added a commit to poettering/systemd that referenced this issue Sep 11, 2020
We already have rootprefix_noslash as meson variable, export it so that
we can also use it in C code.

Fixes: systemd#16773
@shr-project
Copy link
Contributor

shr-project commented Sep 27, 2020

@poettering Isn't there still inconsistency in modules-load.d directory?

Since this "4a56315a990b path: use ROOTPREFIX properly" commit systemd.pc uses rootprefix instead of prefix:
-modules_load_dir=${prefix}/lib/modules-load.d
+modules_load_dir=${rootprefix}/lib/modules-load.d

but meson.build still uses prefixdir:
modulesloaddir = join_paths(prefixdir, 'lib/modules-load.d')

peckato1 pushed a commit to peckato1/systemd that referenced this issue Oct 1, 2020
We already have rootprefix_noslash as meson variable, export it so that
we can also use it in C code.

Fixes: systemd#16773
(cherry picked from commit b612c26)
ssahani pushed a commit to ssahani/systemd that referenced this issue Oct 5, 2020
We already have rootprefix_noslash as meson variable, export it so that
we can also use it in C code.

Fixes: systemd#16773
ssahani pushed a commit to ssahani/systemd that referenced this issue Oct 5, 2020
We already have rootprefix_noslash as meson variable, export it so that
we can also use it in C code.

Fixes: systemd#16773
tunayan pushed a commit to tunayan/poky-mirror that referenced this issue Aug 2, 2023
Following 4a56315a990b ("path: use ROOTPREFIX properly"), the paths to
sysusers.d, sysctl.d binfmt.d and modules-load.d changed to /lib when
building without usrmerge, which aoppears to be an inadvertent ABI
change. Undo this change and track upstream:

  systemd/systemd#16773

(From OE-Core rev: a2b68ba)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
daregit pushed a commit to daregit/yocto-combined that referenced this issue May 22, 2024
Following 4a56315a990b ("path: use ROOTPREFIX properly"), the paths to
sysusers.d, sysctl.d binfmt.d and modules-load.d changed to /lib when
building without usrmerge, which aoppears to be an inadvertent ABI
change. Undo this change and track upstream:

  systemd/systemd#16773

(From OE-Core rev: a2b68ba14fb97349d3ebc71e5ca96a340aec243e)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
daregit pushed a commit to daregit/yocto-combined that referenced this issue May 22, 2024
Following 4a56315a990b ("path: use ROOTPREFIX properly"), the paths to
sysusers.d, sysctl.d binfmt.d and modules-load.d changed to /lib when
building without usrmerge, which aoppears to be an inadvertent ABI
change. Undo this change and track upstream:

  systemd/systemd#16773

(From OE-Core rev: a2b68ba14fb97349d3ebc71e5ca96a340aec243e)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging a pull request may close this issue.

3 participants