All of lore.kernel.org
 help / color / mirror / Atom feed
* value of "PACKAGE_BEFORE_PN" versus "PACKAGES =+"?
@ 2013-01-02 17:04 Robert P. J. Day
  2013-01-02 18:55 ` Saul Wold
  0 siblings, 1 reply; 5+ messages in thread
From: Robert P. J. Day @ 2013-01-02 17:04 UTC (permalink / raw)
  To: OE Core mailing list



  just now noticed the variable PACKAGE_BEFORE_PN, whose entire
usage in poky (other than documentation) is:

meta/conf/bitbake.conf:PACKAGE_BEFORE_PN ?= ""
meta/conf/bitbake.conf:PACKAGES = "${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}"
meta/classes/lib_package.bbclass:PACKAGE_BEFORE_PN = "${PN}-bin"

  is there an actual need for that variable that places the new
package names *precisely* in that location in the PACKAGES list?  and
given the specificity of the initial PN-related packages:

  "${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale"

is there any reason more recipes couldn't use PACKAGE_BEFORE_PN
instead of "PACKAGES =+" when defining new packages?  i *realize*
those two things don't represent the same thing but, in many cases,
would the end result be the same?

  is there any reason more code doesn't use "PACKAGE_BEFORE_PN"?

rday



-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: value of "PACKAGE_BEFORE_PN" versus "PACKAGES =+"?
  2013-01-02 17:04 value of "PACKAGE_BEFORE_PN" versus "PACKAGES =+"? Robert P. J. Day
@ 2013-01-02 18:55 ` Saul Wold
  2013-01-03 11:27   ` Robert P. J. Day
  0 siblings, 1 reply; 5+ messages in thread
From: Saul Wold @ 2013-01-02 18:55 UTC (permalink / raw)
  To: Robert P. J. Day; +Cc: OE Core mailing list

On 01/02/2013 09:04 AM, Robert P. J. Day wrote:
>
>    just now noticed the variable PACKAGE_BEFORE_PN, whose entire
> usage in poky (other than documentation) is:
>
> meta/conf/bitbake.conf:PACKAGE_BEFORE_PN ?= ""
> meta/conf/bitbake.conf:PACKAGES = "${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}"
> meta/classes/lib_package.bbclass:PACKAGE_BEFORE_PN = "${PN}-bin"
>
>    is there an actual need for that variable that places the new
> package names *precisely* in that location in the PACKAGES list?  and
> given the specificity of the initial PN-related packages:
>
Yes, the need in the case of lib_package it to ensure that the ${PN}-bin 
(bindir and sbindir) files get packages separately from the ${PN} files, 
which are typically the libraries in the case of recipes that deliver 
libraries and binaries.

>    "${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale"
>
> is there any reason more recipes couldn't use PACKAGE_BEFORE_PN
> instead of "PACKAGES =+" when defining new packages?  i *realize*
> those two things don't represent the same thing but, in many cases,
> would the end result be the same?
>
>    is there any reason more code doesn't use "PACKAGE_BEFORE_PN"?
>
The =+ prepends it to the list and therefore is correctly greedy for the 
items they are trying to package. Since the PACKAGE_BEFORE_PN 
specifically inserts it, so for the most part there is no real need to 
use the P_B_P variable, and =+ is more consistent.

Sau!


> rday




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: value of "PACKAGE_BEFORE_PN" versus "PACKAGES =+"?
  2013-01-02 18:55 ` Saul Wold
@ 2013-01-03 11:27   ` Robert P. J. Day
  2013-01-03 21:47     ` Paul Eggleton
  0 siblings, 1 reply; 5+ messages in thread
From: Robert P. J. Day @ 2013-01-03 11:27 UTC (permalink / raw)
  To: Saul Wold; +Cc: OE Core mailing list

On Wed, 2 Jan 2013, Saul Wold wrote:

