On Sat, 8 Feb 2020, Jonatan Palsson wrote:

> Hello Robert & Leon,
>
> > So I think it might be harmful to replace it with "=", as it would no
> > longer provide libpcre.
>
> I had a look at the variable expansions bitbake -e. Here are two
> examples. The vim recipe uses "PROVIDES = xxd" (which would cause
> weird effects if = simply overwrote any existing ${PN} value), and the
> libpcre2 recipe uses "PROVIDES += pcre2", as already mentioned.
>
> vim:
> # $PROVIDES [4 operations]
> #   set ... /poky/meta/conf/bitbake.conf:275
> #     ""
> #   _prepend ... /poky/meta/conf/bitbake.conf:276
> #     "${PN} "
> #   set ... /poky/meta/conf/documentation.conf:335
> #     [doc] "A list of aliases that a recipe also provides. ... SNIP ...
> #   set ... /poky/meta/recipes-support/vim/vim_8.2.bb:3
> #     "xxd"
> # pre-expansion value:
> #   "${PN} xxd"
> PROVIDES="vim xxd"
>
> libpcre2:
> # $PROVIDES [4 operations]
> #   set ... /poky/meta/conf/bitbake.conf:275
> #     ""
> #   _prepend ... /poky/meta/conf/bitbake.conf:276
> #     "${PN} "
> #   set ... /poky/meta/conf/documentation.conf:335
> #     [doc] "A list of aliases that a recipe also provides. ... SNIP ....
> #   append ... /poky/meta/recipes-support/libpcre/libpcre2_10.33.bb:24
> #     "pcre2"
> # pre-expansion value:
> #   "${PN}  pcre2"
> PROVIDES="libpcre2  pcre2"
>
> My understanding is that ${PN} is always _prepend'ed to PROVIDES, and
> due to evaluation order of the different assignment operators,
> _prepend will be executed *after* = and +=. This means both
> assignments are "harmless". += will give you an extra space though.

  to summarize (and one last question), first, it would be utterly
superfluous for any recipe to "PROVIDES" its own exact name. i'm not
saying i've seen that in any of the OE/YP recipes, but i have taught
courses where students who have been using OE/YP have been under the
mistaken impression that they needed to do that, and were adding a
"PROVIDES = " line to every recipe file they wrote.

  second, i think we all agree that it is rarely necessary to use
"PROVIDES +=", although i did run across one case in
recipes-core/glibc/glibc.inc:

  PROVIDES = "virtual/libc"
  PROVIDES += "virtual/libintl virtual/libiconv"

where, sure, if you break it over more than one line, yes, then you
need it.

  and a final question ... i just noticed the line:

  PROVIDES = ""

in a couple files:

$ grep -r "^PROVIDES = \"\"" *
meta/conf/bitbake.conf:PROVIDES = ""
meta/recipes-core/glibc/glibc-testsuite_2.31.bb:PROVIDES = ""
meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.10.bb:PROVIDES = ""
$

  in that first file is the snippet:

  # strip provides
  PROVIDES = ""

i had never noticed that being done before, and the comment suggests
that this is somehow resetting or clearing the PROVIDES value. is that
what this is doing? am i misreading this?

  thanks to all for assisting in my courseware cleanup. slowly but
surely...

rday
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#48342): https://lists.yoctoproject.org/g/yocto/message/48342
Mute This Topic: https://lists.yoctoproject.org/mt/71078290/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub  
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to