summaryrefslogtreecommitdiff
path: root/meta/classes/package.bbclass
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2007-04-03 11:31:02 +0000
committerRichard Purdie <richard@openedhand.com>2007-04-03 11:31:02 +0000
commit409335beaede58ed792030f9da0fcea39f32f1c7 (patch)
tree2d25f86c2c48caef8a9ef8f301b423ae7b0ee81e /meta/classes/package.bbclass
parentbd0ca262c95d28dc45305efbc03e53607e9c9a0a (diff)
downloadopenembedded-core-409335beaede58ed792030f9da0fcea39f32f1c7.tar.gz
openembedded-core-409335beaede58ed792030f9da0fcea39f32f1c7.tar.bz2
openembedded-core-409335beaede58ed792030f9da0fcea39f32f1c7.zip
classes: Rework core dependencies to work properly at the task level
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1427 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/classes/package.bbclass')
-rw-r--r--meta/classes/package.bbclass16
1 files changed, 13 insertions, 3 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 21fe94e94e..0919f302b9 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -116,8 +116,18 @@ def do_split_packages(d, root, file_regex, output_pattern, description, postinst
bb.data.setVar('PACKAGES', ' '.join(packages), d)
-PACKAGE_DEPENDS ?= "file-native fakeroot-native"
-DEPENDS_prepend =+ "${PACKAGE_DEPENDS} "
+do_package[depends] = "file-native:do_populate_staging"
+
+python () {
+ import bb
+
+ if bb.data.getVar('PACKAGES', d, 1) != '':
+ deps = bb.data.getVarFlag('do_package_write', 'depends', d) or ""
+ for dep in (bb.data.getVar('PACKAGE_EXTRA_DEPENDS', d, 1) or "").split():
+ deps += " %s:do_populate_staging" % dep
+ bb.data.setVarFlag('do_package_write', 'depends', deps, d)
+}
+
# file(1) output to match to consider a file an unstripped executable
FILE_UNSTRIPPED_MATCH ?= "not stripped"
#FIXME: this should be "" when any errors are gone!
@@ -126,7 +136,7 @@ IGNORE_STRIP_ERRORS ?= "1"
runstrip() {
# Function to strip a single file, called from RUNSTRIP in populate_packages below
# A working 'file' (one which works on the target architecture)
- # is necessary for this stuff to work, hence the addition to PACKAGES_DEPENDS
+ # is necessary for this stuff to work, hence the addition to do_package[depends]
local ro st