From: Mike Crowe <mac@mcrowe.com>
To: Richard Purdie <richard.purdie@linuxfoundation.org>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH v3 2/2] license: Allow treating missing license as error
Date: Fri, 15 Oct 2021 12:04:47 +0100 [thread overview]
Message-ID: <YWlgTxcWsxJU+ePY@mcrowe.com> (raw)
In-Reply-To: <9ba1f7ade04de4af7731cfd85bb0484ff0aae63e.camel@linuxfoundation.org>
On Thursday 14 October 2021 at 22:48:07 +0100, Richard Purdie wrote:
> On Thu, 2021-10-14 at 18:09 +0100, Mike Crowe wrote:
> > On Thursday 14 October 2021 at 17:54:18 +0100, Richard Purdie wrote:
> > > On Thu, 2021-10-14 at 17:42 +0100, Mike Crowe via lists.openembedded.org wrote:
> > > > On Wednesday 13 October 2021 at 11:48:05 +0100, Mike Crowe wrote:
> > > > > Use the same WARN_WA and ERROR_QA variables as insane.bbclass to allow
> > > > > individual recipes, the distro or other configuration to determine
> > > > > whether a missing licence should be treated as a warning (as it is now)
> > > > > or as an error.
> > > > >
> > > > > oe.qa.handle_error isn't immediately fatal, so track the overall sanity
> > > > > state and call bb.fatal if required at the end 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.
> > > > >
> > > > > It seems odd for the license- error classes to be listed in
> > > > > insane.bbclass but implemented in license.bbclass. All recommendations
> > > > > for somewhere else to put them gratefully received.
> >
> > [snip]
> >
> > > > Patch series v4 coming soon.
> > >
> > > I did have to rework it a bit as I also ran into a few issues and was just
> > > trying to get around to writing them up.
> > >
> > > I added:
> > >
> > > http://git.yoctoproject.org/cgit.cgi/poky/commit/?h=master-next&id=9e980f1a71e8b6af5ff6da9b02fac0f8bfd9d4fb
> > >
> > > which means you can drop the imports.
> > >
> > > You can use the nonlocal option to help the "sane" problem:
> > >
> > > http://git.yoctoproject.org/cgit.cgi/poky/diff/meta/classes/license.bbclass?h=master-next&id=110fa545ac84e560691c7d9e0d1e6e8f70c66980
> > >
> > > The autobuilder also shows issues as some of the functions you moved are
> > > referenced in other classes. The patch became:
> > >
> > > http://git.yoctoproject.org/cgit.cgi/poky/commit/?h=master-next&id=110fa545ac84e560691c7d9e0d1e6e8f70c66980
> >
> > Thanks for doing that. I thought I'd searched for other occurrences, but I
> > must have not done so properly. :(
> >
> > > I was also just thinking we should probably add a new function and add calls at
> > > the end of the tasks like:
> > >
> > > oe.qa.exit_if_errors(d)
> > >
> > > with a definition similar to:
> > >
> > > def exit_if_errors(d):
> > > qa_sane = d.getVar("QA_SANE")
> > > if not qa_sane:
> > > bb.fatal("Fatal QA errors were found.")
> > >
> > > and then renaming QA_SANE to something like QA_FATAL_ERRORS and exitting if set.
> >
> > That sounds like it would neaten things up greatly and avoid the risk of
> > accidentally failing to make the error fatal. It ought to mean that many of the sane local
> > variables can be removed too.
> >
> > Would you like me to provide new versions of the existing patches or add
> > new patches on top of the ones already in master-next?
>
> I had half a patch for this last bit so I pushed it into master-next. I also
> merged by oe.qa import change.
I think that I already had equivalent changes to everything in
master-next:a53f5758bb2e501dfd34c6a6369303e91b382792. It was slow testing
over night! I've gone with QA_ERRORS_FOUND for the variable name since I
thought that more accurately captured what it meant. I also have only a
single call to oe.qa.exit_if_errors at the end of each task.
> I'm happy for you to take over from here and rework the patches into whatever
> makes the best sense for a series now we know what we're aiming for? I think
> there is a more cleanup of the "sane" variables that can be done beyond my quick
> patch.
Thanks. I'll hopefully send a new series for review today.
I'm finding myself wondering whether having oe.qa.add_messages collect
together all the messages and reporting them all in one go is worth the
complexity. The code that works out in advance which checks generate
warnings and which generate errors appears to be quite old and perhaps it
predates the current mechanism for classifying checks when they fail.
However, any changes here would be rather large, so it would probably make
sense to tackle this separately.
Mike.
prev parent reply other threads:[~2021-10-15 11:04 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-13 10:48 [PATCH v3 1/2] lib/oe/qa,insane: Extra error handling functions to library Mike Crowe
2021-10-13 10:48 ` [PATCH v3 2/2] license: Allow treating missing license as error Mike Crowe
2021-10-14 16:42 ` Mike Crowe
2021-10-14 16:54 ` [OE-core] " Richard Purdie
2021-10-14 17:09 ` Mike Crowe
2021-10-14 20:14 ` Richard Purdie
2021-10-14 21:48 ` Richard Purdie
2021-10-15 11:04 ` Mike Crowe [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YWlgTxcWsxJU+ePY@mcrowe.com \
--to=mac@mcrowe.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=richard.purdie@linuxfoundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox