From b492cb845733aa127033d1658248c702b6066582 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Mon, 20 Mar 2023 15:25:34 +0100 Subject: [PATCH] ti-sgx-ddk-um: fix error in postinst with sysvinit+udev When sysvinit is in DISTRO_FEATURES, the update-rc.d class must only be inherited when the script referenced by INITSCRIPT_NAME actually exists, or the update-rc.d command in the generated postinst script will fail. Reported-by: Denys Dmytriyenko Signed-off-by: Matthias Schiffer Reviewed-by: Andrew Davis Acked-by: Denys Dmytriyenko Signed-off-by: Ryan Eatmon --- .../libgles/ti-sgx-ddk-um_1.17.4948957.bb | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um_1.17.4948957.bb b/meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um_1.17.4948957.bb index f1fbed15..73d7acb9 100644 --- a/meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um_1.17.4948957.bb +++ b/meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um_1.17.4948957.bb @@ -24,11 +24,16 @@ TARGET_PRODUCT:am65xx = "ti654x" INITSCRIPT_NAME = "rc.pvr" INITSCRIPT_PARAMS = "defaults 8" -inherit update-rc.d - PACKAGECONFIG ??= "udev" PACKAGECONFIG[udev] = ",,,udev" +def use_initscript(d): + sysvinit = bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d) + udev = bb.utils.contains('PACKAGECONFIG', 'udev', True, False, d) + return sysvinit and not udev + +inherit ${@oe.utils.ifelse(use_initscript(d), 'update-rc.d', '')} + RDEPENDS:${PN} += "libdrm libdrm-omap" RRECOMMENDS:${PN} += "ti-sgx-ddk-km" @@ -42,7 +47,7 @@ do_install () { with_udev=${@bb.utils.contains('PACKAGECONFIG', 'udev', 'true', 'false', d)} # Delete initscript if it is not needed or would conflict with the udev rules - if $without_sysvinit || $with_udev; then + if ${@oe.utils.ifelse(use_initscript(d), 'false', 'true')}; then rm -rf ${D}${sysconfdir}/init.d rmdir --ignore-fail-on-non-empty ${D}${sysconfdir} fi