[oe] [meta-oe 6/7] systemd.bbclass: automatically extend FILES_* for systemd packages
Andreas Müller
schnitzeltony at googlemail.com
Sat Feb 11 02:00:02 UTC 2012
In case SYSTEMD_SERVICE contains only one *.service file, the whole folder
${base_libdir}/systemd/system/ is added to FILES_* otherwise only the *.service
files found in SYSTEMD_SERVICE.
Signed-off-by: Andreas Müller <schnitzeltony at googlemail.com>
---
meta-oe/classes/systemd.bbclass | 16 ++++++++++++++++
1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/meta-oe/classes/systemd.bbclass b/meta-oe/classes/systemd.bbclass
index 3c1ed14..8927980 100644
--- a/meta-oe/classes/systemd.bbclass
+++ b/meta-oe/classes/systemd.bbclass
@@ -120,7 +120,23 @@ python populate_packages_prepend () {
rdepends.append("systemd")
bb.data.setVar('RDEPENDS_' + pkg, " " + " ".join(rdepends), d)
+ # add systemd files to FILES_*-systemd
+ def systemd_add_files(pkg_systemd):
+ systemd_services = d.getVar('SYSTEMD_SERVICE' + "_" + pkg_systemd, 1) or d.getVar('SYSTEMD_SERVICE', 1)
+ files_append = ""
+ if len(systemd_services.split()) == 1:
+ # distribute complete ${base_libdir}/systemd/system/ to ${SYSTEMD_PACKAGES}
+ files_append = '${base_libdir}/systemd/system/'
+ else:
+ # distribute files set in SYSTEMD_SERVICE to ${SYSTEMD_PACKAGES}
+ for service in systemd_services.split():
+ files_append += ' ${base_libdir}/systemd/system/' + service
+
+ var_name = "FILES_" + pkg_systemd
+ files = d.getVar(var_name, 0) or ""
+ d.setVar(var_name, "%s %s" % (files, files_append))
for pkg_systemd in d.getVar('SYSTEMD_PACKAGES', 1).split():
systemd_prepost_instrm(pkg_systemd)
+ systemd_add_files(pkg_systemd)
}
--
1.7.4.4
More information about the Openembedded-devel
mailing list