other ways of removing GPLv3 components (than meta-gplv2) #gplv3
Peter
Hi |
|
Alexander Kanavin
On Thu, 6 Oct 2022 at 15:27, Peter via lists.yoctoproject.org
<poberauer=yahoo.co.uk@...> wrote: "It is over. There are no excuses left if you are still using meta-gplv2."The suggested way nowadays is to set INCOMPATIBLE_LICENSE only for the image that is actually going to ship in a product, then work your way throgh specific gpl3 dependencies that get pulled in, and eliminate them one by one - precisely how is impossible to tell beforehands, but typical problems are bash scripts (which you need to package separately and not include into the product, or rewrite in posix shell and use #!/bin/sh), or optional dependencies on things like readline, which can be switched off via PACKAGECONFIG tweaks. Alex |
|
Michael Opdenacker
Hi Peter,
On 06.10.22 15:46, Alexander Kanavin wrote: On Thu, 6 Oct 2022 at 15:27, Peter via lists.yoctoproject.orgThanks for raising this question, and thanks to Alex for providing guidelines. I agree that the current wiki and documentation don't provide enough information on excluding GPLv3 packages. I'll propose an update to the manuals. Stay tuned on the docs mailing lists... Cheers Michael. -- Michael Opdenacker, Bootlin Embedded Linux and Kernel engineering https://bootlin.com |
|
Peter
Thank you for the replies, Alex and Michael. |
|
Alexander Kanavin
For what it's worth, I have eliminated meta-gplv2 from the
infotainment stack (e.g. a major build) of a major car OEM, so this is doable. It would help if you bring up specific issues that you see and we try to figure out how to solve them, and come up with a list of 'standard practices'. Even bash has a sort-of replacement in busybox, which needs to be enabled and played with. Alex On Fri, 7 Oct 2022 at 11:28, Peter via lists.yoctoproject.org <poberauer=yahoo.co.uk@...> wrote:
|
|
Alexander Kanavin
Oh and: anywhere where INCOMPATIBLE_LICENSE is mentioned in the docs,
toggle quoted message
Show quoted text
it must be adjusted to stress that per-image variant of it is a far better option than a global ban. Also further instructions and pointers, e.g. to the tests we have which can serve as a starting point: https://git.yoctoproject.org/poky/tree/meta/lib/oeqa/selftest/cases/incompatible_lic.py#n100 Alex On Fri, 7 Oct 2022 at 11:35, Alexander Kanavin via lists.yoctoproject.org <alex.kanavin=gmail.com@...> wrote:
|
|
Peter
Hi Alex and Michael |
|
Alexander Kanavin
On Mon, 24 Oct 2022 at 13:58, Peter via lists.yoctoproject.org
<poberauer=yahoo.co.uk@...> wrote: However, the documentation recommends the global ban and does not mention the per-image variant?Yes, someone should go over the documentation and change every mention of this to recommend per-image variant, as a global one is basically impossible to use without pulling in meta-gpl2. Patches welcome :) Out of curiosity, why does the per image variant work, but not the global ban?Global ban works at the task dependency creation stage, and if bash needs to be built, it will throw an error, even if the actual bash binary will not end up in the image, and is only used as a runtime dependency for a package that won't be installed. Per-image ban performs a 'late' check when the image is actually put together. You should now know everything to fix the docs ;-) And how should one know to use the pn- prefix? i.e.pn- means 'applies only to this recipe'. The package vs recipe terminology is confusing here for historical reasons. Alex |
|
Michael Opdenacker
On 10/24/22 14:27, Alexander Kanavin wrote:
On Mon, 24 Oct 2022 at 13:58, Peter via lists.yoctoproject.orgThanks! I should be able to send a patch this week. Cheers Michael. -- Michael Opdenacker, Bootlin Embedded Linux and Kernel engineering https://bootlin.com |
|