Re: INCOMPATIBLE_LICENSE - how to use it properly?


Alexander Kanavin
 

It goes over a list of packages installed into their image, and checks their licensing. If something was directly built into something else, it will not produce a separate package, and therefore you need to handle that separately: perhaps by setting the package license appropriately in respective recipes (they needs to carry the licenses of items coming directly as headers from other recipes).

Alex


On Tue, 30 Jun 2020 at 12:01, John Ernberg <john.ernberg@...> wrote:
Hi Alex,

I will give this a try on master.

One question though, will this still catch build-only libraries? (i.e. a
library that consists only of headers). I don't think we have such
recipes right now, it's more to understand how this feature works.

Thank you.

Best regards // John Ernberg

On 6/30/20 11:55 AM, Alexander Kanavin wrote:
> On master, you can set INCOMPATIBLE_LICENSE in the image recipe, rather
> than globally, then the check would only be performed on items that
> actually go into that image.
>
> Warrior does not have that feature yet, I think, so your only option
> there is meta-gpl2.
>
> Alex
>
> On Tue, 30 Jun 2020 at 11:34, John Ernberg <john.ernberg@...
> <mailto:john.ernberg@...>> wrote:
>
>     Hi,
>
>     I have been trying to use INCOMPATIBLE_LICENSE to filter out
>     undesirable
>     licenses for us from our images. I started simple and picked the
>     examples from the manual (AGPL-3.0, GPL-3.0 and LGPL-3.0).
>
>     Currently we're based on Warrior, but I also did a short test on master
>     (results later in the message)
>
>     Our images use systemd as init system. We use busybox ash as shell on
>     these images for now.
>
>     When setting the INCOMPATIBLE_LICENSE according to the manual example,
>     systemd cannot be built anymore because bash is being skipped due to
>     license.
>
>     Turns out that because systemd-bash-completion and
>     systemd-kernel-install both rdepend on bash, we can't build systemd at
>     all, because bash is not buildable. Even if we're not installing those
>     features of systemd.
>
>     A dive into TaskData suggests that all the rdepends of all packages
>     provided by a recipe are flattened into depends of the recipe when
>     testing buildability.
>
>     A quick test on master from about 2 weeks ago show the same behavior.
>
>     For the test on master all I did was change the DISTRO_FEATURES of
>     core-image-minimal to include systemd.
>
>
>     Am I using ICOMPATIBLE_LICENSE properly so far?
>     If so, is being unable to fulfill an rdepend for an unused package
>     meant
>     to fail the whole build, and how can I avoid it short of including
>     meta-gplv2 or writing lots of .bbappends to remove the dependencies?
>     Otherwise, where did I go wrong, and what should I be trying instead?
>
>     Thank you.
>
>     Best regards // John Ernberg
>     
>

Join yocto@lists.yoctoproject.org to automatically receive all group messages.