[OE-core] can one add a "packagegroup" simply by adding the recipe file for it?

Paul Eggleton paul.eggleton at linux.intel.com
Mon Oct 14 09:48:16 UTC 2013


On Saturday 12 October 2013 07:46:02 Chris Larson wrote:
> On Sat, Oct 12, 2013 at 4:24 AM, Robert P. J. Day
> <rpjday at crashcourse.ca>wrote:
> >  wait, i think i might have just answered my own question ... see
> > below ...
> > 
> > On Sat, 12 Oct 2013, Robert P. J. Day wrote:
> > >   just to make sure i'm not missing anything subtle, i know you can
> > > 
> > > add a "packagegroup" to your build using IMAGE_FEATURES, but given
> > > that there are *lots* more packagegroup recipe files in oe-core than
> > > have corresponding PACKAGE_GROUP_* definitions in core-image.bbclass:
> > > 
> > > $ find . -name "packagegroup*bb"
> > > ./recipes-gnome/packagegroups/
> > 
> > packagegroup-core-standalone-gmae-sdk-target.bb
> > 
> > > ./recipes-gnome/packagegroups/packagegroup-toolset-native.bb
> > > ./recipes-gnome/packagegroups/packagegroup-core-sdk-gmae.bb
> > > ./recipes-devtools/packagegroups/packagegroup-core-device-devel.bb
> > > ./recipes-core/packagegroups/packagegroup-cross-canadian.bb
> > > ./recipes-core/packagegroups/packagegroup-core-sdk.bb
> > > ./recipes-core/packagegroups/packagegroup-core-ssh-openssh.bb
> > > ./recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bb
> > > ./recipes-core/packagegroups/packagegroup-core-boot.bb
> > > ./recipes-core/packagegroups/packagegroup-core-tools-profile.bb
> > > ./recipes-core/packagegroups/packagegroup-self-hosted.bb
> > > ./recipes-core/packagegroups/packagegroup-core-ssh-dropbear.bb
> > > ./recipes-core/packagegroups/packagegroup-core-tools-debug.bb
> > > ./recipes-core/packagegroups/packagegroup-core-buildessential.bb
> > > ./recipes-core/packagegroups/packagegroup-core-tools-testapps.bb
> > > ./recipes-core/packagegroups/packagegroup-base.bb
> > > ./recipes-core/packagegroups/packagegroup-core-nfs.bb
> > > ./recipes-core/packagegroups/packagegroup-core-eclipse-debug.bb
> > > ./recipes-graphics/packagegroups/packagegroup-core-x11.bb
> > > ./recipes-graphics/packagegroups/packagegroup-core-x11-base.bb
> > > ./recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb
> > > ./recipes-graphics/packagegroups/packagegroup-core-clutter.bb
> > > ./recipes-graphics/packagegroups/packagegroup-core-directfb.bb
> > > ./recipes-qt/packagegroups/packagegroup-qte-toolchain-target.bb
> > > ./recipes-qt/packagegroups/packagegroup-core-qt4e.bb
> > > ./recipes-qt/packagegroups/packagegroup-qt-toolchain-target.bb
> > > ./recipes-qt/packagegroups/packagegroup-core-qt.bb
> > > ./recipes-sato/packagegroups/packagegroup-core-x11-sato.bb
> > > ./recipes-extended/packagegroups/packagegroup-core-lsb.bb
> > > ./recipes-extended/packagegroups/packagegroup-core-basic.bb
> > > $
> > > 
> > > is it accurate to say that you can just as equivalently add the recipe
> > > file directly using, say, CORE_IMAGE_EXTRA_INSTALL? is there any
> > > functional difference between those two approaches?
> > > 
> >   feeling a bit sheepish if this is the answer ... i notice that
> > 
> > core-image.bbclass defines:
> >   PACKAGE_GROUP_nfs-server = "packagegroup-core-nfs-server"
> > 
> > however, while there is no recipe file named
> > "packagegroup-core-nfs-server.bb", there is one named
> > 
> > "packagegroup-core-nfs.bb", which contains:
> >   inherit packagegroup
> >   
> >   PACKAGES = "${PN}-server"
> > 
> > so does defining a PACKAGE_GROUP_* entry in core-image.bbclass allow
> > the packagegroup definition search to examine the internals of a
> > recipe file to check the definition of "PACKAGES" to find a match? as
> > opposed to referring to a recipe file directly
> 
> PACKAGE_GROUP_<some group that can be listed in IMAGE_FEATURES> = "<a list
> of binary packages, just as you'd add to IMAGE_INSTALL or
> CORE_IMAGE_EXTRA_INSTALL yourself>"
> 
> That's all there is to it. packagegroup-core-nfs-server is a binary
> package. PACKAGE_GROUP_nfs-server accepts lists of binary packages, not
> lists of recipes.
> 
> Things got a bit more confusing once tasks got renamed to packagegroups, as
> the pure data driven package grouping mechanism (PACKAGE_GROUP) already
> existed at that time.

Now that PACKAGE_GROUP has finally made it into the manual (for 1.5) we've 
tried to explain that it's not the same thing as a packagegroup. Hopefully it 
will dispel some of the confusion.

We could look at renaming PACKAGE_GROUP to something else in 1.6 (perhaps to 
IMAGE_FEATURE_PACKAGES or something like that?) if people think that it would 
help.

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre



More information about the Openembedded-core mailing list