All of lore.kernel.org
 help / color / mirror / Atom feed
From: Martin Jansa <martin.jansa@gmail.com>
To: Khem Raj <raj.khem@gmail.com>
Cc: Joshua Watt <JPEWhacker@gmail.com>,
	Richard Purdie <richard.purdie@linuxfoundation.org>,
	Patches and discussions about the oe-core layer
	<openembedded-core@lists.openembedded.org>
Subject: Re: [OE-core] [RFC PATCH 14/14] layer.conf: Extend recipes not to install without explict dependencies
Date: Fri, 1 Oct 2021 16:17:26 +0200	[thread overview]
Message-ID: <CA+chaQfO61hdhNtHO-hTu_4QZbnwmHUTMAJ6XaHrDCdhww2EVg@mail.gmail.com> (raw)
In-Reply-To: <CAMKF1spNqjAHRh=0F2ohMCCoSdwDOTWAFRMz2RCVU9+rBiiO_g@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 4278 bytes --]

FWIW: I've fixed some bigger layers where pkgconfig was causing quite a few
build failures,

e.g. meta-webosose needed it in around 30 recipes (included in
https://github.com/shr-project/meta-webosose/commits/dunfell)
meta-ros layers I'm still working on, sofar over 50 recipes (
https://github.com/ros/meta-ros/pull/939)

One interesting case I wanted to mention here was collada-dom in meta-ros:
https://github.com/ros/meta-ros/pull/939/commits/4e790a7de5e740eae3084a925a8a23f575ddf410

including this layer.conf change caused collada-dom not to fail with
reasonable error about missing pkgconfig-native, but triggered textrel QA
issue and it was actually caused by pkgconfig not being available where
do_configure "silently" failed to find system bzip2 and minizip due to
missing pkgconfig and built own version instead which lead to this textrel
QA issue.

There might be many more recipes like this, which build something
differently without pkgconfig available, without triggering any QA check
like in this case. It might be useful to compare at least buildhistory
results with and without the layer.conf change to see what else was changed
unexpectedly.

Cheers,

On Tue, Sep 21, 2021 at 6:21 AM Khem Raj <raj.khem@gmail.com> wrote:

> On Mon, Sep 20, 2021 at 6:34 AM Joshua Watt <JPEWhacker@gmail.com> wrote:
> >
> >
> > On 9/20/21 7:48 AM, Richard Purdie wrote:
> >
> > On Mon, 2021-09-20 at 13:46 +0100, Richard Purdie via
> lists.openembedded.org
> > wrote:
> >
> > There are several dependencies which recipes have which are not needed
> > at runtime, only at build time. Extend the list of these from bison to
> > include quilt, patch, meson, autoconf, automake and ninja which should
> > reduce the amount of data being included in native sysroots.
> >
> > This speeds up and reduces the sstate needed for image builds for
> example.
> >
> > If this change breaks recipes, it probably means they're missing an
> explicit
> > DEPENDS on something in this list which is a bug in the recipe.
> >
> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> > ---
> >  meta/conf/layer.conf | 12 +++++++++++-
> >  1 file changed, 11 insertions(+), 1 deletion(-)
> >
> > diff --git a/meta/conf/layer.conf b/meta/conf/layer.conf
> > index 307ad7e2237..b3cc8a249e9 100644
> > --- a/meta/conf/layer.conf
> > +++ b/meta/conf/layer.conf
> > @@ -48,6 +48,7 @@ SIGGEN_EXCLUDERECIPES_ABISAFE += " \
> >  "
> >
> >  SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
> > +  *->patch-native \
> >    *->quilt-native \
> >    *->subversion-native \
> >    *->git-native \
> > @@ -90,7 +91,16 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
> >  # (e.g. X -> Y -> binutils-cross -> bison-native) no longer meet the
> >  # dependency incidentally. This improves determinism and avoids build
> >  # failures when people switch to external toolchains.
> > -SSTATE_EXCLUDEDEPS_SYSROOT += ".*->bison-native"
> > +SSTATE_EXCLUDEDEPS_SYSROOT += "\
> > +    .*->autoconf-native \
> > +    .*->automake-native \
> > +    .*->bison-native \
> > +    .*->meson-native \
> > +    .*->ninja-native \
> > +    .*->patch-native \
> > +    .*->pkgconfig-native \
> > +    .*->quilt-native \
> > +"
> >
> > I've marked this one as an RFC since it caused a fair bit of pain even
> in OE-
> > core due to recipes having pkgconfig class inherits missing.
> >
> > We do really want to do this and correctly mark up the recipe
> dependencies, the
> > question is whether it is too late for 3.4 or not. We could go for a
> smaller
> > list for now too but I wanted to hear opinions.
> >
> >
> > It looks like a great change! I'd say it's too late for 3.4 and we
> should do it for 3.5 instead.
> >
>
> right see the failed recipes which would need fixing
> https://errors.yoctoproject.org/Errors/Build/130779/
>
> > Cheers,
> >
> > Richard
> >
> >
> >
> >
> >
> >
> >
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#156200):
> https://lists.openembedded.org/g/openembedded-core/message/156200
> Mute This Topic: https://lists.openembedded.org/mt/85739636/3617156
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> Martin.Jansa@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>

[-- Attachment #2: Type: text/html, Size: 6311 bytes --]

  reply	other threads:[~2021-10-01 14:17 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-20 12:46 [PATCH 01/14] vim: Backport fix for CVE-2021-3770 Richard Purdie
2021-09-20 12:46 ` [PATCH 02/14] libgcrypt: Upgrade 1.9.3 -> 1.9.4 Richard Purdie
2021-09-20 12:46 ` [PATCH 03/14] sqlite3: Exclude CVE-2021-36690 from cve checks Richard Purdie
2021-09-20 12:46 ` [PATCH 04/14] recipes: Add missing pkgconfig inherit Richard Purdie
2021-09-20 12:46 ` [PATCH 05/14] lttng-tools: Add missing DEPENDS on bison-native Richard Purdie
2022-01-18 20:48   ` [OE-core] " Denys Dmytriyenko
2021-09-20 12:46 ` [PATCH 06/14] image/qemu: Add explict depends for qemu-helper addto_recipe_sysroot task Richard Purdie
2021-09-20 12:46 ` [PATCH 07/14] staging: Mark deploy an sstate task Richard Purdie
2021-09-20 12:46 ` [PATCH 08/14] sstate: Ensure deploy tasks don't pull in toolchains Richard Purdie
2021-09-20 12:46 ` [PATCH 09/14] sstate: Avoid deploy_source_date_epoch sstate when unneeded Richard Purdie
2021-09-20 12:46 ` [RFC PATCH 10/14] package_ipk/deb/rpm: Drop recursive do_build task dependencies Richard Purdie
2021-09-23 21:41   ` [OE-core] " Peter Kjellerstedt
2021-09-23 21:58     ` Richard Purdie
2021-09-24  4:50     ` Khem Raj
2021-09-24  7:58       ` Martin Jansa
2021-09-24  8:30         ` Richard Purdie
2021-09-24 17:20         ` Khem Raj
2021-09-20 12:46 ` [RFC PATCH 11/14] populate_sdk_base/images: Drop use of 'meta' class and hence do_build dependencies Richard Purdie
2021-10-27  2:43   ` [OE-core] " ChenQi
2021-11-02 13:06     ` Richard Purdie
2021-09-20 12:46 ` [PATCH 12/14] buildtools-tarball/uninative-tarball/meta-ide-support: Drop useless meta class Richard Purdie
2021-09-20 12:46 ` [PATCH 13/14] meta: Drop useless class Richard Purdie
2021-09-20 12:46 ` [RFC PATCH 14/14] layer.conf: Extend recipes not to install without explict dependencies Richard Purdie
     [not found] ` <16A68880435BB472.28512@lists.openembedded.org>
2021-09-20 12:48   ` [OE-core] " Richard Purdie
2021-09-20 13:34     ` Joshua Watt
2021-09-21  4:21       ` Khem Raj
2021-10-01 14:17         ` Martin Jansa [this message]
2021-10-17 23:50           ` Andreas Müller
2021-10-18 14:12             ` Martin Jansa
2021-10-18 14:29               ` Richard Purdie
2021-10-18 16:50               ` Andreas Müller
2021-10-18 16:59               ` Andreas Müller
2021-10-18 19:07                 ` Konrad Weihmann
2021-10-18 21:08                   ` Richard Purdie
     [not found] ` <16A6887F33E2E04C.31899@lists.openembedded.org>
2021-09-20 12:51   ` [OE-core] [RFC PATCH 11/14] populate_sdk_base/images: Drop use of 'meta' class and hence do_build dependencies Richard Purdie
2021-09-20 16:32     ` Khem Raj
2021-09-20 20:02       ` Richard Purdie

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=CA+chaQfO61hdhNtHO-hTu_4QZbnwmHUTMAJ6XaHrDCdhww2EVg@mail.gmail.com \
    --to=martin.jansa@gmail.com \
    --cc=JPEWhacker@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=raj.khem@gmail.com \
    --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 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.