All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Martin Jansa" <Martin.Jansa@gmail.com>
To: Jose Quaresma <quaresma.jose@gmail.com>
Cc: Khem Raj <raj.khem@gmail.com>,
	OE-core <openembedded-core@lists.openembedded.org>,
	 Alexander Kanavin <alex.kanavin@gmail.com>
Subject: Re: [OE-core] [PATCH v3] python3targetconfig.bbclass: Make py3 dep and tasks only for target recipes
Date: Tue, 17 Nov 2020 21:23:59 +0100	[thread overview]
Message-ID: <CA+chaQdJ79DA8zB9DFkqbVWzumABb+aF5jXgPu0s4pdqXQ7UTg@mail.gmail.com> (raw)
In-Reply-To: <CANPvuRnK2v4SwZ722=Phhp_C6PGphB7ygMYOzMaCDbbXcSzUsw@mail.gmail.com>

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

Then you will need space in:
EXTRA_PYTHON_DEPENDS_append_class-target = " python3"
as well.

I don't expect EXTRA_PYTHON_DEPENDS to be often (if at all) outside the
bbclass, but IMHO it's good convention to just use leading space
wherever you append to space separated list (less surprises for people who
might eventually set something like EXTRA_PYTHON_DEPENDS in their recipes -
even from wrong reasons).

On Tue, Nov 17, 2020 at 9:18 PM Jose Quaresma <quaresma.jose@gmail.com>
wrote:

> Martin,
>
> you're right. if EXTRA_PYTHON_DEPENDS is set outside of the bbclass it
> break the DEPENDS.
>
> Sorry Khem for my suggestion, your initial was right.
>
> +EXTRA_PYTHON_DEPENDS_class-target = "python3"
> +DEPENDS_append = " ${EXTRA_PYTHON_DEPENDS}"
>
> But in this case (when EXTRA_PYTHON_DEPENDS is set outside of the bbclass)
> it will don't have any effect for the overwrite class-target because
> EXTRA_PYTHON_DEPENDS_class-target="python3" always will set
> EXTRA_PYTHON_DEPENDS="python3"
>
> I think I have see another problem now and something like this is better:
>
> +EXTRA_PYTHON_DEPENDS_append_class-target = "python3"
> +DEPENDS_append = " ${EXTRA_PYTHON_DEPENDS}"
>
> Martin Jansa <martin.jansa@gmail.com> escreveu no dia terça,
> 17/11/2020 à(s) 19:56:
> >
> > I don't mind this change, but why do you think space in the variable is
> better in this case (where we don't mind extra space being added for
> native/nativesdk case?)
> >
> > If someone sets EXTRA_PYTHON_DEPENDS = "foo" for whatever reason in some
> recipe, then the space will be missing.
> >
> > On Tue, Nov 17, 2020 at 7:36 PM Jose Quaresma <quaresma.jose@gmail.com>
> wrote:
> >>
> >> Khem Raj <raj.khem@gmail.com> escreveu no dia terça, 17/11/2020 à(s)
> 18:04:
> >> >
> >> > python3targetconfig append target python3 to dependencies
> >> > unconditionally, and here its inherited unconditionally too but
> >> > distutils3-base is inherited in BBCLASSEXTEND'ed recipes and other
> not-target
> >> > recipes as well. Hence the change added via
> 9c8f666097802cb594a759989edcf01603a22df3
> >> > is now bridging the native dependencies with target python3 and thats
> >> > resulting all sorts of rebuilds for multimachine builds e.g.
> >> >
> >> > MACHINE=qemuarm bitbake python3-scons-native
> >> > MACHINE=qemumips bitbake python3-scons-native
> >> >
> >> > results in rebuilds for python3-scons-native
> >> >
> >> > bitbake-diffsigs shows
> >> >
> >> > Hash for dependent task python/python3-scons-native_3.1.2.bb:do_populate_sysroot
> changed from
> 1cdb93193b416477df6faa137e83a967b433c7aa29033146b405153f73f36933 to
> 3cea1e7cbedd121ecb768fbc291cc4e4d7d3b5c0442897
> >> > 0e3b97bd058d162065
> >> >     Hash for dependent task python/python3-scons-native_3.1.2.bb:do_install
> changed from
> 8d6018fd03ffc6060a04532dc39a5b7ccca1be026a69d069cb4fb11aef86dd89 to
> c5f1d173596a8e910f45a2b6e0b4dab96cd0102be4d62bd3156
> >> > 229cb0f5ebb11
> >> >         Hash for dependent task python/python3-scons-native_3.1.2.bb:do_compile
> changed from
> e3ee4b52a15267e6ae7853ec19a666b2fb62608a597608793336382d1c45f8a0 to
> 1e582043dfe6b3e00aaa532f363ce6afb37652abe837dac
> >> > 7cc9769194c43eae1
> >> >             Hash for dependent task
> python/python3-scons-native_3.1.2.bb:do_configure changed from
> 770a4d5a77a96ebd9e1e7368f710bca3f88e3b1266dffa3b2d0360b1e3a81e27 to
> a366982778b03eee5165c3117ee778f848acdfaa2
> >> > b346650fbdf114ac70ab57b
> >> >                 Hash for dependent task
> python/python3-scons-native_3.1.2.bb:do_prepare_recipe_sysroot changed
> from 958910037856ff5d5eb2b5162b3cdd02a3a710fc543b933cfeba771ee095cb72 to
> 474333fb565f908992fd3716
> >> > 4935aaecf31a79e867826fe634cde4f44171d8e7
> >> >                     Hash for dependent task python/python3_3.9.0.bb:do_populate_sysroot
> changed from
> 7ac1c4fcbb2eacf98d2c32d991751bd2f3c7d55e2e32f2c9e485e7f5975fecf8 to
> 25dcfe74a95af19cce8df7c29311cc5edbbf6ad
> >> > 08777e46a6fa6e417c0445018
> >> >
> >> > ...
> >> >
> >> > Therefore limit effects of this class only for target recipes.
> >> >
> >> > Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >> > Cc: Alexander Kanavin <alex.kanavin@gmail.com>
> >> > Cc: Martin Jansa <Martin.Jansa@gmail.com>
> >> > ---
> >> > v2: Mark depends conditional instead
> >> > v3: Export _PYTHON_SYSCONFIGDATA_NAME only for target
> >> >     and mark tasks with target override
> >> >
> >> >  meta/classes/python3targetconfig.bbclass | 10 ++++++----
> >> >  1 file changed, 6 insertions(+), 4 deletions(-)
> >> >
> >> > diff --git a/meta/classes/python3targetconfig.bbclass
> b/meta/classes/python3targetconfig.bbclass
> >> > index 640d0c97b6..fc1025c207 100644
> >> > --- a/meta/classes/python3targetconfig.bbclass
> >> > +++ b/meta/classes/python3targetconfig.bbclass
> >> > @@ -1,15 +1,17 @@
> >> >  inherit python3native
> >> >
> >> > -DEPENDS_append = " python3"
> >> > +EXTRA_PYTHON_DEPENDS ?= ""
> >> > +EXTRA_PYTHON_DEPENDS_class-target = "python3"
> >> > +DEPENDS_append = " ${EXTRA_PYTHON_DEPENDS}"
> >>
> >> -EXTRA_PYTHON_DEPENDS_class-target = "python3"
> >> -DEPENDS_append = " ${EXTRA_PYTHON_DEPENDS}"
> >> +EXTRA_PYTHON_DEPENDS_class-target = " python3"
> >> +DEPENDS_append = "${EXTRA_PYTHON_DEPENDS}"
> >>
> >> add a space before python3 is better than always add it to DEPENDS
> >>
> >> >
> >> > -do_configure_prepend() {
> >> > +do_configure_prepend_class-target() {
> >> >          export _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata"
> >> >  }
> >> >
> >> > -do_compile_prepend() {
> >> > +do_compile_prepend_class-target() {
> >> >          export _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata"
> >> >  }
> >> >
> >> > -do_install_prepend() {
> >> > +do_install_prepend_class-target() {
> >> >          export _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata"
> >> >  }
> >> > --
> >> > 2.29.2
> >> >
> >> > 
> >> >
> >>
> >>
> >> --
> >> best regards,
> >> José Quaresma
>
>
>
> --
> best regards,
> José Quaresma
>

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

  reply	other threads:[~2020-11-17 20:24 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-17 18:04 [PATCH v3] python3targetconfig.bbclass: Make py3 dep and tasks only for target recipes Khem Raj
2020-11-17 18:36 ` [OE-core] " Jose Quaresma
2020-11-17 19:56   ` Martin Jansa
2020-11-17 20:18     ` Jose Quaresma
2020-11-17 20:23       ` Martin Jansa [this message]
2020-11-17 21:18         ` Jose Quaresma
2020-11-17 22:03           ` Khem Raj

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+chaQdJ79DA8zB9DFkqbVWzumABb+aF5jXgPu0s4pdqXQ7UTg@mail.gmail.com \
    --to=martin.jansa@gmail.com \
    --cc=alex.kanavin@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=quaresma.jose@gmail.com \
    --cc=raj.khem@gmail.com \
    /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.