Bug 3980

Summary: Stamp doesn't update if referenced function changes
Product: [Build System, Metadata & Runtime] BitBake Reporter: Ross Burton <ross.burton>
Component: bitbakeAssignee: Richard Purdie <richard.purdie>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium+ CC: poky.bs.watcher, poky.watcher
Version: 1.4   
Target Milestone: 1.4 M5   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: ---

Description Ross Burton 2013-03-04 17:43:20 UTC
For example, update-rcd.bbclass does this:

PACKAGESPLITFUNCS_prepend = "populate_packages_updatercd "

python populate_packages_updatercd () {
    ....
}

If I change the body of populate_packages_updatercd (say, add a print statement) and re-build an image, it doesn't re-run the populate-packages tasks.
Comment 1 Richard Purdie 2013-03-05 12:06:32 UTC
Suspected fix:
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index b9ac0e6..d37499f 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -1841,7 +1841,7 @@ python do_package () {
 }
 
 do_package[dirs] = "${SHLIBSWORKDIR} ${PKGDESTWORK} ${D}"
-do_package[vardeps] += "${PACKAGEFUNCS} ${@gen_packagevar(d)}"
+do_package[vardeps] += "${PACKAGEBUILDPKGD} ${PACKAGESPLITFUNCS} ${PACKAGEFUNCS} ${@gen_packagevar(d)}"
 addtask package before do_build after do_install
 
 PACKAGELOCK = "${STAGING_DIR}/package-output.lock"
Comment 2 Richard Purdie 2013-03-05 12:12:05 UTC
Suspected fix:
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index b9ac0e6..d37499f 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -1841,7 +1841,7 @@ python do_package () {
 }
 
 do_package[dirs] = "${SHLIBSWORKDIR} ${PKGDESTWORK} ${D}"
-do_package[vardeps] += "${PACKAGEFUNCS} ${@gen_packagevar(d)}"
+do_package[vardeps] += "${PACKAGEBUILDPKGD} ${PACKAGESPLITFUNCS} ${PACKAGEFUNCS} ${@gen_packagevar(d)}"
 addtask package before do_build after do_install
 
 PACKAGELOCK = "${STAGING_DIR}/package-output.lock"