On Saturday 09 October 2021 at 15:51:35 +0000, Peter Kjellerstedt wrote: > > -----Original Message----- > > From: [email protected] <openembedded- > > [email protected]> On Behalf Of Mike Crowe via > > lists.openembedded.org > > Sent: den 8 oktober 2021 10:54 > > To: [email protected] > > Cc: Mike Crowe <[email protected]> > > Subject: [OE-core] [PATCH] license: Allow treating missing license as > > error > > > > Use mechanism inspired by insane.bbclass to allow individual recipes or > > other configuration to determine whether a missing licence should be > > treated as a warning (as it is now) or as an error. This is controlled > > by whether the error class is in WARN_LICENSE or ERROR_LICENSE. > > > > Use bb.fatal in the error case to ensure that the task really fails. If > > only bb.error is used then do_populate_lic isn't re-run on subsequent > > builds which could lead to the error being missed. > > > > Signed-off-by: Mike Crowe <[email protected]> > > --- > > meta/classes/license.bbclass | 19 ++++++++++++++++++- > > 1 file changed, 18 insertions(+), 1 deletion(-) > > > > diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass > > index 45d912741d..1805f18076 100644 > > --- a/meta/classes/license.bbclass > > +++ b/meta/classes/license.bbclass > > @@ -12,6 +12,23 @@ LICENSE_CREATE_PACKAGE ??= "0" > > LICENSE_PACKAGE_SUFFIX ??= "-lic" > > LICENSE_FILES_DIRECTORY ??= "${datadir}/licenses/" > > > > +# Elect whether a given type of error is a warning or error, they may > > +# have been set by other files. > > +WARN_LICENSE ?= "no-license" > > +ERROR_LICENSE ?= "" > > +WARN_LICENSE[doc] = "Space-separated list of license problems that should > > be reported only as warnings" > > +ERROR_LICENSE[doc] = "Space-separated list of license problems that should > > be reported as errors" > > + > > +def package_license_handle_error(error_class, error_msg, d): > > + if error_class in (d.getVar("ERROR_LICENSE") or "").split(): > > + package_qa_write_error(error_class, error_msg, d) > > + bb.fatal("License Issue: %s [%s]" % (error_msg, error_class)) > > + elif error_class in (d.getVar("WARN_LICENSE") or "").split(): > > + package_qa_write_error(error_class, error_msg, d) > > + bb.warn("License Issue: %s [%s]" % (error_msg, error_class)) > > + else: > > + bb.note("QA Issue: %s [%s]" % (error_msg, error_class)) > > Change "QA Issue" to "License Issue" for consistency.
Whoops. Thanks for spotting that. I've posted v2 with it fixed. Mike.
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#156792): https://lists.openembedded.org/g/openembedded-core/message/156792 Mute This Topic: https://lists.openembedded.org/mt/86165990/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
