]> code.ossystems Code Review - openembedded-core.git/commitdiff
classes: Rework core dependencies to work properly at the task level
authorRichard Purdie <richard@openedhand.com>
Tue, 3 Apr 2007 11:31:02 +0000 (11:31 +0000)
committerRichard Purdie <richard@openedhand.com>
Tue, 3 Apr 2007 11:31:02 +0000 (11:31 +0000)
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1427 311d38ba-8fff-0310-9ca6-ca027cbcb966

meta/classes/base.bbclass
meta/classes/image.bbclass
meta/classes/insane.bbclass
meta/classes/package.bbclass
meta/classes/package_deb.bbclass
meta/classes/package_ipk.bbclass
meta/classes/package_tar.bbclass
meta/classes/patch.bbclass
meta/classes/rootfs_deb.bbclass
meta/classes/rootfs_ipk.bbclass

index 3cff42c13829b492477b3dc03efb844cd51bb4d2..4a1b09b1a4b0ee1eec8fc350b0bf41db438cedfb 100644 (file)
@@ -12,12 +12,6 @@ def base_dep_prepend(d):
        # INHIBIT_DEFAULT_DEPS doesn't apply to the patch command.  Whether or  not
        # we need that built is the responsibility of the patch function / class, not
        # the application.
-       patchdeps = bb.data.getVar("PATCHTOOL", d, 1)
-        if patchdeps:
-               patchdeps = "%s-native" % patchdeps
-               if not patchdeps in bb.data.getVar("PROVIDES", d, 1):
-                       deps = patchdeps
-
        if not bb.data.getVar('INHIBIT_DEFAULT_DEPS', d):
                if (bb.data.getVar('HOST_SYS', d, 1) !=
                    bb.data.getVar('BUILD_SYS', d, 1)):
index d8c6ccff216be001db79db9643907b6e3bb5a85e..edb04029b2a56cc1d7bcb548d4e8ac516a29a5f9 100644 (file)
@@ -13,19 +13,21 @@ USE_DEVFS ?= "0"
 
 PID = "${@os.getpid()}"
 
-DEPENDS += "makedevs-native"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
-def get_image_deps(d):
-       import bb
-       str = ""
-       for type in (bb.data.getVar('IMAGE_FSTYPES', d, 1) or "").split():
-               deps = bb.data.getVar('IMAGE_DEPENDS_%s' % type, d) or ""
-               if deps:
-                       str += " %s" % deps
-       return str
+do_rootfs[depends] += "makedevs-native:do_populate_staging fakeroot-native:do_populate_staging"
 
-DEPENDS += "${@get_image_deps(d)}"
+python () {
+    import bb
+
+    deps = bb.data.getVarFlag('do_rootfs', 'depends', d) or ""
+    for type in (bb.data.getVar('IMAGE_FSTYPES', d, 1) or "").split():
+        for dep in ((bb.data.getVar('IMAGE_DEPENDS_%s' % type, d) or "").split() or []):
+            deps += " %s:do_populate_staging" % dep
+    for dep in (bb.data.getVar('EXTRA_IMAGEDEPENDS', d, 1) or "").split():
+        deps += " %s:do_populate_staging" % dep
+    bb.data.setVarFlag('do_rootfs', 'depends', deps, d)
+}
 
 IMAGE_DEVICE_TABLE ?= "${@bb.which(bb.data.getVar('BBPATH', d, 1), 'files/device_table-minimal.txt')}"
 IMAGE_POSTPROCESS_COMMAND ?= ""
index 4bceaaed82bcbbb3b0467e7d611c05d8a80d8e9a..eef4f726784b20373350b3bada95f203c3dec777 100644 (file)
@@ -20,7 +20,7 @@
 
 # We play a special package function
 inherit package
-PACKAGE_DEPENDS += "pax-utils-native"
+do_package[depends] += "pax-utils-native:do_populate_staging"
 PACKAGEFUNCS += " do_package_qa "
 
 def package_qa_check_rpath(file,name,d):
index 21fe94e94e91fe52ed0c970fbd88fdb7f17411d8..0919f302b98f4aea85b265b137df4b5ceaf477a5 100644 (file)
@@ -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
 
index 18cba66da0a02784067b2bbba192acaf794b6359..907fbd9ebfc9d84a710ce519042738c58679943d 100644 (file)
@@ -1,5 +1,7 @@
 inherit package
-DEPENDS_prepend="${@["dpkg-native ", ""][(bb.data.getVar('PACKAGES', d, 1) == '')]}"
+
+PACKAGE_EXTRA_DEPENDS += "dpkg-native fakeroot-native"
+
 BOOTSTRAP_EXTRA_RDEPENDS += "dpkg"
 DISTRO_EXTRA_RDEPENDS += "dpkg"
 PACKAGE_WRITE_FUNCS += "do_package_deb"
index 54fecf665959da9d0bcf8f11e5b6142dd9854327..334148219b766f95e87d741d5802477176bd11dc 100644 (file)
@@ -1,5 +1,7 @@
 inherit package
-DEPENDS_prepend="${@["ipkg-utils-native ", ""][(bb.data.getVar('PACKAGES', d, 1) == '')]}"
+
+PACKAGE_EXTRA_DEPENDS += "ipkg-utils-native fakeroot-native"
+
 BOOTSTRAP_EXTRA_RDEPENDS += "ipkg-collateral ipkg ipkg-link"
 DISTRO_EXTRA_RDEPENDS += "ipkg-collateral ipkg ipkg-link"
 PACKAGE_WRITE_FUNCS += "do_package_ipk"
index 81ae0f84a06de5be80cfdf0b57193f7846b942f1..17216a86f43f3e5c66970c84051fa3435ab738ed 100644 (file)
@@ -1,5 +1,7 @@
 inherit package
 
+PACKAGE_EXTRA_DEPENDS += "tar-native"
+
 PACKAGE_WRITE_FUNCS += "do_package_tar"
 IMAGE_PKGTYPE ?= "tar"
 
index e051b0344a353b4b36cb8e49748f9fc3b1fafac8..b794f8159355004044a6cad75c3f0fcbae040efd 100644 (file)
@@ -391,6 +391,8 @@ def patch_init(d):
 
 addtask patch after do_unpack
 do_patch[dirs] = "${WORKDIR}"
+do_patch[depends] = "${PATCHTOOL}-native:do_populate_staging"
+
 python patch_do_patch() {
        import re
        import bb.fetch
index 3cd1d0d04d7491c554e867bbf1f4eeea77a4e779..3989dc333b40d6ddffbdccfcf21360829e04cd95 100644 (file)
@@ -1,5 +1,5 @@
-DEPENDS_prepend = "dpkg-native apt-native fakeroot-native "
-DEPENDS_append = " ${EXTRA_IMAGEDEPENDS}"
+
+do_rootfs[depends] += "dpkg-native:do_populate_staging apt-native:do_populate_staging"
 
 fakeroot rootfs_deb_do_rootfs () {
        set +e
index 28296a7e8616319ce4ad7d4002c48c0ccdffa92c..0e38579cd4ba19f954bbde19debd0c61151a7ad3 100644 (file)
@@ -5,8 +5,7 @@
 # See image.bbclass for a usage of this.
 #
 
-DEPENDS_prepend="ipkg-native ipkg-utils-native fakeroot-native "
-DEPENDS_append=" ${EXTRA_IMAGEDEPENDS}"
+do_rootfs[depends] += "ipkg-native:do_populate_staging ipkg-utils-native:do_populate_staging"
 
 IPKG_ARGS = "-f ${T}/ipkg.conf -o ${IMAGE_ROOTFS}"