All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joshua Watt <jpewhacker@gmail.com>
To: Alexander Kanavin <alex.kanavin@gmail.com>
Cc: OE-core <openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 04/10] lib/oe/package_manager: turn postinst_intercept warnings into failures for nativesdk
Date: Fri, 25 Jan 2019 09:37:55 -0600	[thread overview]
Message-ID: <c207a65d9262320feaf5d32ee7d906beee506102.camel@gmail.com> (raw)
In-Reply-To: <CANNYZj_3RJ5Hno-fCwMBccgYrTRSgLb6LZc6rGOovZ_9AD6FTA@mail.gmail.com>

On Fri, 2019-01-25 at 13:13 +0100, Alexander Kanavin wrote:
> There is a similar issue in multilib for target packages (a warning
> because qemu usermode support is missing):
> https://autobuilder.yoctoproject.org/typhoon/#/builders/44/builds/214/steps/7/logs/warnings
> 
> I'm as well not sure how to handle this:
> 1. Keep these two warnings as warnings so users see them in their
> local builds, but
>  add some kind of string pattern to AB so it excludes missing qemu
> support and missing wine support warnings.
> 
> 2. Turn them into notes, which means they will go to the logs only,
> and users are not going to see them ever. On the other hand, the
> postinsts tend to
> create things like font caches and similar, which should not
> generally
> be needed at compile time (which is what SDKs are for).
> 
> I'm leaning towards option two.

I was leaning toward keeping them warnings and then suppressing them in
the cases where we know they don't work and are unnecessary (perhaps
with a variable like POSTINST_INTERCEPT_${PN} = "0" ?)

That way if a user enables a package where it's not going to run and we
haven't previously evaluated it to be OK, they will at least see the
warning. I naively think this might help reduce the number of bugs
filed, or at least make them easier to triage :)


> 
> Alex
> 
> On Fri, 25 Jan 2019 at 00:18, Joshua Watt <jpewhacker@gmail.com>
> wrote:
> > 
> > 
> > On Thu, Jan 24, 2019, 4:43 PM Richard Purdie <
> > richard.purdie@linuxfoundation.org wrote:
> > > On Wed, 2019-01-23 at 17:17 +0100, Alexander Kanavin wrote:
> > > > The few cases where they failed should be now all fixed. The
> > > > only allowed
> > > > exception is when building mingw32 SDKs, as there is currently
> > > > no support for running
> > > > postinst_intercepts through wine.
> > > > 
> > > > Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > > > ---
> > > >  meta/lib/oe/package_manager.py | 7 ++++++-
> > > >  1 file changed, 6 insertions(+), 1 deletion(-)
> > > > 
> > > > diff --git a/meta/lib/oe/package_manager.py
> > > > b/meta/lib/oe/package_manager.py
> > > > index 1087144d47f..f26f597d03d 100644
> > > > --- a/meta/lib/oe/package_manager.py
> > > > +++ b/meta/lib/oe/package_manager.py
> > > > @@ -439,6 +439,11 @@ class PackageManager(object,
> > > > metaclass=ABCMeta):
> > > >                  self._postpone_to_first_boot(script_full)
> > > >                  continue
> > > > 
> > > > +            if populate_sdk == 'host' and
> > > > self.d.getVar('SDK_OS') == 'mingw32':
> > > > +                bb.warn("The postinstall intercept hook '%s'
> > > > could not be executed due to missing wine support, details in
> > > > %s/log.do_%s"
> > > > +                                % (script, self.d.getVar('T'),
> > > > self.d.getVar('BB_CURRENTTASK')))
> > > > +                continue
> > > > +
> > > >              bb.note("> Executing %s intercept ..." % script)
> > > > 
> > > >              try:
> > > > @@ -447,7 +452,7 @@ class PackageManager(object,
> > > > metaclass=ABCMeta):
> > > >              except subprocess.CalledProcessError as e:
> > > >                  bb.note("Exit code %d. Output:\n%s" %
> > > > (e.returncode, e.output.decode("utf-8")))
> > > >                  if populate_sdk == 'host':
> > > > -                    bb.warn("The postinstall intercept hook
> > > > '%s' failed, details in %s/log.do_%s" % (script,
> > > > self.d.getVar('T'), self.d.getVar('BB_CURRENTTASK')))
> > > > +                    bb.fatal("The postinstall intercept hook
> > > > '%s' failed, details in %s/log.do_%s" % (script,
> > > > self.d.getVar('T'), self.d.getVar('BB_CURRENTTASK')))
> > > >                  elif populate_sdk == 'target':
> > > >                      if "qemuwrapper: qemu usermode is not
> > > > supported" in e.output.decode("utf-8"):
> > > >                          bb.warn("The postinstall intercept
> > > > hook '%s' could not be executed due to missing qemu usermode
> > > > support, details in %s/log.do_%s"
> > > 
> > > I'm ok with this but could we change the bb.warn to something
> > > less
> > > important like a note?
> > > 
> > > The reason I say this is that I'd like to get the autobuilder to
> > > the
> > > point where its warning free. This warning is the only reason
> > > meta-
> > > mingw shows warnings now. Either we fix them or if we can't, they
> > > probably aren't warnings.
> > > 
> > > What should we do here?
> > > 
> > > (also cc'd Joshua)
> > 
> > I think the one that fails currently is updating the GIO module
> > cache. I'm not sure if this is even necessary for mingw (my guess
> > is no, since this has never worked and no one has complained). We
> > probably just need to disable it in mingw, but when I looked very
> > briefly a while ago, I didn't see a straight forward way of doing
> > that.
> > 
> > See https://bugzilla.yoctoproject.org/show_bug.cgi?id=12962
> > 
> > > Cheers,
> > > 
> > > Richard
> > > 
-- 
Joshua Watt <JPEWhacker@gmail.com>



  reply	other threads:[~2019-01-25 15:37 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-23 16:17 [PATCH 01/10] sstate.bbclass: make sure changes to SSTATE_SCAN_FILES are not ignored Alexander Kanavin
2019-01-23 16:17 ` [PATCH 02/10] fontcache: fix postinst for nativesdk case Alexander Kanavin
2019-01-23 16:17 ` [PATCH 03/10] qemuwrapper-cross: check qemu usermode only when building a target package Alexander Kanavin
2019-01-23 16:17 ` [PATCH 04/10] lib/oe/package_manager: turn postinst_intercept warnings into failures for nativesdk Alexander Kanavin
2019-01-24 22:43   ` Richard Purdie
2019-01-24 23:18     ` Joshua Watt
2019-01-25 12:13       ` Alexander Kanavin
2019-01-25 15:37         ` Joshua Watt [this message]
2019-01-25 15:38           ` Richard Purdie
2019-01-25 16:10             ` Alexander Kanavin
2019-01-25 16:33               ` Joshua Watt
2019-01-25 17:21                 ` Alexander Kanavin
2019-01-23 16:17 ` [PATCH 05/10] cmake: do not look into native sysroot in the nativesdk environment Alexander Kanavin
2019-01-23 16:17 ` [PATCH 06/10] testimage.bbclass: add support for passing runqemu params Alexander Kanavin
2019-01-23 16:17 ` [PATCH 07/10] kmscube: update to latest commit, switch over to meson Alexander Kanavin
2019-01-23 16:17 ` [PATCH 08/10] kmscube: make gstreamer dependency optional Alexander Kanavin
2019-01-23 16:17 ` [PATCH 09/10] lib/oe/reciputils.py: parallelize upstream version checks Alexander Kanavin
2019-01-23 16:17 ` [PATCH 10/10] devtool: add a command to print an overall list of recipes that can be updated Alexander Kanavin
2019-01-23 23:31   ` akuster808

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=c207a65d9262320feaf5d32ee7d906beee506102.camel@gmail.com \
    --to=jpewhacker@gmail.com \
    --cc=alex.kanavin@gmail.com \
    --cc=openembedded-core@lists.openembedded.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.