summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Zabel <philipp.zabel@gmail.com>2007-08-20 11:04:29 +0000
committerPhilipp Zabel <philipp.zabel@gmail.com>2007-08-20 11:04:29 +0000
commit91bbf116d75d79b481924c8ee54b78a07da41ace (patch)
tree99a151df298cbfa9f6f22908c95c8321cd7cd19c
parent71e917c19c83c7042eca136c30bb97eb5ac3f6b0 (diff)
task.bbclass: add a task class that sets common task recipe
variables and automates adding -dev and -dbg packages
-rw-r--r--classes/task.bbclass27
1 files changed, 27 insertions, 0 deletions
diff --git a/classes/task.bbclass b/classes/task.bbclass
new file mode 100644
index 0000000000..4edd704829
--- /dev/null
+++ b/classes/task.bbclass
@@ -0,0 +1,27 @@
+# Task packages are only used to pull in other packages
+# via their dependencies. They are empty.
+ALLOW_EMPTY = "1"
+
+# By default, only the task package itself is in PACKAGES.
+# -dbg and -dev flavours are handled by the anonfunc below.
+# This means that task recipes used to build multiple task
+# packages have to modify PACKAGES after inheriting task.bbclass.
+PACKAGES = "${PN}"
+
+# By default, task packages do not depend on a certain architecture.
+# Only if dependencies are modified by MACHINE_FEATURES, packages
+# need to be set to MACHINE_ARCH after inheriting task.bbclass
+PACKAGE_ARCH = "all"
+
+# This automatically adds -dbg and -dev flavours of all PACKAGES
+# to the list. Their dependencies (RRECOMMENDS) are handled as usual
+# by package_depchains in a following step.
+python () {
+ packages = bb.data.getVar('PACKAGES', d, 1).split()
+ genpackages = []
+ for pkg in packages:
+ for postfix in ['-dbg', '-dev']:
+ genpackages.append(pkg+postfix)
+ bb.data.setVar('PACKAGES', ' '.join(packages+genpackages), d)
+}
+