From: Yi Zhao Date: Sat, 26 Oct 2024 05:49:46 +0000 (+0800) Subject: systemd: fix broken links for sysvinit-compatible commands X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=681e3d20c2ac16778e302b468ec278aed9562639;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git systemd: fix broken links for sysvinit-compatible commands Since commit[1], PACKAGECONFIG[sysvinit] is not enabled by default when sysvinit is not in DISTRO_FEATURES, which causes the following sysvinit-compatible commands/services to not be built and installed: runlevel telinit rc-local.service systemd-initctl systemd-initctl.service systemd-rc-local-generator systemd-sysv-generator systemd-update-utmp-runlevel.service Therefore, links to these commands/services should only be created when PACKAGECONFIG[sysvinit] is enabled. [1] https://git.openembedded.org/openembedded-core/commit/?id=3668235fd60a9027608f37251c4b453ed21b3687 Signed-off-by: Yi Zhao Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie (cherry picked from commit a20b698f1acdee972cf1ff570b09a2e2c36bef1a) Signed-off-by: Steve Sakoman --- diff --git a/meta/recipes-core/systemd/systemd_256.5.bb b/meta/recipes-core/systemd/systemd_256.5.bb index 68f15ab065d..af810c0fcd9 100644 --- a/meta/recipes-core/systemd/systemd_256.5.bb +++ b/meta/recipes-core/systemd/systemd_256.5.bb @@ -339,7 +339,7 @@ do_install() { install -d ${D}${systemd_system_unitdir}/rescue.target.wants # Create symlinks for systemd-update-utmp-runlevel.service - if ${@bb.utils.contains('PACKAGECONFIG', 'utmp', 'true', 'false', d)}; then + if ${@bb.utils.contains('PACKAGECONFIG', 'utmp', 'true', 'false', d)} && ${@bb.utils.contains('PACKAGECONFIG', 'sysvinit', 'true', 'false', d)}; then ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_system_unitdir}/graphical.target.wants/systemd-update-utmp-runlevel.service ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_system_unitdir}/multi-user.target.wants/systemd-update-utmp-runlevel.service ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_system_unitdir}/poweroff.target.wants/systemd-update-utmp-runlevel.service @@ -841,7 +841,9 @@ python do_warn_musl() { } addtask warn_musl before do_configure -ALTERNATIVE:${PN} = "halt reboot shutdown poweroff runlevel ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolv-conf', '', d)}" +ALTERNATIVE:${PN} = "halt reboot shutdown poweroff \ + ${@bb.utils.contains('PACKAGECONFIG', 'sysvinit', 'runlevel', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolv-conf', '', d)}" ALTERNATIVE_TARGET[resolv-conf] = "${sysconfdir}/resolv-conf.systemd" ALTERNATIVE_LINK_NAME[resolv-conf] = "${sysconfdir}/resolv.conf"