From f4131b3890d510144cc5c403a92d5ff5fa66e3af Mon Sep 17 00:00:00 2001 From: Muhammad Shakeel Date: Mon, 29 Jul 2013 13:09:51 +0500 Subject: [PATCH] systemd: Remove init.d dir if systemd unit file is present and sysvinit not a distro feature If systemd is supported DISTRO_FEATURE and sysvinit is not and also if systemd_unitdir contains anything then no need to keep init.d scripts for sysvinit compatibility. (From OE-Core rev: 823c90ad344ca2205f3055e2dcae08c6616f29b7) Signed-off-by: Muhammad Shakeel Signed-off-by: Saul Wold Signed-off-by: Richard Purdie --- meta/classes/systemd.bbclass | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/meta/classes/systemd.bbclass b/meta/classes/systemd.bbclass index 9763faa..76f0e7d 100644 --- a/meta/classes/systemd.bbclass +++ b/meta/classes/systemd.bbclass @@ -170,3 +170,18 @@ python rm_systemd_unitdir (){ shutil.rmtree(systemd_unitdir) } do_install[postfuncs] += "rm_systemd_unitdir " + +python rm_sysvinit_initddir (){ + import shutil + sysv_initddir = oe.path.join(d.getVar("D", True), (d.getVar('INIT_D_DIR', True) or "/etc/init.d")) + + if ("systemd" in d.getVar("DISTRO_FEATURES", True).split() and + "sysvinit" not in d.getVar("DISTRO_FEATURES", True).split() and + os.path.exists(sysv_initddir)): + systemd_unitdir = oe.path.join(d.getVar("D", True), d.getVar('systemd_unitdir', True), "system") + + # If systemd_unitdir contains anything, delete sysv_initddir + if (os.path.exists(systemd_unitdir) and os.listdir(systemd_unitdir)): + shutil.rmtree(sysv_initddir) +} +do_install[postfuncs] += "rm_sysvinit_initddir " -- 2.7.4