[OE-core] [PATCH 4/5] image.bbclass: switch to OE's IMAGE_FEATURES

Chris Larson clarson at kergoth.com
Fri May 20 18:09:52 UTC 2011


On Fri, May 20, 2011 at 11:05 AM, Richard Purdie
<richard.purdie at linuxfoundation.org> wrote:
> On Wed, 2011-05-18 at 14:06 -0700, Chris Larson wrote:
>> From: Chris Larson <chris_larson at mentor.com>
>>
>> Currently, all image features are assumed to be package groups defined with
>> oe.packagegroup (PACKAGE_GROUP_<group> = "<list of packages>").
>>
>> Signed-off-by: Chris Larson <chris_larson at mentor.com>
>> ---
>>  meta/classes/core-image.bbclass |  112 ++++++++++++++-------------------------
>>  meta/classes/image.bbclass      |   41 ++++++++++++++-
>>  meta/conf/bitbake.conf          |    1 +
>>  3 files changed, 79 insertions(+), 75 deletions(-)
>>          - SDK
>> @@ -26,75 +24,43 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3
>>  # - nfs-server          - NFS server (exports / over NFS to everybody)
>>  # - ssh-server-dropbear - SSH server (dropbear)
>>  # - ssh-server-openssh  - SSH server (openssh)
>> -# - dev-pkgs            - development packages
>> -# - dbg-pkgs            - debug packages
>>  #
>
> I like the patch, there are just two things which bother me a little.
> Firstly, if I understand correctly and haven't missed anything,
> "dev-pkgs" becomes "dev" with this change?
>
> A quick grep shows users of this such as:
>
> recipes-core/images/core-image-minimal-dev.bb:IMAGE_FEATURES += "dev-pkgs"
> recipes-extended/images/core-image-lsb-sdk.bb:IMAGE_FEATURES += "apps-console-core tools-debug tools-profile tools-sdk dev-pkgs ssh-server-openssh"
> recipes-extended/images/core-image-lsb-dev.bb:IMAGE_FEATURES += "apps-console-core dev-pkgs ssh-server-openssh"
> recipes-sato/images/core-image-sato-dev.bb:IMAGE_FEATURES += "apps-console-core ${SATO_IMAGE_FEATURES} dev-pkgs"
> recipes-sato/images/core-image-sato-sdk.bb:IMAGE_FEATURES += "apps-console-core ${SATO_IMAGE_FEATURES} tools-debug tools-profile tools-sdk dev-pkgs qt4-pkgs"
>
> and I'd expect the changelog to at least mention it and correct this.
>
> I'm also thinking IMAGE_FEATURES = "dev" doesn't really indicate what it
> means very clearly which is why dev-pkgs was originally used...

Good points, that's fair enough. I only went with 'dev' for
compatibility with upstream OE. I'm not opposed to switching to
dev-pkgs. Would you like me to do that and resubmit, with the other
issues addressed?

>> --- a/meta/classes/image.bbclass
>> +++ b/meta/classes/image.bbclass
>> @@ -11,8 +11,45 @@ INHIBIT_DEFAULT_DEPS = "1"
>>
>>  # "export IMAGE_BASENAME" not supported at this time
>>  IMAGE_BASENAME[export] = "1"
>> -export PACKAGE_INSTALL ?= "${IMAGE_INSTALL}"
>> -PACKAGE_INSTALL_ATTEMPTONLY ?= ""
>> +
>> +PACKAGE_INSTALL = "${@' '.join(oe.packagegroup.required_packages('${IMAGE_FEATURES}'.split(), d))}"
>> +PACKAGE_INSTALL_ATTEMPTONLY = "${@' '.join(oe.packagegroup.optional_packages('${IMAGE_FEATURES}'.split(), d))}"
>> +RDEPENDS += "${@' '.join(oe.packagegroup.active_packages('${IMAGE_FEATURES}'.split(), d))}"
>
> I also noticed this patch changes things so PACKAGE_INSTALL_ATTEMPTONLY
> is used for the dev/doc/dbg packages. I'm not sure its a major issue but
> it is a change in behaviour and I'd have expected it in the commit
> message.

Ah, that's my mistake then, I didn't realize the behavior was
different in the current implementation. I just figured some packages
might not have dev/doc/dbg, so it should be nonfatal to miss them. We
may also need to make sure rpm/deb both handle attemptonly properly,
as upstream's did not. I'll add this to the commit message, unless you
think they shouldn't be optional? I'm inclined to prefer it this way,
as, iirc, the depchain stuff uses recommends rather than depends.
(though i may be remembering wrong?)
-- 
Christopher Larson
clarson at kergoth dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Senior Software Engineer, Mentor Graphics




More information about the Openembedded-core mailing list