From fce137d50bdcac563effd5d5acc77ba3e28d8aaa Mon Sep 17 00:00:00 2001 From: Peter Kjellerstedt Date: Wed, 3 Nov 2021 10:14:00 +0100 Subject: [PATCH] opensaf: Make sure a file needed by opensafd.service is not removed Rename /etc/init.d/opensafd to /usr/lib/opensaf/opensafd-init as it is needed by opensafd.service, but /etc/init.d is removed by systemd.bbclass if sysvinit is not in DISTRO_FEATURES. Note that this will not actually make the initscript and service file work since they depend on /lib/lsb/init-functions, which does not exist since the lsb recipe was removed from OE-Core. Signed-off-by: Peter Kjellerstedt Signed-off-by: Khem Raj --- .../recipes-daemons/opensaf/opensaf_5.21.09.bb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/meta-networking/recipes-daemons/opensaf/opensaf_5.21.09.bb b/meta-networking/recipes-daemons/opensaf/opensaf_5.21.09.bb index 1aacae9a6b..c24fccf04b 100644 --- a/meta-networking/recipes-daemons/opensaf/opensaf_5.21.09.bb +++ b/meta-networking/recipes-daemons/opensaf/opensaf_5.21.09.bb @@ -60,10 +60,14 @@ do_install:append() { rmdir "${D}${localstatedir}/log" rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" rmdir --ignore-fail-on-non-empty "${D}${datadir}/java" - if [ ! -d "${D}${sysconfdir}/init.d" ]; then - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${B}/osaf/services/infrastructure/nid/scripts/opensafd ${D}${sysconfdir}/init.d/ - fi + + # Rename /etc/init.d/opensafd to /usr/lib/opensaf/opensafd-init as it is + # needed by opensafd.service, but /etc/init.d is removed by systemd.bbclass + # if sysvinit is not in DISTRO_FEATURES. + mv ${D}${sysconfdir}/init.d/opensafd ${D}${libdir}/${BPN}/opensafd-init + ln -srf ${D}${libdir}/${BPN}/opensafd-init ${D}${sysconfdir}/init.d/opensafd + [ ! -f ${D}${systemd_system_unitdir}/opensafd.service ] || + sed -ri -e "s|/etc/init.d/opensafd|${libdir}/${BPN}/opensafd-init|" ${D}${systemd_system_unitdir}/opensafd.service # Create /var/log/opensaf/saflog in runtime. if [ "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" ]; then