Re: some trivial(?) questions about packagegroups
Andre McCurdy
On Sat, Mar 27, 2021 at 3:31 AM Robert P. J. Day <rpjday@...> wrote:
called task-base.bb:
https://git.openembedded.org/openembedded-core/commit/?id=ba9dd5228c290c96c622fb82964e49ce2511a1e9
Maybe it had some legitimate use back then?
Really the whole "base packagegroups" concept is showing its age. No
one creating a new machine config today ponders on whether or not to
enable the pci, pcmcia, phone, etc machine features.
packagegroup-base.bb contains a lot of useless cruft... the bogus
PROVIDES line is just the tip of the iceberg.
On Fri, 26 Mar 2021, Andre McCurdy wrote:That line dates back to 2007, when packagegroup-base.bb was stillOn Fri, Mar 26, 2021 at 8:45 AM Robert P. J. Day <rpjday@...> wrote:i could have *sworn* that, once upon a time, i verified (in somewhat should be easy questions about packagegroups, inspired by myPROVIDES sets up a name which can be used as DEPENDS (ie a build
running across some puzzling packagegroup recipes in my travels
recently. (i'll start with examples out of oe-core).
first, as with any other recipe, given a "trivial" packagegroup
like, say, packagegroup-core-eclipse-debug.bb:
SUMMARY = "Remote debugging tools for Eclipse integration"
inherit packagegroup
RDEPENDS_${PN} = "\
gdbserver \
tcf-agent \
openssh-sftp-server \
"
there is no need to add a "PROVIDES" line since every recipe file
automatically provides its own name. so far, so good.
if we move up to packagegroup-core-nfs.bb, note how this recipe file
defines two additional packagegroups, and has to add a PROVIDES line
in order to make those new names accessible:
PROVIDES = "${PACKAGES}"
PACKAGES = "${PN}-server ${PN}-client"
SUMMARY_${PN}-client = "NFS client"
RDEPENDS_${PN}-client = "nfs-utils-client"
SUMMARY_${PN}-server = "NFS server"
RDEPENDS_${PN}-server = "\
nfs-utils \
nfs-utils-client \
"
so the question is, must one supply a PROVIDES line for any
packagegroup names above and beyond the one that comes with the recipe
file itself? i ask what seems like a dumb question as i've run across
packagegroup recipe files that define multiple additional
packagegroups, but do not add them to the PROVIDES line. what is that
supposed to represent?
time dependency) in other recipes. If PROVIDES contains more than
one name, they all just become aliases for each other.
Since packagegroup recipes only define run time dependencies,
nothing should have a build time dependency on a packagegroup
recipe... and so there's no obvious reason to set PROVIDES to
anything. Leaving the default will be fine (although it won't be
used for anything).
weird way) the necessity for the PROVIDES line in a packagegroup, but
it seems i was mistaken. so if this is the case, then why do a couple
of OE packagegroup recipe files contain such a line?
packagegroup-base.bb
====================
inherit packagegroup
PROVIDES = "${PACKAGES}" <=== ?????
called task-base.bb:
https://git.openembedded.org/openembedded-core/commit/?id=ba9dd5228c290c96c622fb82964e49ce2511a1e9
Maybe it had some legitimate use back then?
Really the whole "base packagegroups" concept is showing its age. No
one creating a new machine config today ponders on whether or not to
enable the pci, pcmcia, phone, etc machine features.
packagegroup-base.bb contains a lot of useless cruft... the bogus
PROVIDES line is just the tip of the iceberg.
PACKAGES = ' \
packagegroup-base \
packagegroup-base-extended \
packagegroup-distro-base \
packagegroup-machine-base \
... etc etc ...
surely this is not meant to alias all those distinct packagegroup
definitions.
rday
p.s. see also,
http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-core/packagegroups/packagegroup-core-nfs.bb