I don't mind changing it like that, I've kept it in one line, because then it's easier to see them all when grepping for ERROR:, will send v2 tomorrow.
On Wed, Mar 4, 2026 at 11:26 PM Peter Kjellerstedt <[email protected]> wrote: > > > -----Original Message----- > > From: [email protected] > > <[email protected]> On Behalf Of Martin Jansa via > > lists.openembedded.org > > Sent: den 4 mars 2026 00:43 > > To: [email protected] > > Cc: Martin Jansa <[email protected]> > > Subject: [OE-core] [PATCH] license_image.bbclass: report all packages with > > incompatible license > > > > From: Martin Jansa <[email protected]> > > > > When multiple packages cannot be installed it shows only first one it > > finds, because of bb.fatal use. It might require many iterations to find > > all packages to avoid. > > > > e.g. with ptest enabled and GPL-3.0-or-later, GPL-3.0-only set as > > incompatible licenses you might get list like this for relatively small > > image: > > > > Some packages cannot be installed into the image because they have > > incompatible licenses: bzip2-ptest (GPL-3.0-or-later), coreutils > > (GPL-3.0-or-later), coreutils-stdbuf (GPL-3.0-or-later), diffutils > > (GPL-3.0-or-later), findutils (GPL-3.0-or-later), gawk (GPL-3.0-or-later), > > gnutls-openssl (GPL-3.0-or-later), gnutls-ptest (GPL-3.0-or-later), grep > > (GPL-3.0-only), make (GPL-3.0-only), mpfr (LGPL-3.0-or-later), > > python3-dbusmock (GPL-3.0-only), readline (GPL-3.0-or-later), sed > > (GPL-3.0-or-later) > > > > Signed-off-by: Martin Jansa <[email protected]> > > --- > > meta/classes-recipe/license_image.bbclass | 6 +++++- > > 1 file changed, 5 insertions(+), 1 deletion(-) > > > > diff --git a/meta/classes-recipe/license_image.bbclass > > b/meta/classes-recipe/license_image.bbclass > > index 8332905da5..252754727b 100644 > > --- a/meta/classes-recipe/license_image.bbclass > > +++ b/meta/classes-recipe/license_image.bbclass > > @@ -116,6 +116,7 @@ def write_license_files(d, license_manifest, pkg_dic, > > rootfs): > > bad_licenses = oe.license.expand_wildcard_licenses(d, bad_licenses) > > pkgarchs = d.getVar("SSTATE_ARCHS").split() > > pkgarchs.reverse() > > + incompatible_packages = [] > > > > exceptions = (d.getVar("INCOMPATIBLE_LICENSE_EXCEPTIONS") or > > "").split() > > with open(license_manifest, "w") as license_file: > > @@ -123,7 +124,7 @@ def write_license_files(d, license_manifest, pkg_dic, > > rootfs): > > remaining_bad_licenses = > > oe.license.apply_pkg_license_exception(pkg, bad_licenses, exceptions) > > incompatible_licenses = oe.license.incompatible_pkg_license(d, > > remaining_bad_licenses, pkg_dic[pkg]["LICENSE"]) > > if incompatible_licenses: > > - bb.fatal("Package %s cannot be installed into the image > > because it has incompatible license(s): %s" %(pkg, ' > > '.join(incompatible_licenses))) > > + incompatible_packages.append("%s (%s)" % (pkg, ' > > '.join(incompatible_licenses))) > > else: > > incompatible_licenses = > > oe.license.incompatible_pkg_license(d, bad_licenses, > > pkg_dic[pkg]["LICENSE"]) > > if incompatible_licenses: > > @@ -171,6 +172,9 @@ def write_license_files(d, license_manifest, pkg_dic, > > rootfs): > > "The license listed %s was not in > > the "\ > > "licenses collected for recipe %s" > > % (lic, pkg_dic[pkg]["PN"]), d) > > + if incompatible_packages: > > + bb.fatal("Some packages cannot be installed into the image because > > they have incompatible licenses: %s" % (', '.join(incompatible_packages))) > > May I suggest to use "\n\t" as separator instead. Especially if you expect > a lot of packages to be shown, having them all on one line becomes messy > very quickly. E.g.: > > bb.fatal("Some packages cannot be installed into the image because > they have incompatible licenses:\n\t%s" % > ("\n\t".join(incompatible_packages))) > > > + > > oe.qa.exit_if_errors(d) > > > > # Two options here: > > //Peter >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#232440): https://lists.openembedded.org/g/openembedded-core/message/232440 Mute This Topic: https://lists.openembedded.org/mt/118124089/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
