Bug 2438

Summary: While upreving a package, not all dependent packages were rebuilt
Product: [Build System, Metadata & Runtime] BitBake Reporter: Mark Hatle <mark.hatle>
Component: bitbakeAssignee: Richard Purdie <richard.purdie>
Status: RESOLVED INVALID QA Contact:
Severity: normal    
Priority: Undecided CC: poky.bs.watcher, poky.watcher
Version: unspecified   
Target Milestone: ---   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: ---

Description Mark Hatle 2012-05-08 17:18:48 UTC
When upreving RPM on oe-core, I needed to uprev both 'rpm' and 'db' packages.  When doing so, sat-solver, which requires both rpm and db did not rebuild.  This caused a failure during image installation as it had a specific dependency on the previously built db.

The following steps should be able to reproduce the problem I saw:

oe-core commit: 2929e7d590862d9649458c90804e79a1dce40423
bitbake commit: 283dbbbf5d34adb4c9e3aa87e3925fdebe21ff42

configure and build an image that uses RPM as the package manager and has rpm, db, sat-solver and zypper in it.  For my tests I build "self-hosted-image".

Apply the commit: 15d882a3fc17afd408dd1db25e1277549fe52e8b  for poky-contrib

(this will uprev rpm and berkley db)

run bitbake self-hosted-image again (or similar).  You should see rpm-native, db-native, rpm and db... and a few other things rebuild.  But sat-solver, which DEPENDS on both db and rpm will not rebuild.

When the rootfs generation starts, an error from sat-solver saying it needs libdb-5.1 (the previous version) will occur.

If you run bitbake -c clean sat-solver ; bitbake sat-solver  this will correct the issue and the image will now build properly.
Comment 1 Mark Hatle 2012-05-10 19:15:15 UTC
Additional information.  I did NOT have:

 BB_SIGNATURE_HANDLER = 'OEBasicHash'

So the older less precise signature handling was occurring.  The behavior documented in this item is correct for the older handler, even though it is not necessarily the best behavior.

Will resolve the defect as expected behavior...