* append systemd (functionalty moved into systemd_add_rdepends)
* append base-pgk

Signed-off-by: Andreas Müller <schnitzelt...@googlemail.com>
---
 meta-oe/classes/systemd.bbclass |   19 +++++++++++++++----
 1 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/meta-oe/classes/systemd.bbclass b/meta-oe/classes/systemd.bbclass
index 8927980..edc2872 100644
--- a/meta-oe/classes/systemd.bbclass
+++ b/meta-oe/classes/systemd.bbclass
@@ -116,10 +116,6 @@ python populate_packages_prepend () {
                postrm += bb.data.getVar('systemd_postrm', localdata, 1)
                bb.data.setVar('pkg_postrm_%s' % pkg, postrm, d)
 
-               rdepends = explode_deps(bb.data.getVar('RDEPENDS_' + pkg, d, 0) 
or bb.data.getVar('RDEPENDS', d, 0) or "")
-               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)
@@ -136,7 +132,22 @@ python populate_packages_prepend () {
                files = d.getVar(var_name, 0) or ""
                d.setVar(var_name, "%s %s" % (files, files_append))
 
+       # *-systemd packages get RDEPENDS to systemd and their base package
+       def systemd_add_rdepends(pkg_systemd):
+               pn_pkg = d.getVar('PN', 1)
+               # RDEPENDS_${pkg_systemd} += pkg_systemd_base systemd
+               rdepends = explode_deps(d.getVar('RDEPENDS_' + pkg_systemd, 1) 
or "")
+               if not 'systemd' in rdepends:
+                       rdepends.append('systemd')
+               pkg_systemd_base = pkg_systemd.replace('-systemd', '')
+               # not rdepending myself / avoid double entries
+               if pkg_systemd != pn_pkg and not pkg_systemd_base in rdepends:
+                       rdepends.append(pkg_systemd_base)
+               d.setVar('RDEPENDS_' + pkg_systemd, " " + " ".join(rdepends))
+
+
        for pkg_systemd in d.getVar('SYSTEMD_PACKAGES', 1).split():
                systemd_prepost_instrm(pkg_systemd)
                systemd_add_files(pkg_systemd)
+               systemd_add_rdepends(pkg_systemd)
 }
-- 
1.7.4.4


_______________________________________________
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel

Reply via email to