* 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.