Randolph Sapp via lists.openembedded.org schrieb am Mi 08. Apr, 14:50 (-0500): > From: Randolph Sapp <[email protected]> > > Systemd prefers both /bin and /sbin to link to /usr/bin. If this is not > the case it reports that the system is tainted in systemctl status. > > Add a link from /usr/sbin to /usr/bin to prevent anything from being > excluded from the merged bin directory. This mimics the current merged > bin directory structure of Arch Linux [1]. > > Update the systemd recipe to prevent creating a duplicate link when > sbinmerge is enabled. > > This check was added to systemd back in 2024 [2]. > > [1] > https://gitlab.archlinux.org/archlinux/packaging/packages/filesystem/-/blob/main/PKGBUILD > [2] > https://github.com/systemd/systemd/commit/844863c61e7b501097da84a1e4d1e4a6aa6d9f0d > > Signed-off-by: Randolph Sapp <[email protected]>
How about including this commit in a updated form, now? I'm using it since April, I found and fixed some issues, but in the end it works (with binmerge enabled). So I would give my Signed-off-by: Jörg Sommer <[email protected]> About the question if binmerge/usrmerge should be part of the systemd feature or be a stand-alone feature, I'm undecided. But I think bin+usrmerge have their use case without systemd. > --- > > I feel like this is overloading the "usrmerge" distro feature somewhat. On the > other hand, this parameter was added for systemd support, and systemd > considers > all of this to result in an unmerged-bin warning. I figure it's kind of fine. > > Open to opinions here, as we could also just add a "sbinmerge" distro feature. > Then again, what would be the expected behavior when usrmerge is disabled? > Would > /usr/sbin just point to /usr/bin and /sbin to /bin then? > > meta/classes-recipe/populate_sdk_base.bbclass | 5 +++-- > meta/conf/bitbake.conf | 2 +- > meta/recipes-core/systemd/systemd_259.5.bb | 8 ++++++-- > 3 files changed, 10 insertions(+), 5 deletions(-) > > diff --git a/meta/classes-recipe/populate_sdk_base.bbclass > b/meta/classes-recipe/populate_sdk_base.bbclass > index b427ff2761..15f393a3bb 100644 > --- a/meta/classes-recipe/populate_sdk_base.bbclass > +++ b/meta/classes-recipe/populate_sdk_base.bbclass > @@ -186,9 +186,10 @@ POPULATE_SDK_POST_HOST_COMMAND:append:task-populate-sdk > = " write_host_sdk_manif > # Prepare the root links to point to the /usr counterparts. > create_merged_usr_symlinks() { > root="$1" > - install -d $root${base_bindir} $root${base_sbindir} $root${base_libdir} > + install -d $root${base_bindir} $root${base_libdir} Is this right in case of !binmerge? Install is not picky about creating the same directory two times: % install -d /tmp/foo /tmp/foo; echo $? 0 > ln -rs $root${base_bindir} $root/bin > - ln -rs $root${base_sbindir} $root/sbin > + ln -rs $root${base_bindir} $root/sbin In case of binmerge both lines are equivalent. But in case of !binmerge, this should be wrong. > + ln -rs $root${base_bindir} $root/usr/sbin This also. > ln -rs $root${base_libdir} $root/${baselib} > > if [ "${nonarch_base_libdir}" != "${base_libdir}" ]; then > diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf > index 84450386d9..29301534d2 100644 > --- a/meta/conf/bitbake.conf > +++ b/meta/conf/bitbake.conf > @@ -22,7 +22,7 @@ root_prefix = "${@bb.utils.contains('DISTRO_FEATURES', > 'usrmerge', '${exec_prefi > > # Base paths > export base_bindir = "${root_prefix}/bin" > -export base_sbindir = "${root_prefix}/sbin" > +export base_sbindir = "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', > '${root_prefix}/bin', '${root_prefix}/sbin', d)}" > export base_libdir = "${root_prefix}/${baselib}" > export nonarch_base_libdir = "${root_prefix}/lib" > > diff --git a/meta/recipes-core/systemd/systemd_259.5.bb > b/meta/recipes-core/systemd/systemd_259.5.bb > index c3cb605b4d..d84e38d7cd 100644 > --- a/meta/recipes-core/systemd/systemd_259.5.bb > +++ b/meta/recipes-core/systemd/systemd_259.5.bb > @@ -69,6 +69,7 @@ PACKAGECONFIG ??= " \ > quotacheck \ > randomseed \ > resolved \ > + sbinmerge \ I think upstream names it binmerge after the target, as with usrmerge. > serial-getty-generator \ > set-time-epoch \ > sysusers \ > @@ -339,8 +340,11 @@ do_install() { > install -m 0644 > ${UNPACKDIR}/org.freedesktop.hostname1_no_polkit.conf > ${D}${datadir}/dbus-1/system.d/ > fi > > - # create link for existing udev rules > - ln -s ${base_bindir}/udevadm ${D}${base_sbindir}/udevadm > + # create link for existing udev rules if sbinmerge is not enabled > + if ${@bb.utils.contains('PACKAGECONFIG', 'sbinmerge', 'false', 'true', > d)} > + then > + ln -s ${base_bindir}/udevadm ${D}${base_sbindir}/udevadm > + fi > > # install default policy for presets > # https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto > -- > 2.53.0 > -- Navimatix GmbH T: 03641 - 327 99 0 Tatzendpromenade 2 F: 03641 - 526 306 07745 Jena www.navimatix.de Geschäftsführer: Steffen Späthe, Jan Rommeley Registergericht: Amtsgericht Jena, HRB 501480
smime.p7s
Description: S/MIME cryptographic signature
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#238162): https://lists.openembedded.org/g/openembedded-core/message/238162 Mute This Topic: https://lists.openembedded.org/mt/118731491/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
