Skip to content

Conversation

@quaresmajose
Copy link
Member

Tested with the following snip in the conf/local.conf

- Recipe with exclusive LICENSE

require conf/distro/include/lmp-no-gplv3.inc
# ../openembedded-core/meta/recipes-extended/bash/bash_5.2.21.bb:LICENSE = "GPL-3.0-or-later"
IMAGE_INSTALL:append = " bash"

The above config will result in the following error as expected:

$ bitbake lmp-base-console-image
ERROR: lmp-base-console-image-1.0-r0 do_rootfs: Package bash cannot be installed into the image because it has incompatible license(s): LGPL-3.0-or-later

- Recipe with or LICENSE

require conf/distro/include/lmp-no-gplv3.inc
# ../openembedded-core/meta/recipes-support/gmp/gmp_6.3.0.bb:LICENSE = "GPL-2.0-or-later | LGPL-3.0-or-later"
IMAGE_INSTALL:append = " gmp"

The above config will not generate any error

$ bitbake lmp-base-console-image

@quaresmajose
Copy link
Member Author

This PR requires additional changes on the ci-scripts to change the handling of the DISABLE_GPLV3 and also on the documentations side https://docs.foundries.io/latest/reference-manual/linux/linux-oss-compliance.html

@quaresmajose quaresmajose requested a review from a team April 7, 2025 13:51
quaresmajose added a commit to quaresmajose/ci-scripts that referenced this pull request Apr 7, 2025
With the v95 we droped the image-license-checker and lmp-disable-gplv3 bbclass.
foundriesio/meta-lmp#1618

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
@quaresmajose
Copy link
Member Author

This PR requires additional changes on the ci-scripts to change the handling of the DISABLE_GPLV3 and also on the documentations side https://docs.foundries.io/latest/reference-manual/linux/linux-oss-compliance.html

ci-scripts adaptation foundriesio/ci-scripts#380

@quaresmajose quaresmajose marked this pull request as draft April 8, 2025 10:19
@quaresmajose quaresmajose self-assigned this Apr 8, 2025
@quaresmajose quaresmajose marked this pull request as ready for review May 6, 2025 11:14
quaresmajose added a commit to quaresmajose/ci-scripts that referenced this pull request Jun 23, 2025
With the v95 we droped the image-license-checker and lmp-disable-gplv3 bbclass.
foundriesio/meta-lmp#1618

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
Copy link
Contributor

@angolini angolini left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

only few suggestions

quaresmajose added a commit to quaresmajose/ci-scripts that referenced this pull request Jun 24, 2025
With [1] we droped the bitbake image-license-checker and lmp-disable-gplv3 bbclass.
So add support to the new lmp no-gplv3 config.

[1] foundriesio/meta-lmp#1618

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
@quaresmajose
Copy link
Member Author

quaresmajose commented Jul 3, 2025

we need to first merge foundriesio/ci-scripts#380

This variable is not used anymore.

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
- This naming alling better with the upstream implementation in oe-core
- Also add the no-gplv3.inc upstream config as a new requirment

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
…iants

The oe-core INCOMPATIBLE_LICENSE and the INCOMPATIBLE_LICENSE_EXCEPTIONS
can be image specific using overrides but for this to happen we need to know
the image name in advance. The syntax for that is for example the following:

INCOMPATIBLE_LICENSE:pn-core-image-minimal = "GPL-3.0-or-later"
INCOMPATIBLE_LICENSE_EXCEPTIONS:pn-core-image-minimal = "bash:GPL-3.0-or-later"

So for cases where we don't know the name of the image the above solution doesn't work.

To get around this problem we introduce these two variables IMAGE_INCOMPATIBLE_LICENSE
and IMAGE_INCOMPATIBLE_LICENSE_EXCEPTIONS that can be defined globally to mimic
the image override.

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
We can drop this bbclass since we can cover most of the existing cases with
the existing upstream variables INCOMPATIBLE_LICENSE and INCOMPATIBLE_LICENSE_EXCEPTIONS
plus our recently added IMAGE_INCOMPATIBLE_LICENSE and IMAGE_INCOMPATIBLE_LICENSE_EXCEPTIONS.

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
quaresmajose added a commit to quaresmajose/ci-scripts that referenced this pull request Oct 31, 2025
With [1] we replace the bitbake bbclass image-license-checker and lmp-disable-gplv3 bbclass
with the lmp-no-gplv3 bbclass which which also includes definitions implemented in oe-core.

The IMAGE_LICENSE_CHECKER_* is not need anymore and the control is made now with the
variable IMAGE_INCOMPATIBLE_LICENSE.

[1] foundriesio/meta-lmp#1618

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
quaresmajose added a commit to quaresmajose/ci-scripts that referenced this pull request Oct 31, 2025
With [1] we replace the bitbake bbclass image-license-checker and lmp-disable-gplv3 bbclass
with the lmp-no-gplv3 bbclass which also includes definitions implemented in oe-core.

The IMAGE_LICENSE_CHECKER_* is not need anymore and the control is made now with the
variable IMAGE_INCOMPATIBLE_LICENSE.

[1] foundriesio/meta-lmp#1618

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
@ricardosalveti
Copy link
Member

ricardosalveti commented Oct 31, 2025

Can you compare the image manifest from before / after the change? Hopefully it should match.

@quaresmajose
Copy link
Member Author

Can you compare the image manifest from before / after the change? Hopefully it should match.

The image manifest is the same as expected.

ricardosalveti pushed a commit to foundriesio/ci-scripts that referenced this pull request Jan 7, 2026
With [1] we replace the bitbake bbclass image-license-checker and lmp-disable-gplv3 bbclass
with the lmp-no-gplv3 bbclass which also includes definitions implemented in oe-core.

The IMAGE_LICENSE_CHECKER_* is not need anymore and the control is made now with the
variable IMAGE_INCOMPATIBLE_LICENSE.

[1] foundriesio/meta-lmp#1618

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
@quaresmajose quaresmajose merged commit ee3dd69 into foundriesio:main Jan 26, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants