Message ID | 20250610094937.2812880-1-skandigraun@gmail.com |
---|---|
State | Accepted, archived |
Commit | c7f157ad1207567ef3614ee4f6e755bccf60a3f4 |
Headers | show |
Series | [v2] seatd: fix packaging error with systemd DISTRO_FEATURES | expand |
diff --git a/meta/recipes-core/seatd/seatd_0.9.1.bb b/meta/recipes-core/seatd/seatd_0.9.1.bb index 87e1c3b67d..3b4b3bae4c 100644 --- a/meta/recipes-core/seatd/seatd_0.9.1.bb +++ b/meta/recipes-core/seatd/seatd_0.9.1.bb @@ -35,9 +35,8 @@ PACKAGECONFIG[systemd] = "-Dlibseat-logind=systemd,,systemd" do_install:append() { if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then install -Dm755 ${UNPACKDIR}/init ${D}/${sysconfdir}/init.d/seatd - else - install -Dm644 ${S}/contrib/systemd/seatd.service ${D}${systemd_unitdir}/system/seatd.service fi + install -Dm644 ${S}/contrib/systemd/seatd.service ${D}${systemd_unitdir}/system/seatd.service } USERADD_PACKAGES = "${PN}"
The systemd unit file for this recipe is only installed in case the target system's init system is systemd. It is achieved by inspecting the VIRTUAL-RUNTIME_init_manager variable. However the systemd class was inherited unconditionally. This caused a failure in do_package task, in case systemd is present in the DISTRO_FEATURES but the system's init manager is sysvinit: in this case the systemd unit file is not installed, however systemd.bbclass is still trying to register is as a startup service. At this point it failed: ERROR: seatd-0.9.1-r0 do_package: Didn't find service unit 'seatd.service', specified in SYSTEMD_SERVICE:seatd. To avoid this, install the systemd unit file unconditionally, regardless of the used init system. Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> --- meta/recipes-core/seatd/seatd_0.9.1.bb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)