[oe-commits] Richard Purdie : package.bbclass: Ensure task' s variable dependencies are correctly caputred in the sstate checksum
git version control
git at git.openembedded.org
Wed Aug 31 18:33:22 UTC 2011
Module: openembedded-core.git
Branch: master
Commit: 0614b9aa62a46f81d334ca4230080cc707347f3c
URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=0614b9aa62a46f81d334ca4230080cc707347f3c
Author: Richard Purdie <richard.purdie at linuxfoundation.org>
Date: Tue Aug 30 14:22:21 2011 +0100
package.bbclass: Ensure task's variable dependencies are correctly caputred in the sstate checksum
[YOCTO #1388]
This change is needed to correctly add the dependencies for the do_package
task which bitbake is unable to automatically detect itself.
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
meta/classes/multilib.bbclass | 3 ++-
meta/classes/package.bbclass | 14 ++++++++++++++
2 files changed, 16 insertions(+), 1 deletions(-)
diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
index 286b806..5d975fd 100644
--- a/meta/classes/multilib.bbclass
+++ b/meta/classes/multilib.bbclass
@@ -72,8 +72,9 @@ python __anonymous () {
d.setVar("PACKAGES", " ".join([row[1] for row in pkgs_mapping]))
+ vars = (d.getVar("PACKAGEVARS", True) or "").split()
for pkg_mapping in pkgs_mapping:
- for subs in ["FILES", "RDEPENDS", "RRECOMMENDS", "SUMMARY", "DESCRIPTION", "RSUGGESTS", "RPROVIDES", "RCONFLICTS", "PKG", "ALLOW_EMPTY", "pkg_postinst", "pkg_postrm", "INITSCRIPT_NAME", "INITSCRIPT_PARAMS"]:
+ for subs in vars:
d.renameVar("%s_%s" % (subs, pkg_mapping[0]), "%s_%s" % (subs, pkg_mapping[1]))
map_dependencies("DEPENDS", d)
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 15c4142..73e8f63 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -1620,6 +1620,19 @@ python package_depchains() {
pkg_addrrecs(pkg, base, suffix, func, rdeps, d)
}
+# Since bitbake can't determine which variables are accessed during package
+# iteration, we need to list them here:
+PACKAGEVARS = "FILES RDEPENDS RRECOMMENDS SUMMARY DESCRIPTION RSUGGESTS RPROVIDES RCONFLICTS PKG ALLOW_EMPTY pkg_postinst pkg_postrm INITSCRIPT_NAME INITSCRIPT_PARAMS"
+
+def gen_packagevar(d):
+ ret = []
+ pkgs = (d.getVar("PACKAGES", True) or "").split()
+ vars = (d.getVar("PACKAGEVARS", True) or "").split()
+ for p in pkgs:
+ for v in vars:
+ ret.append(v + "_" + p)
+ return " ".join(ret)
+
PACKAGE_PREPROCESS_FUNCS ?= ""
PACKAGEFUNCS ?= "package_get_auto_pr \
perform_packagecopy \
@@ -1656,6 +1669,7 @@ python do_package () {
}
do_package[dirs] = "${SHLIBSWORKDIR} ${PKGDESTWORK} ${D}"
+do_package[vardeps] += "${PACKAGEFUNCS} ${@gen_packagevar(d)}"
addtask package before do_build after do_install
PACKAGELOCK = "${STAGING_DIR}/package-output.lock"
More information about the Openembedded-commits
mailing list