> On 01/02/2013 09:04 AM, Robert P. J. Day wrote:
> >
> >    just now noticed the variable PACKAGE_BEFORE_PN, whose entire
> > usage in poky (other than documentation) is:
> >
> > meta/conf/bitbake.conf:PACKAGE_BEFORE_PN ?= ""
> > meta/conf/bitbake.conf:PACKAGES = "${PN}-dbg ${PN}-staticdev ${PN}-dev
> > ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}"
> > meta/classes/lib_package.bbclass:PACKAGE_BEFORE_PN = "${PN}-bin"
> >
> >    is there an actual need for that variable that places the new
> > package names *precisely* in that location in the PACKAGES list?
> > and given the specificity of the initial PN-related packages:
> >
> Yes, the need in the case of lib_package it to ensure that the
> ${PN}-bin (bindir and sbindir) files get packages separately from
> the ${PN} files, which are typically the libraries in the case of
> recipes that deliver libraries and binaries.

  predictably, a few minutes after i posted, i realized what was going
on.  i was a bit confused since the variable name, PACKAGE_BEFORE_PN,
was so terrifically generic when its purpose is clearly to deal with
library packages for which (as you say) you'd like to break out the
generated binary artifacts under /usr/bin and /usr/sbin as a separate
output package, which makes sense.

> >    "${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale"
> >
> > is there any reason more recipes couldn't use PACKAGE_BEFORE_PN
> > instead of "PACKAGES =+" when defining new packages?  i *realize*
> > those two things don't represent the same thing but, in many cases,
> > would the end result be the same?
> >
> >    is there any reason more code doesn't use "PACKAGE_BEFORE_PN"?
> >
> The =+ prepends it to the list and therefore is correctly greedy for
> the items they are trying to package. Since the PACKAGE_BEFORE_PN
> specifically inserts it, so for the most part there is no real need
> to use the P_B_P variable, and =+ is more consistent.

  the point i was trying to make above (probably badly) was that it
seemed unlikely there was much (effective) difference between, as you
point out, usage of P_B_P and using =+:

PACKAGES = "${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}"

unless those earlier packages in the above would greedily suck up any
of /usr/bin or /usr/sbin.

  so, to recap (to make sure i can explain it properly), OE's
bitbake.conf already defines this:

PACKAGE_BEFORE_PN ?= ""
PACKAGES = "${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}"
... snip ...
FILES_${PN}-bin = "${bindir}/* ${sbindir}/*"

which will have no effect unless, in your recipe, you inherit
lib_package, which pulls in:

PACKAGE_BEFORE_PN = "${PN}-bin"

  at which point, you can either accept the default definition of
FILES_${PN}-bin as sucking up *everything* left under /usr/bin and
/usr/sbin or you can set it explicitly to some other value, which
brings me to two final questions.

  is there any value in setting FILES_${PN}-bin without inheriting
lib_package?  see oe-core/meta/recipes-multimedia/pulseaudio, where
pulseaudio.inc contains the line:

FILES_${PN}-bin += "${sysconfdir}/default/volatiles/volatiles.04_pulse"

but there is no reference to lib_package anywhere in that recipe
directory.  so what's the point of that line above?

  on the other hand, you can always just set PACKAGE_BEFORE_PN
explicitly and skip all of lib_package.bbclass, like this in
meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc:

# Split into a main package and separate per-protocol packages
PACKAGE_BEFORE_PN = "${PN}-ospfd ${PN}-ospf6d ${PN}-babeld ${PN}-bgpd
\
                     ${PN}-ripd ${PN}-ripngd ${PN}-isisd \
                     ${PN}-ospfclient ${PN}-watchquagga"

