[oe-commits] Enrico Scholz : meta-systemd: select recipes based on active collections

git at git.openembedded.org git at git.openembedded.org
Wed Dec 26 10:46:33 UTC 2012


Module: meta-openembedded.git
Branch: master
Commit: 3c21a46020bd0816579648f684c41dbd6333583e
URL:    http://git.openembedded.org/?p=meta-openembedded.git&a=commit;h=3c21a46020bd0816579648f684c41dbd6333583e

Author: Enrico Scholz <enrico.scholz at sigma-chemnitz.de>
Date:   Mon Nov 26 15:01:16 2012 +0000

meta-systemd: select recipes based on active collections

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.

MJ: added meta-xfce as it was created later
MJ: fixed expression for oe-core bbappends

Signed-off-by: Enrico Scholz <enrico.scholz at sigma-chemnitz.de>
Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>

---

 meta-systemd/conf/layer.conf |   18 +++++++++++++++++-
 meta-systemd/invalid.bb      |    2 ++
 2 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/meta-systemd/conf/layer.conf b/meta-systemd/conf/layer.conf
index 3310abc..d06cfa1 100644
--- a/meta-systemd/conf/layer.conf
+++ b/meta-systemd/conf/layer.conf
@@ -12,7 +12,23 @@
 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)} \
+  ${@base_contains('BBFILE_COLLECTIONS', 'xfce-layer',\
+                   '${LAYERDIR}/meta-xfce/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.





More information about the Openembedded-commits mailing list