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): # 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)): 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" 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 ?= "" 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 @@ # 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): 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 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 @@ 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" 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 @@ 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" 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 @@ inherit package +PACKAGE_EXTRA_DEPENDS += "tar-native" + PACKAGE_WRITE_FUNCS += "do_package_tar" IMAGE_PKGTYPE ?= "tar" 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): 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 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 @@ -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 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 @@ # 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}"