| Summary: | gettext: GPL-3 is not checked in order to be exluded from a non-GPLv3 build | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Andrei Gherzan <andrei> |
| Component: | core | Assignee: | Andrei Gherzan <andrei> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | Medium | CC: | meta.mr.watcher, meta.watcher |
| Version: | unspecified | ||
| Target Milestone: | 1.2 M2 | ||
| Hardware: | x86 | ||
| OS: | Multiple | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | --- | |
(In reply to comment #0) > If non-GPLv3 build fix-gettext-version.patch should be included. This was done > already but the "if" structure (probably) contains a typo. > > if not ((d.getVar("INCOMPATIBLE_LICENSE", True) or "").find("GPLv3") != -1): > This means (if INCOMPATIBLE_LICENSE DOESN'T contain GPLv3) cause it's a double > negation. > > This should be fixed to exclude that "not": > if ((d.getVar("INCOMPATIBLE_LICENSE", True) or "").find("GPLv3") != -1): > > I sent an email to oe-core with the very simple fix. > > Please be aware that this bug makes a non-GPLv3 build not build-able - this is > why i will set Severity on "major". After looking a little more into this problem i realized that i was wrong. The problem is not here. The problem is that gettext 0.18 is not excluded from a non-GPLv3 build even if it is GPLv3 license. In a non-GPLv3 build gettext 0.18 is compiled but in gnutls, the patch for this gettext version is omitted due to the above specified patch and it fails with this error: ... | make[4]: Entering directory `/home/agherzan/work/wrs/yocto-adige/test/tmp/work/armv5te-poky-linux-gnueabi/gnutls-2.12.14-r3.4/gnutls-2.12.14/lib/po' | *** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version 0.17 but the autoconf macros are from gettext version 0.18 ... I found strange the fact that gettext has in it's bb file the following license: LICENSE = "GPL-3+ & LGPL-2.1+" I checked the license and it is GPLv3. GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 So after all it is a typo... Sau, what do you think about this issue? P.S.: Fortunately, i realized this in time not to send this patch to oe-core. I sent a patch for this (as a workaround or not). http://lists.linuxtogo.org/pipermail/openembedded-core/2012-January/015848.html I sent a patch for this (as a workaround or not) and modified the summary of this bug. http://lists.linuxtogo.org/pipermail/openembedded-core/2012-January/015848.html I demoted this to normal, major is for when a core builds are broken and needs to be fixed by a Milestone (M1, M2, ...) I assigned this back to you since you appear to be working on this issue. I would suggest that you extend the code handling INCOMPATIBLE_LICENSE to use the SPDX names also. So we have 2 names for GPLv3 (OE-Style) and GPL-3 (SPDX) commit 4005c3ff5e673f9d561026c76326054bd0a3a2b6 |
If non-GPLv3 build fix-gettext-version.patch should be included. This was done already but the "if" structure (probably) contains a typo. if not ((d.getVar("INCOMPATIBLE_LICENSE", True) or "").find("GPLv3") != -1): This means (if INCOMPATIBLE_LICENSE DOESN'T contain GPLv3) cause it's a double negation. This should be fixed to exclude that "not": if ((d.getVar("INCOMPATIBLE_LICENSE", True) or "").find("GPLv3") != -1): I sent an email to oe-core with the very simple fix. Please be aware that this bug makes a non-GPLv3 build not build-able - this is why i will set Severity on "major".