Bug 9312 - PACKAGEGROUP_DISABLE_COMPLEMENTARY not working
Summary: PACKAGEGROUP_DISABLE_COMPLEMENTARY not working
Status: RESOLVED INVALID
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: core (show other bugs)
Version: 2.0
Hardware: x86 Multiple
: Undecided normal
Target Milestone: ---
Assignee: Ross Burton
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2016-03-19 00:31 UTC by Jonathan Richardson
Modified: 2016-03-21 21:18 UTC (History)
3 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jonathan Richardson 2016-03-19 00:31:12 UTC
I have a packagegroup recipe that specifies PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1". local.conf specifies PACKAGE_CLASSES ?= "package_rpm".

When I build the package group using 'bitbake my-packagegroup' and look in the tmp/deploy/rpm directory I see that every package included in PACKAGES has dbg, dev, doc, and ptest rpm's generated. Same with the deploy-rpms directory where the package is built.

I'm running the recipe independently and not including the packages in an image recipe because I'm only interested in generating the rpm's. Example recipe:

In meta-mylayer/common/recipes-core/packagegroups/my-packagegroup.bb:

inherit packagegroup
PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1"

PACKAGES = "\
    my-packagegroup-base \
    "

RDEPENDS_my-packagegroup-base = "\
    ethtool        \
    "
Comment 1 Paul Eggleton 2016-03-20 20:53:57 UTC
Just to clarify, you were seeing my-packagegroup-base-dev / my-packagegroup-base-dbg and my-packagegroup-base-ptest packages?

I just tested building your example recipe with master and I don't see this behaviour - in fact I discovered a bug that means those packages apparently can never be generated as far as I can tell. Were you using jethro or some earlier release?
Comment 2 Jonathan Richardson 2016-03-21 18:01:26 UTC
Thanks for looking into it. I meant the packages contained in the package groups, not the package group itself. In the example below the package group 'my-packagegroup-base' included ethtool. I expect that there wouldn't be complimentary rpms generated ethtool but it generates ethtool, ethtool-dbg, ethtool-dev, ethtool-doc, and ethtool-ptest.

The only rpm for the package group itself that I see is my-packagegroup-base.rpm. I assume that would always be the case.

I'm using Jethro + many of the latest commits (up to d53413d3a8444c38a83ea37867c8af7754d8e702). We keep pretty up to date but I saw the problem back before we merged recently.

Let me know if there's anything else I can test if you don't see the behavior.
Comment 3 Paul Eggleton 2016-03-21 19:50:58 UTC
PACKAGEGROUP_DISABLE_COMPLEMENTARY is only about the packagegroup itself, it cannot control the packages generated for other recipes.

Can I ask what you're attempting to achieve here? Why do you wish to disable these packages?
Comment 4 Jonathan Richardson 2016-03-21 21:18:02 UTC
Just to better control the number of rpm's generated by a specific package group and reduce the large amount of disk space required (partly due to these extra packages we don't need). I have a package group that includes ~40 packages and takes up 620MB of disk space.

More specifically, we have images generated for customer releases plus other packages that QA needs to help verify those images. We don't want QA packages included in customer images so I'm using a specific package group that allows them to generate RPM's they need and then use smart to install the rpms on top of released images.

We have autobuilders verifying yocto projects on gerrit check ins, nightly builds, etc. It's nice but we're getting killed on disk space so any features available to help will be used.