Bug 6858

Summary: version of db and db-native (used by rpm and rpm-native) might need to match while "AGPL-3.0" in ${INCOMPATIBLE_LICENSE}
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Hongxu Jia <hongxu.jia>
Component: coreAssignee: Hongxu Jia <hongxu.jia>
Status: VERIFIED FIXED QA Contact: Costin <costin.c.constantin>
Severity: normal    
Priority: Medium+ CC: alexandru.c.georgescu, liezhi.yang, mark.hatle, meta.mr.watcher, meta.watcher
Version: 1.8   
Target Milestone: 1.8 M1   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Don't know

Description Hongxu Jia 2014-10-20 11:24:34 UTC
Test Steps:

1. vim local.conf
...
IMAGE_FEATURES += "package-management ssh-server-dropbear"
INCOMPATIBLE_LICENSE="AGPL-3.0"
...

2. build core-image-minimal
bitbake core-image-minimal

3. run qemu and execute 'rpm -qa' failed

root@qemux86-64:~# rpm -qa
rpmdb: BDB2531 Unacceptable log file /var/lib/rpm/./log/log.0000000001: unsupported log version 21
rpmdb: BDB2527 Invalid log file: log.0000000001: Invalid argument
rpmdb: BDB0061 PANIC: Invalid argument
==> rpmdbe_event_notify(0x623f40, PANIC(0), 0x7fffee0fbc0c) app_private (nil)
rpmdb: BDB1546 unable to join the environment
error: db_init:/home/jiahongxu/yocto/build-20141017-rpm/tmp/work/core2-64-poky-linux/rpm/5.4.14-r0/rpm-5.4.14/rpmdb/db3.c:1144: dbenv->open(-30973): BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
Re-opening dbenv with DB_RECOVER ...
rpmdb: BDB2531 Unacceptable log file /var/lib/rpm/./log/log.0000000001: unsupported log version 21
rpmdb: BDB2527 Invalid log file: log.0000000001: Invalid argument
rpmdb: BDB0061 PANIC: Invalid argument
==> rpmdbe_event_notify(0x623f40, PANIC(0), 0x7fffee0fbc0c) app_private (nil)
rpmdb: BDB1546 unable to join the environment
error: db_init:/home/jiahongxu/yocto/build-20141017-rpm/tmp/work/core2-64-poky-linux/rpm/5.4.14-r0/rpm-5.4.14/rpmdb/db3.c:1144: dbenv->open(-30973): BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery


Analysis:

db 6.0.30's LICENSE is 'AGPL-3.0', and db 5.3.28 LICENSE is 'Sleepycat'

While building rpm image with "AGPL-3.0" in ${INCOMPATIBLE_LICENSE},
db 6.0.30 and db-native 5.3.28 were built, the different versions
caused the issue.
Comment 1 Mark Hatle 2014-10-21 03:23:54 UTC
I think that we may have to solve this issue by implementing an anonymous python function that syncs up both the target and host versions of DB, when the license blacklist is enabled.

Otherwise, I think the PREFERRED_VERSION will work for both host and target automatically.
Comment 3 Costin 2015-03-12 19:14:38 UTC
Hello,

Tested as on comment #1. Everything is fine. Poky hash: 0aff27522d467ee5d02289594207ddef4add7081

Marking as verified.

Costin