FILES_${PN}-ospfd       = "${sbindir}/ospfd ${libdir}/libospf.so.*"
FILES_${PN}-ospf6d      = "${sbindir}/ospf6d"
FILES_${PN}-babeld      = "${sbindir}/babeld"
FILES_${PN}-bgpd        = "${sbindir}/bgpd"
FILES_${PN}-ripd        = "${sbindir}/ripd"
FILES_${PN}-ripngd      = "${sbindir}/ripngd"
FILES_${PN}-isisd       = "${sbindir}/isisd"
FILES_${PN}-ospfclient  = "${sbindir}/ospfclient
${libdir}/libospfapiclient.so.*"
FILES_${PN}-watchquagga = "${sbindir}/watchquagga ${sysconfdir}/default/watchquagga \
                           ${sysconfdir}/init.d/watchquagga"


  is all of that about right?

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: value of "PACKAGE_BEFORE_PN" versus "PACKAGES =+"?
  2013-01-03 11:27   ` Robert P. J. Day
@ 2013-01-03 21:47     ` Paul Eggleton
  2013-01-03 23:43       ` Robert P. J. Day
  0 siblings, 1 reply; 5+ messages in thread
From: Paul Eggleton @ 2013-01-03 21:47 UTC (permalink / raw)
  To: Robert P. J. Day; +Cc: openembedded-core

On Thursday 03 January 2013 06:27:57 Robert P. J. Day wrote:
>   predictably, a few minutes after i posted, i realized what was going
> on.  i was a bit confused since the variable name, PACKAGE_BEFORE_PN,
> was so terrifically generic when its purpose is clearly to deal with
> library packages for which (as you say) you'd like to break out the
> generated binary artifacts under /usr/bin and /usr/sbin as a separate
> output package, which makes sense.

It does exactly what it says - puts package(s) before PN.

>   the point i was trying to make above (probably badly) was that it
> seemed unlikely there was much (effective) difference between, as you
> point out, usage of P_B_P and using =+:
> 
> PACKAGES = "${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale
> ${PACKAGE_BEFORE_PN} ${PN}"
> 
> unless those earlier packages in the above would greedily suck up any
> of /usr/bin or /usr/sbin.

That's correct. PACKAGE_BEFORE_PN just makes things a little easier.

>   is there any value in setting FILES_${PN}-bin without inheriting
> lib_package?

If ${PN}-bin has otherwise been added to PACKAGES, sure.

> see oe-core/meta/recipes-multimedia/pulseaudio, where
> pulseaudio.inc contains the line:
> 
> FILES_${PN}-bin += "${sysconfdir}/default/volatiles/volatiles.04_pulse"
> 
> but there is no reference to lib_package anywhere in that recipe
> directory.  so what's the point of that line above?

Looks like this is a mistake (or something left over from an earlier revision 
of the recipe) since ${PN}-bin isn't in PACKAGES for pulseaudio.

Cheers,
Paul
-- 

Paul Eggleton
Intel Open Source Technology Centre



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: value of "PACKAGE_BEFORE_PN" versus "PACKAGES =+"?
  2013-01-03 21:47     ` Paul Eggleton
@ 2013-01-03 23:43       ` Robert P. J. Day
  0 siblings, 0 replies; 5+ messages in thread
From: Robert P. J. Day @ 2013-01-03 23:43 UTC (permalink / raw)
  To: Paul Eggleton; +Cc: openembedded-core

On Thu, 3 Jan 2013, Paul Eggleton wrote:

> On Thursday 03 January 2013 06:27:57 Robert P. J. Day wrote:
>
> > see oe-core/meta/recipes-multimedia/pulseaudio, where
> > pulseaudio.inc contains the line:
> >
> > FILES_${PN}-bin += "${sysconfdir}/default/volatiles/volatiles.04_pulse"
> >
> > but there is no reference to lib_package anywhere in that recipe
> > directory.  so what's the point of that line above?
>
> Looks like this is a mistake (or something left over from an earlier revision
> of the recipe) since ${PN}-bin isn't in PACKAGES for pulseaudio.

  i suspected something like that, just wanted to clarify.  i'll let
someone higher up the food chain fix that in whatever way is
appropriate.

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-01-03 23:58 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-02 17:04 value of "PACKAGE_BEFORE_PN" versus "PACKAGES =+"? Robert P. J. Day
2013-01-02 18:55 ` Saul Wold
2013-01-03 11:27   ` Robert P. J. Day
2013-01-03 21:47     ` Paul Eggleton
2013-01-03 23:43       ` Robert P. J. Day

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.