Patchwork meta-systemd: select recipes based on active collections

login
register
mail settings
Submitter Enrico Scholz
Date Nov. 26, 2012, 3:01 p.m.
Message ID <1353942076-15233-1-git-send-email-enrico.scholz@sigma-chemnitz.de>
Download mbox | patch
Permalink /patch/39613/
State Accepted, archived
Headers show

Comments

Enrico Scholz - Nov. 26, 2012, 3:01 p.m.
Recipes of inactivate layers must been BBMASK'ed to prevent build errors.
This is very unflexible and causes high maintenance effort for keeping
the project configuration in sync with the actual meta-systemd layout.

With this patch, the .bbappend files within the meta-* directories are
ignored unless the corresponding collection has been selected.  As it
relies on the order of BBFILES and BBFILE_COLLECTIONS expansion, a
sanity check has been added which aborts the build when assumptions do
not apply anymore.

Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
---
 meta-systemd/conf/layer.conf | 16 +++++++++++++++-
 meta-systemd/invalid.bb      |  2 ++
 2 files changed, 17 insertions(+), 1 deletion(-)
 create mode 100644 meta-systemd/invalid.bb

Patch

diff --git a/meta-systemd/conf/layer.conf b/meta-systemd/conf/layer.conf
index 3310abc..e8fd5ca 100644
--- a/meta-systemd/conf/layer.conf
+++ b/meta-systemd/conf/layer.conf
@@ -12,7 +12,21 @@ 
 BBPATH .= ":${LAYERDIR}"
 
 # We have a recipes directory, add to BBFILES
-BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/*/recipes-*/*/*.bbappend"
+BBFILES += "\
+  ${LAYERDIR}/recipes-*/*/*.bb \
+  ${LAYERDIR}/oe-core/recipes-*/*.bbappend \
+  ${LAYERDIR}/meta-oe/recipes-*/*/*.bbappend \
+  ${@base_contains('BBFILE_COLLECTIONS', 'systemd-layer',\
+                   '', '${LAYERDIR}/invalid.bb', d)} \
+  ${@base_contains('BBFILE_COLLECTIONS', 'gnome-layer',\
+                   '${LAYERDIR}/meta-gnome/recipes-*/*/*.bbappend', '', d)} \
+  ${@base_contains('BBFILE_COLLECTIONS', 'efl-layer',\
+                   '${LAYERDIR}/meta-efl/recipes-*/*/*.bbappend', '', d)} \
+  ${@base_contains('BBFILE_COLLECTIONS', 'multimedia-layer',\
+                   '${LAYERDIR}/meta-multimedia/recipes-*/*/*.bbappend', '', d)} \
+  ${@base_contains('BBFILE_COLLECTIONS', 'networking',\
+                   '${LAYERDIR}/meta-networking/recipes-*/*/*.bbappend', '', d)} \
+"
 
 BBFILE_COLLECTIONS += "systemd-layer"
 BBFILE_PATTERN_systemd-layer := "^${LAYERDIR}/"
diff --git a/meta-systemd/invalid.bb b/meta-systemd/invalid.bb
new file mode 100644
index 0000000..b16787b
--- /dev/null
+++ b/meta-systemd/invalid.bb
@@ -0,0 +1,2 @@ 
+Content of this file is invalid and is used by conf/layer.conf to
+ensure that BBFILES is expanded after BBFILE_COLLECTIONS.