mbox series

[0/4] Incompatible license handling fixes

Message ID 20241018220818.4042304-1-JPEWhacker@gmail.com
Headers show
Series Incompatible license handling fixes | expand

Message

Joshua Watt Oct. 18, 2024, 9:59 p.m. UTC
I noticed that INCOMPATIBLE_LICENSE was not applying *-locale-*
packages at packaging time like other packages. This meant that if there
were *-locale-* packages with an incompatible license, they would still
be generated, and then the final image would likely fail when the
packages were added to it.

These patches are more less ordered from least controversial to most
controversial :)

I suspect the first two are probably fine optimizations, the third uses
the new library code to make sure INCOMPATIBLE_LICENCE correctly applies
to *-locale-* packages. This same call would likely also need to be
called anywhere else dynamic package generation happens, unless there is
some smart way to detect that.

Finally, the last patch makes it possible to set the LICENSE field of
the generated *-locale-* packages, by making them match
LICENSE:${PN}-locale, if set. This provides a means for recipe writes to
affect the license of the split locale packages in the event that it
doesn't match the recipe LICENSE. This makes logical sense to me, but
please let me know if I'm missing some important assumption


Joshua Watt (4):
  classes-global/license: Move functions to library code
  lib: license: Move package license skip to library
  lib: package: Check for incompatible licenses in locale packages
  lib: package: Copy locale license

 meta/classes-global/base.bbclass          |  42 +----
 meta/classes-global/license.bbclass       | 165 ------------------
 meta/classes-recipe/license_image.bbclass |  14 +-
 meta/lib/oe/license.py                    | 203 ++++++++++++++++++++++
 meta/lib/oe/package.py                    |   7 +
 5 files changed, 224 insertions(+), 207 deletions(-)