Bug 6930

Summary: non GPLv3 build selects wrong recipe when license specifies GPLv3+
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Holger Behrens <holger.behrens>
Component: coreAssignee: Saul Wold <sgw>
Status: VERIFIED FIXED QA Contact: Costin <costin.c.constantin>
Severity: normal    
Priority: High CC: akuster, alexandru.c.georgescu, bluelightning, meta.mr.watcher, meta.watcher, poky.bs.watcher, poky.watcher, ross.burton
Version: 1.7   
Target Milestone: 1.7.1   
Hardware: x86   
OS: Multiple   
Whiteboard: TC needed
OS type for building Yocto: --- Type of Regression: Regression (Used to work)
Verified: Documentation change: No (bug/feature does not impact docs)
Attachments:
Description Flags
license.manifest none

Description Holger Behrens 2014-11-04 15:38:11 UTC
Created attachment 2225 [details]
license.manifest

Using YP 1.7 (dizzy), build core-image-minimal with
    INCOMPATIBLE_LICENSE = "GPLv3"
in local.conf; to make sure that readline is added to the image I added
    IMAGE_INSTALL_append = " gnupg"
to local.conf

Once build is done, check the license.manifest, e.g.
    tmp/deploy/licenses/core-image-minimal-qemux86-20141104134601/license.manifest

Searching for GPLv3 reveals this:

PACKAGE NAME: libreadline6
PACKAGE VERSION: 6.3
RECIPE NAME: readline
LICENSE: GPLv3+


So instead of readline_5.2.bb (which is GPLv2) readline_6.3.bb is selected even so it is a non GPLv3 build.
Comment 1 Paul Eggleton 2014-11-04 15:53:01 UTC
This is a regression in 1.7 and may relate to the canonicalisation of licenses. A patch relating to this was submitted recently and does appear to resolve the issue:

http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=8c051c8c318b5dba8da968850dccd64238d19619

If this is indeed the correct fix it will need to be backported to the dizzy branch.
Comment 2 Paul Eggleton 2014-11-05 12:09:53 UTC
Richard has now applied the above patch to the dizzy branch for 1.7.1:

http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?h=dizzy&id=f3a177cf045b19612b7d2c96889ac24307191c3d
Comment 3 Paul Eggleton 2014-11-05 12:13:39 UTC
For clarity, this doesn't just affect readline, it affects any recipe where license ends in + and isn't already in SPDX form (i.e. "GPLv3+" when INCOMPATIBLE_LICENSE = "GPLv3"). I've updated the title of the bug accordingly.
Comment 4 Costin 2015-03-13 08:42:48 UTC
Hello,

Tested as on comment#1 both on dizzy (93e3df91aaebd48b9c4af946247f3488681d32b6) and on master (c60786cec04230cc4318d269d29029de76012fb0) on Ubuntu 14.10. Everything is fine. Marking as verified.

cosscat@ubnt:/media/yp_builds/poky/build/tmp/deploy/licenses/core-image-minimal-qemux86-20150313075039$ grep -i gpl3 license.manifest
cosscat@ubnt:/media/yp_builds/poky/build/tmp/deploy/licenses/core-image-minimal-qemux86-20150313075039$ pwd
/media/yp_builds/poky/build/tmp/deploy/licenses/core-image-minimal-qemux86-20150313075039

Costin