summaryrefslogtreecommitdiffstats
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
parentbd0ca262c95d28dc45305efbc03e53607e9c9a0a (diff)
downloadpoky-409335beaede58ed792030f9da0fcea39f32f1c7.tar.gz
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
-rw-r--r--meta/classes/base.bbclass6
-rw-r--r--meta/classes/image.bbclass22
-rw-r--r--meta/classes/insane.bbclass2
-rw-r--r--meta/classes/package.bbclass16
-rw-r--r--meta/classes/package_deb.bbclass4
-rw-r--r--meta/classes/package_ipk.bbclass4
-rw-r--r--meta/classes/package_tar.bbclass2
-rw-r--r--meta/classes/patch.bbclass2
-rw-r--r--meta/classes/rootfs_deb.bbclass4
-rw-r--r--meta/classes/rootfs_ipk.bbclass3
10 files changed, 39 insertions, 26 deletions
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index 3cff42c138..4a1b09b1a4 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -12,12 +12,6 @@ def base_dep_prepend(d):
12 # INHIBIT_DEFAULT_DEPS doesn't apply to the patch command. Whether or not 12 # INHIBIT_DEFAULT_DEPS doesn't apply to the patch command. Whether or not
13 # we need that built is the responsibility of the patch function / class, not 13 # we need that built is the responsibility of the patch function / class, not
14 # the application. 14 # the application.
15 patchdeps = bb.data.getVar("PATCHTOOL", d, 1)
16 if patchdeps:
17 patchdeps = "%s-native" % patchdeps
18 if not patchdeps in bb.data.getVar("PROVIDES", d, 1):
19 deps = patchdeps
20
21 if not bb.data.getVar('INHIBIT_DEFAULT_DEPS', d): 15 if not bb.data.getVar('INHIBIT_DEFAULT_DEPS', d):
22 if (bb.data.getVar('HOST_SYS', d, 1) != 16 if (bb.data.getVar('HOST_SYS', d, 1) !=
23 bb.data.getVar('BUILD_SYS', d, 1)): 17 bb.data.getVar('BUILD_SYS', d, 1)):
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index d8c6ccff21..edb04029b2 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -13,19 +13,21 @@ USE_DEVFS ?= "0"
13 13
14PID = "${@os.getpid()}" 14PID = "${@os.getpid()}"
15 15
16DEPENDS += "makedevs-native"
17PACKAGE_ARCH = "${MACHINE_ARCH}" 16PACKAGE_ARCH = "${MACHINE_ARCH}"
18 17
19def get_image_deps(d): 18do_rootfs[depends] += "makedevs-native:do_populate_staging fakeroot-native:do_populate_staging"
20 import bb
21 str = ""
22 for type in (bb.data.getVar('IMAGE_FSTYPES', d, 1) or "").split():
23 deps = bb.data.getVar('IMAGE_DEPENDS_%s' % type, d) or ""
24 if deps:
25 str += " %s" % deps
26 return str
27 19
28DEPENDS += "${@get_image_deps(d)}" 20python () {
21 import bb
22
23 deps = bb.data.getVarFlag('do_rootfs', 'depends', d) or ""
24 for type in (bb.data.getVar('IMAGE_FSTYPES', d, 1) or "").split():
25 for dep in ((bb.data.getVar('IMAGE_DEPENDS_%s' % type, d) or "").split() or []):
26 deps += " %s:do_populate_staging" % dep
27 for dep in (bb.data.getVar('EXTRA_IMAGEDEPENDS', d, 1) or "").split():
28 deps += " %s:do_populate_staging" % dep
29 bb.data.setVarFlag('do_rootfs', 'depends', deps, d)
30}
29 31
30IMAGE_DEVICE_TABLE ?= "${@bb.which(bb.data.getVar('BBPATH', d, 1), 'files/device_table-minimal.txt')}" 32IMAGE_DEVICE_TABLE ?= "${@bb.which(bb.data.getVar('BBPATH', d, 1), 'files/device_table-minimal.txt')}"
31IMAGE_POSTPROCESS_COMMAND ?= "" 33IMAGE_POSTPROCESS_COMMAND ?= ""
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index 4bceaaed82..eef4f72678 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -20,7 +20,7 @@
20 20
21# We play a special package function 21# We play a special package function
22inherit package 22inherit package
23PACKAGE_DEPENDS += "pax-utils-native" 23do_package[depends] += "pax-utils-native:do_populate_staging"
24PACKAGEFUNCS += " do_package_qa " 24PACKAGEFUNCS += " do_package_qa "
25 25
26def package_qa_check_rpath(file,name,d): 26def package_qa_check_rpath(file,name,d):
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
116 116
117 bb.data.setVar('PACKAGES', ' '.join(packages), d) 117 bb.data.setVar('PACKAGES', ' '.join(packages), d)
118 118
119PACKAGE_DEPENDS ?= "file-native fakeroot-native" 119do_package[depends] = "file-native:do_populate_staging"
120DEPENDS_prepend =+ "${PACKAGE_DEPENDS} " 120
121python () {
122 import bb
123
124 if bb.data.getVar('PACKAGES', d, 1) != '':
125 deps = bb.data.getVarFlag('do_package_write', 'depends', d) or ""
126 for dep in (bb.data.getVar('PACKAGE_EXTRA_DEPENDS', d, 1) or "").split():
127 deps += " %s:do_populate_staging" % dep
128 bb.data.setVarFlag('do_package_write', 'depends', deps, d)
129}
130
121# file(1) output to match to consider a file an unstripped executable 131# file(1) output to match to consider a file an unstripped executable
122FILE_UNSTRIPPED_MATCH ?= "not stripped" 132FILE_UNSTRIPPED_MATCH ?= "not stripped"
123#FIXME: this should be "" when any errors are gone! 133#FIXME: this should be "" when any errors are gone!
@@ -126,7 +136,7 @@ IGNORE_STRIP_ERRORS ?= "1"
126runstrip() { 136runstrip() {
127 # Function to strip a single file, called from RUNSTRIP in populate_packages below 137 # Function to strip a single file, called from RUNSTRIP in populate_packages below
128 # A working 'file' (one which works on the target architecture) 138 # A working 'file' (one which works on the target architecture)
129 # is necessary for this stuff to work, hence the addition to PACKAGES_DEPENDS 139 # is necessary for this stuff to work, hence the addition to do_package[depends]
130 140
131 local ro st 141 local ro st
132 142
diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass
index 18cba66da0..907fbd9ebf 100644
--- a/meta/classes/package_deb.bbclass
+++ b/meta/classes/package_deb.bbclass
@@ -1,5 +1,7 @@
1inherit package 1inherit package
2DEPENDS_prepend="${@["dpkg-native ", ""][(bb.data.getVar('PACKAGES', d, 1) == '')]}" 2
3PACKAGE_EXTRA_DEPENDS += "dpkg-native fakeroot-native"
4
3BOOTSTRAP_EXTRA_RDEPENDS += "dpkg" 5BOOTSTRAP_EXTRA_RDEPENDS += "dpkg"
4DISTRO_EXTRA_RDEPENDS += "dpkg" 6DISTRO_EXTRA_RDEPENDS += "dpkg"
5PACKAGE_WRITE_FUNCS += "do_package_deb" 7PACKAGE_WRITE_FUNCS += "do_package_deb"
diff --git a/meta/classes/package_ipk.bbclass b/meta/classes/package_ipk.bbclass
index 54fecf6659..334148219b 100644
--- a/meta/classes/package_ipk.bbclass
+++ b/meta/classes/package_ipk.bbclass
@@ -1,5 +1,7 @@
1inherit package 1inherit package
2DEPENDS_prepend="${@["ipkg-utils-native ", ""][(bb.data.getVar('PACKAGES', d, 1) == '')]}" 2
3PACKAGE_EXTRA_DEPENDS += "ipkg-utils-native fakeroot-native"
4
3BOOTSTRAP_EXTRA_RDEPENDS += "ipkg-collateral ipkg ipkg-link" 5BOOTSTRAP_EXTRA_RDEPENDS += "ipkg-collateral ipkg ipkg-link"
4DISTRO_EXTRA_RDEPENDS += "ipkg-collateral ipkg ipkg-link" 6DISTRO_EXTRA_RDEPENDS += "ipkg-collateral ipkg ipkg-link"
5PACKAGE_WRITE_FUNCS += "do_package_ipk" 7PACKAGE_WRITE_FUNCS += "do_package_ipk"
diff --git a/meta/classes/package_tar.bbclass b/meta/classes/package_tar.bbclass
index 81ae0f84a0..17216a86f4 100644
--- a/meta/classes/package_tar.bbclass
+++ b/meta/classes/package_tar.bbclass
@@ -1,5 +1,7 @@
1inherit package 1inherit package
2 2
3PACKAGE_EXTRA_DEPENDS += "tar-native"
4
3PACKAGE_WRITE_FUNCS += "do_package_tar" 5PACKAGE_WRITE_FUNCS += "do_package_tar"
4IMAGE_PKGTYPE ?= "tar" 6IMAGE_PKGTYPE ?= "tar"
5 7
diff --git a/meta/classes/patch.bbclass b/meta/classes/patch.bbclass
index e051b0344a..b794f81593 100644
--- a/meta/classes/patch.bbclass
+++ b/meta/classes/patch.bbclass
@@ -391,6 +391,8 @@ def patch_init(d):
391 391
392addtask patch after do_unpack 392addtask patch after do_unpack
393do_patch[dirs] = "${WORKDIR}" 393do_patch[dirs] = "${WORKDIR}"
394do_patch[depends] = "${PATCHTOOL}-native:do_populate_staging"
395
394python patch_do_patch() { 396python patch_do_patch() {
395 import re 397 import re
396 import bb.fetch 398 import bb.fetch
diff --git a/meta/classes/rootfs_deb.bbclass b/meta/classes/rootfs_deb.bbclass
index 3cd1d0d04d..3989dc333b 100644
--- a/meta/classes/rootfs_deb.bbclass
+++ b/meta/classes/rootfs_deb.bbclass
@@ -1,5 +1,5 @@
1DEPENDS_prepend = "dpkg-native apt-native fakeroot-native " 1
2DEPENDS_append = " ${EXTRA_IMAGEDEPENDS}" 2do_rootfs[depends] += "dpkg-native:do_populate_staging apt-native:do_populate_staging"
3 3
4fakeroot rootfs_deb_do_rootfs () { 4fakeroot rootfs_deb_do_rootfs () {
5 set +e 5 set +e
diff --git a/meta/classes/rootfs_ipk.bbclass b/meta/classes/rootfs_ipk.bbclass
index 28296a7e86..0e38579cd4 100644
--- a/meta/classes/rootfs_ipk.bbclass
+++ b/meta/classes/rootfs_ipk.bbclass
@@ -5,8 +5,7 @@
5# See image.bbclass for a usage of this. 5# See image.bbclass for a usage of this.
6# 6#
7 7
8DEPENDS_prepend="ipkg-native ipkg-utils-native fakeroot-native " 8do_rootfs[depends] += "ipkg-native:do_populate_staging ipkg-utils-native:do_populate_staging"
9DEPENDS_append=" ${EXTRA_IMAGEDEPENDS}"
10 9
11IPKG_ARGS = "-f ${T}/ipkg.conf -o ${IMAGE_ROOTFS}" 10IPKG_ARGS = "-f ${T}/ipkg.conf -o ${IMAGE_ROOTFS}"
12 11