From 8ce3dccfda031a0a62d4e77da821436d23b09273 Mon Sep 17 00:00:00 2001 From: Yi Zhao Date: Mon, 23 Dec 2019 16:21:50 +0800 Subject: selinux-initsh.inc: install selinux-init.sh and selinux-labeldev.sh when using systemd The commit 5fd3c5b71edb99659aeb5cb5903088d84517382e introduced an issue that selinux-init.sh and selinux-labeldev.sh are not installed when using systemd which will cause the selinux-ini.service and selinux-labeldev.service fail to startup. Move the do_install codes from selinux-autorelabel to selinux-initsh.inc to make sure install these scripts when using systemd. Signed-off-by: Yi Zhao Signed-off-by: Joe MacDonald --- recipes-security/selinux/selinux-autorelabel_0.1.bb | 3 --- recipes-security/selinux/selinux-initsh.inc | 9 +++++++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/recipes-security/selinux/selinux-autorelabel_0.1.bb b/recipes-security/selinux/selinux-autorelabel_0.1.bb index 7e7d08c..b898c3b 100644 --- a/recipes-security/selinux/selinux-autorelabel_0.1.bb +++ b/recipes-security/selinux/selinux-autorelabel_0.1.bb @@ -21,9 +21,6 @@ require selinux-initsh.inc do_install_append() { if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${bindir} - install -m 0755 ${WORKDIR}/${SELINUX_SCRIPT_SRC}.sh ${D}${bindir} - sed -i -e '/.*HERE$/d' ${D}${bindir}/${SELINUX_SCRIPT_SRC}.sh echo "# first boot relabelling" > ${D}/.autorelabel fi } diff --git a/recipes-security/selinux/selinux-initsh.inc b/recipes-security/selinux/selinux-initsh.inc index 6084762..0a6cf4b 100644 --- a/recipes-security/selinux/selinux-initsh.inc +++ b/recipes-security/selinux/selinux-initsh.inc @@ -27,8 +27,13 @@ do_install () { -e '/.*HERE$/d' -e '/.*Contents.*sysvinit/d' \ ${D}${sysconfdir}/init.d/${SELINUX_SCRIPT_DST} - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/${SELINUX_SCRIPT_SRC}.service ${D}${systemd_unitdir}/system + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/${SELINUX_SCRIPT_SRC}.service ${D}${systemd_unitdir}/system + install -d ${D}${bindir} + install -m 0755 ${WORKDIR}/${SELINUX_SCRIPT_SRC}.sh ${D}${bindir} + sed -i -e '/.*HERE$/d' ${D}${bindir}/${SELINUX_SCRIPT_SRC}.sh + fi } sysroot_stage_all_append () { -- cgit v1.2.3-54-g00ecf