Fixed
Created: Jun 14, 2016
Updated: Sep 8, 2018
Resolved Date: Jun 24, 2016
Found In Version: 7.0.0.13
Fix Version: 7.0.0.17
Severity: Standard
Applicable for: Wind River Linux 7
Component/s: Build & Config
native, nativesdk, and on-target package versions should be kept in sync when using license blacklist.
openembedded-core commit e5a40391dfa12c44f31bdb7550df1275edda3864 (
https://github.com/openembedded/openembedded-core/commit/e5a40391dfa12c44f31bdb7550df1275edda3864)
acknowledges that there is a problem when native packages get out of sync with the on-target flavor of the same recipe when
using the INCOMPATIBLE_LICENSE blacklist.
Nativesdk packages should also have a version matching the target package’s version.
--- oe-core/meta/conf/distro/include/default-versions.inc 2016-06-13 16:31:41.426979028 -0500
+++ oe-core/meta/conf/distro/include/default-versions.inc 2016-06-13 16:31:56.715476126 -0500
@@ -13,3 +13,4 @@ PREFERRED_VERSION_liberation-fonts ?= "1
# Force db-native's version to keep sync with db while
# 'AGPL-3.0' in ${INCOMPATIBLE_LICENSE} blacklist
PREFERRED_VERSION_db-native = "${@incompatible_license_contains('AGPL-3.0', '5.%', '6.%', d)}"
+PREFERRED_VERSION_nativesdk-db = "${@incompatible_license_contains('AGPL-3.0', '5.%', '6.%', d)}"
Customer blacklists the AGPL-3.0 license and this causes db and db-native to fall back to the older 5.3.28 version that uses the more permissive Sleepycat license. Nativesdk-db is still using version 6.0.30 under the AGPL-3.0 license. Wind River’s Yocto build has completed, and now they want to install some additional RPMs (e.g. Board Services) into the distribution. If they used the rpm utility that is shipped in the SDK, it would be compiled using an incompatible version of the db package
(Berkeley database). The RPM database in the distribution tarball, ISO, etc. is now contaminated, because the nativesdk flavor of rpm uses a newer database format than the on target flavor of rpm.
The builds are outputting this:
db-5.3.28
db-native-5.3.28
nativesdk-db-6.0.30
Ideally, package versions should align for native, nativesdk, and on target flavors of all recipes, but at the very least the expectation is that the versions align for the db recipe.