Patchwork [2/2] pixman: ignore NEON, IWMMXT, LOONGSON_MMI variables for class-native

login
register
mail settings
Submitter Martin Jansa
Date Sept. 5, 2012, 1:05 a.m.
Message ID <1346807137-4231-2-git-send-email-Martin.Jansa@gmail.com>
Download mbox | patch
Permalink /patch/35875/
State Accepted
Commit 0b466e6677208aeefdfa15aa37bd4681eda166c8
Headers show

Comments

Martin Jansa - Sept. 5, 2012, 1:05 a.m.
* pixman-native can have different do_configure sstate checksums if it's built with armv4t machine and armv7a
  OE @ ~ $ bitbake/bin/bitbake-diffsigs
    before-mgmt/stamps.1346795706/nokia900/x86_64-linux/pixman-native-*.do_configure.sigdata.*
    after-mgmt/stamps.1346801508/om-gta02/x86_64-linux/pixman-native-*.do_configure.sigdata.*
  basehash changed from 27e577de60880a788c7aaba797ef83e0 to c6799807eb3e767daf1e75738fc753f7
  Variable NEON value changed from   to  --disable-arm-neon
* so if you start building with different machine then last time (wrt
  NEON setting) all recipes which depends on pixman-native will be rebuilt too
* this explains why sstate-cache-management.sh wanted to remove many
  native sstate packages when --stamps-dir option was used (see comment
  28 in https://bugzilla.yoctoproject.org/show_bug.cgi?id=2897)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
Robert Yang - Sept. 5, 2012, 6:11 a.m.
On 09/05/2012 09:05 AM, Martin Jansa wrote:
> * pixman-native can have different do_configure sstate checksums if it's built with armv4t machine and armv7a
>    OE @ ~ $ bitbake/bin/bitbake-diffsigs
>      before-mgmt/stamps.1346795706/nokia900/x86_64-linux/pixman-native-*.do_configure.sigdata.*
>      after-mgmt/stamps.1346801508/om-gta02/x86_64-linux/pixman-native-*.do_configure.sigdata.*
>    basehash changed from 27e577de60880a788c7aaba797ef83e0 to c6799807eb3e767daf1e75738fc753f7
>    Variable NEON value changed from   to  --disable-arm-neon
> * so if you start building with different machine then last time (wrt
>    NEON setting) all recipes which depends on pixman-native will be rebuilt too
> * this explains why sstate-cache-management.sh wanted to remove many
>    native sstate packages when --stamps-dir option was used (see comment
>    28 in https://bugzilla.yoctoproject.org/show_bug.cgi?id=2897)
>
> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> ---
>   meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb | 5 +++--
>   1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb b/meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb
> index 35a2def..218808a 100644
> --- a/meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb
> +++ b/meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb
> @@ -15,7 +15,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=14096c769ae0cbb5fcb94ec468be11b3 \
>   DEPENDS += "zlib libpng"
>   BBCLASSEXTEND = "native"
>
> -PR = "r1"
> +PR = "r2"
>
>   PE = "1"
>
> @@ -25,7 +25,8 @@ NEON = " --disable-arm-neon "
>   NEON_armv7a = " "
>   NEON_armv7a-vfp-neon = " "
>
> -EXTRA_OECONF="--disable-gtk ${IWMMXT} ${LOONGSON_MMI} ${NEON}"
> +EXTRA_OECONF = "--disable-gtk ${IWMMXT} ${LOONGSON_MMI} ${NEON}"
> +EXTRA_OECONF_class-native = "--disable-gtk"
>

Hi Martin,

What's the differences between "_virtclass-native" and "_class-native", please?

// Robert


>   SRC_URI += "\
>               file://0001-ARM-qemu-related-workarounds-in-cpu-features-detecti.patch \
>
Paul Eggleton - Sept. 5, 2012, 8:01 a.m.
On Wednesday 05 September 2012 14:11:41 Robert Yang wrote:
> On 09/05/2012 09:05 AM, Martin Jansa wrote:
> > * pixman-native can have different do_configure sstate checksums if it's
> > built with armv4t machine and armv7a> 
> >    OE @ ~ $ bitbake/bin/bitbake-diffsigs
> >    
> >      before-mgmt/stamps.1346795706/nokia900/x86_64-linux/pixman-native-*.d
> >      o_configure.sigdata.*
> >      after-mgmt/stamps.1346801508/om-gta02/x86_64-linux/pixman-native-*.d
> >      o_configure.sigdata.*>    
> >    basehash changed from 27e577de60880a788c7aaba797ef83e0 to
> >    c6799807eb3e767daf1e75738fc753f7 Variable NEON value changed from   to
> >     --disable-arm-neon
> > 
> > * so if you start building with different machine then last time (wrt
> > 
> >    NEON setting) all recipes which depends on pixman-native will be
> >    rebuilt too> 
> > * this explains why sstate-cache-management.sh wanted to remove many
> > 
> >    native sstate packages when --stamps-dir option was used (see comment
> >    28 in https://bugzilla.yoctoproject.org/show_bug.cgi?id=2897)
> > 
> > Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> > ---
> > 
> >   meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb | 5 +++--
> >   1 file changed, 3 insertions(+), 2 deletions(-)
> > 
> > diff --git a/meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb
> > b/meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb index 35a2def..218808a
> > 100644
> > --- a/meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb
> > +++ b/meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb
> > @@ -15,7 +15,7 @@ LIC_FILES_CHKSUM =
> > "file://COPYING;md5=14096c769ae0cbb5fcb94ec468be11b3 \> 
> >   DEPENDS += "zlib libpng"
> >   BBCLASSEXTEND = "native"
> > 
> > -PR = "r1"
> > +PR = "r2"
> > 
> >   PE = "1"
> > 
> > @@ -25,7 +25,8 @@ NEON = " --disable-arm-neon "
> > 
> >   NEON_armv7a = " "
> >   NEON_armv7a-vfp-neon = " "
> > 
> > -EXTRA_OECONF="--disable-gtk ${IWMMXT} ${LOONGSON_MMI} ${NEON}"
> > +EXTRA_OECONF = "--disable-gtk ${IWMMXT} ${LOONGSON_MMI} ${NEON}"
> > +EXTRA_OECONF_class-native = "--disable-gtk"
> 
> Hi Martin,
> 
> What's the differences between "_virtclass-native" and "_class-native",
> please?

Not a huge amount, it's part of the set of new overrides that allows you to 
have an override for the target:

http://comments.gmane.org/gmane.comp.handhelds.openembedded.core/19325

Cheers,
Paul
Martin Jansa - Sept. 5, 2012, 8:19 a.m.
On Wed, Sep 05, 2012 at 02:11:41PM +0800, Robert Yang wrote:
> 
> 
> On 09/05/2012 09:05 AM, Martin Jansa wrote:
> > * pixman-native can have different do_configure sstate checksums if it's built with armv4t machine and armv7a
> >    OE @ ~ $ bitbake/bin/bitbake-diffsigs
> >      before-mgmt/stamps.1346795706/nokia900/x86_64-linux/pixman-native-*.do_configure.sigdata.*
> >      after-mgmt/stamps.1346801508/om-gta02/x86_64-linux/pixman-native-*.do_configure.sigdata.*
> >    basehash changed from 27e577de60880a788c7aaba797ef83e0 to c6799807eb3e767daf1e75738fc753f7
> >    Variable NEON value changed from   to  --disable-arm-neon
> > * so if you start building with different machine then last time (wrt
> >    NEON setting) all recipes which depends on pixman-native will be rebuilt too
> > * this explains why sstate-cache-management.sh wanted to remove many
> >    native sstate packages when --stamps-dir option was used (see comment
> >    28 in https://bugzilla.yoctoproject.org/show_bug.cgi?id=2897)
> >
> > Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> > ---
> >   meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb | 5 +++--
> >   1 file changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb b/meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb
> > index 35a2def..218808a 100644
> > --- a/meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb
> > +++ b/meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb
> > @@ -15,7 +15,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=14096c769ae0cbb5fcb94ec468be11b3 \
> >   DEPENDS += "zlib libpng"
> >   BBCLASSEXTEND = "native"
> >
> > -PR = "r1"
> > +PR = "r2"
> >
> >   PE = "1"
> >
> > @@ -25,7 +25,8 @@ NEON = " --disable-arm-neon "
> >   NEON_armv7a = " "
> >   NEON_armv7a-vfp-neon = " "
> >
> > -EXTRA_OECONF="--disable-gtk ${IWMMXT} ${LOONGSON_MMI} ${NEON}"
> > +EXTRA_OECONF = "--disable-gtk ${IWMMXT} ${LOONGSON_MMI} ${NEON}"
> > +EXTRA_OECONF_class-native = "--disable-gtk"
> >
> 
> Hi Martin,
> 
> What's the differences between "_virtclass-native" and "_class-native", please?

_class-foo works for all types of recipes:
target,native,cross,crosssdk,cross-canadian,nativesdk

classes/base.bbclass:CLASSOVERRIDE ?= "class-target"
classes/cross-canadian.bbclass:CLASSOVERRIDE = "class-cross-canadian"
classes/cross.bbclass:CLASSOVERRIDE = "class-cross"
classes/crosssdk.bbclass:CLASSOVERRIDE = "class-crosssdk"
classes/native.bbclass:CLASSOVERRIDE = "class-native"
classes/nativesdk.bbclass:CLASSOVERRIDE = "class-nativesdk"
conf/bitbake.conf:OVERRIDES = "${TARGET_OS}:${TRANSLATED_TARGET_ARCH}:build-${BUILD_OS}:pn-${PN}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}:${CLASSOVERRIDE}:forcevariable"
conf/bitbake.conf:CLASSOVERRIDE ?= "class-target"

while _virtclass-foo works only for cross, native, nativesdk and multilib
classes/cross.bbclass:    bb.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + ":virtclass-cross", e.data)
classes/native.bbclass:    e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + ":virtclass-native")
classes/nativesdk.bbclass:    e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + ":virtclass-nativesdk")
classes/populate_sdk_base.bbclass:        overrides = d.getVar("OVERRIDES", False) + ":virtclass-multilib-" + item
classes/utils.bbclass:        overrides = localdata.getVar("OVERRIDES", False) + ":virtclass-multilib-" + item
recipes-core/eglibc/eglibc-ld.inc:        overrides = localdata.getVar("OVERRIDES", False) + ":virtclass-multilib-" + item

IIRC RP said somewhere that virtclass usages should be 
cleaned from metadata and replaced with stronger CLASSOVERRIDE, that's
why I used class-native here.

Cheers,
Robert Yang - Sept. 5, 2012, 8:26 a.m.
On 09/05/2012 04:19 PM, Martin Jansa wrote:
> On Wed, Sep 05, 2012 at 02:11:41PM +0800, Robert Yang wrote:
>>
>>
>> On 09/05/2012 09:05 AM, Martin Jansa wrote:
>>> * pixman-native can have different do_configure sstate checksums if it's built with armv4t machine and armv7a
>>>     OE @ ~ $ bitbake/bin/bitbake-diffsigs
>>>       before-mgmt/stamps.1346795706/nokia900/x86_64-linux/pixman-native-*.do_configure.sigdata.*
>>>       after-mgmt/stamps.1346801508/om-gta02/x86_64-linux/pixman-native-*.do_configure.sigdata.*
>>>     basehash changed from 27e577de60880a788c7aaba797ef83e0 to c6799807eb3e767daf1e75738fc753f7
>>>     Variable NEON value changed from   to  --disable-arm-neon
>>> * so if you start building with different machine then last time (wrt
>>>     NEON setting) all recipes which depends on pixman-native will be rebuilt too
>>> * this explains why sstate-cache-management.sh wanted to remove many
>>>     native sstate packages when --stamps-dir option was used (see comment
>>>     28 in https://bugzilla.yoctoproject.org/show_bug.cgi?id=2897)
>>>
>>> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
>>> ---
>>>    meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb | 5 +++--
>>>    1 file changed, 3 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb b/meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb
>>> index 35a2def..218808a 100644
>>> --- a/meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb
>>> +++ b/meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb
>>> @@ -15,7 +15,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=14096c769ae0cbb5fcb94ec468be11b3 \
>>>    DEPENDS += "zlib libpng"
>>>    BBCLASSEXTEND = "native"
>>>
>>> -PR = "r1"
>>> +PR = "r2"
>>>
>>>    PE = "1"
>>>
>>> @@ -25,7 +25,8 @@ NEON = " --disable-arm-neon "
>>>    NEON_armv7a = " "
>>>    NEON_armv7a-vfp-neon = " "
>>>
>>> -EXTRA_OECONF="--disable-gtk ${IWMMXT} ${LOONGSON_MMI} ${NEON}"
>>> +EXTRA_OECONF = "--disable-gtk ${IWMMXT} ${LOONGSON_MMI} ${NEON}"
>>> +EXTRA_OECONF_class-native = "--disable-gtk"
>>>
>>
>> Hi Martin,
>>
>> What's the differences between "_virtclass-native" and "_class-native", please?
>
> _class-foo works for all types of recipes:
> target,native,cross,crosssdk,cross-canadian,nativesdk
>
> classes/base.bbclass:CLASSOVERRIDE ?= "class-target"
> classes/cross-canadian.bbclass:CLASSOVERRIDE = "class-cross-canadian"
> classes/cross.bbclass:CLASSOVERRIDE = "class-cross"
> classes/crosssdk.bbclass:CLASSOVERRIDE = "class-crosssdk"
> classes/native.bbclass:CLASSOVERRIDE = "class-native"
> classes/nativesdk.bbclass:CLASSOVERRIDE = "class-nativesdk"
> conf/bitbake.conf:OVERRIDES = "${TARGET_OS}:${TRANSLATED_TARGET_ARCH}:build-${BUILD_OS}:pn-${PN}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}:${CLASSOVERRIDE}:forcevariable"
> conf/bitbake.conf:CLASSOVERRIDE ?= "class-target"
>
> while _virtclass-foo works only for cross, native, nativesdk and multilib
> classes/cross.bbclass:    bb.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + ":virtclass-cross", e.data)
> classes/native.bbclass:    e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + ":virtclass-native")
> classes/nativesdk.bbclass:    e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + ":virtclass-nativesdk")
> classes/populate_sdk_base.bbclass:        overrides = d.getVar("OVERRIDES", False) + ":virtclass-multilib-" + item
> classes/utils.bbclass:        overrides = localdata.getVar("OVERRIDES", False) + ":virtclass-multilib-" + item
> recipes-core/eglibc/eglibc-ld.inc:        overrides = localdata.getVar("OVERRIDES", False) + ":virtclass-multilib-" + item
>
> IIRC RP said somewhere that virtclass usages should be
> cleaned from metadata and replaced with stronger CLASSOVERRIDE, that's
> why I used class-native here.
>

Got it, thank you very much, Paul and Martin.

// Robert

> Cheers,
>
Richard Purdie - Sept. 5, 2012, 8:29 p.m.
On Wed, 2012-09-05 at 16:26 +0800, Robert Yang wrote:
> 
> On 09/05/2012 04:19 PM, Martin Jansa wrote:
> > On Wed, Sep 05, 2012 at 02:11:41PM +0800, Robert Yang wrote:
> >>
> >>
> >> On 09/05/2012 09:05 AM, Martin Jansa wrote:
> >>> * pixman-native can have different do_configure sstate checksums if it's built with armv4t machine and armv7a
> >>>     OE @ ~ $ bitbake/bin/bitbake-diffsigs
> >>>       before-mgmt/stamps.1346795706/nokia900/x86_64-linux/pixman-native-*.do_configure.sigdata.*
> >>>       after-mgmt/stamps.1346801508/om-gta02/x86_64-linux/pixman-native-*.do_configure.sigdata.*
> >>>     basehash changed from 27e577de60880a788c7aaba797ef83e0 to c6799807eb3e767daf1e75738fc753f7
> >>>     Variable NEON value changed from   to  --disable-arm-neon
> >>> * so if you start building with different machine then last time (wrt
> >>>     NEON setting) all recipes which depends on pixman-native will be rebuilt too
> >>> * this explains why sstate-cache-management.sh wanted to remove many
> >>>     native sstate packages when --stamps-dir option was used (see comment
> >>>     28 in https://bugzilla.yoctoproject.org/show_bug.cgi?id=2897)
> >>>
> >>> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> >>> ---
> >>>    meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb | 5 +++--
> >>>    1 file changed, 3 insertions(+), 2 deletions(-)
> >>>
> >>> diff --git a/meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb b/meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb
> >>> index 35a2def..218808a 100644
> >>> --- a/meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb
> >>> +++ b/meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb
> >>> @@ -15,7 +15,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=14096c769ae0cbb5fcb94ec468be11b3 \
> >>>    DEPENDS += "zlib libpng"
> >>>    BBCLASSEXTEND = "native"
> >>>
> >>> -PR = "r1"
> >>> +PR = "r2"
> >>>
> >>>    PE = "1"
> >>>
> >>> @@ -25,7 +25,8 @@ NEON = " --disable-arm-neon "
> >>>    NEON_armv7a = " "
> >>>    NEON_armv7a-vfp-neon = " "
> >>>
> >>> -EXTRA_OECONF="--disable-gtk ${IWMMXT} ${LOONGSON_MMI} ${NEON}"
> >>> +EXTRA_OECONF = "--disable-gtk ${IWMMXT} ${LOONGSON_MMI} ${NEON}"
> >>> +EXTRA_OECONF_class-native = "--disable-gtk"
> >>>
> >>
> >> Hi Martin,
> >>
> >> What's the differences between "_virtclass-native" and "_class-native", please?
> >
> > _class-foo works for all types of recipes:
> > target,native,cross,crosssdk,cross-canadian,nativesdk
> >
> > classes/base.bbclass:CLASSOVERRIDE ?= "class-target"
> > classes/cross-canadian.bbclass:CLASSOVERRIDE = "class-cross-canadian"
> > classes/cross.bbclass:CLASSOVERRIDE = "class-cross"
> > classes/crosssdk.bbclass:CLASSOVERRIDE = "class-crosssdk"
> > classes/native.bbclass:CLASSOVERRIDE = "class-native"
> > classes/nativesdk.bbclass:CLASSOVERRIDE = "class-nativesdk"
> > conf/bitbake.conf:OVERRIDES = "${TARGET_OS}:${TRANSLATED_TARGET_ARCH}:build-${BUILD_OS}:pn-${PN}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}:${CLASSOVERRIDE}:forcevariable"
> > conf/bitbake.conf:CLASSOVERRIDE ?= "class-target"
> >
> > while _virtclass-foo works only for cross, native, nativesdk and multilib
> > classes/cross.bbclass:    bb.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + ":virtclass-cross", e.data)
> > classes/native.bbclass:    e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + ":virtclass-native")
> > classes/nativesdk.bbclass:    e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + ":virtclass-nativesdk")
> > classes/populate_sdk_base.bbclass:        overrides = d.getVar("OVERRIDES", False) + ":virtclass-multilib-" + item
> > classes/utils.bbclass:        overrides = localdata.getVar("OVERRIDES", False) + ":virtclass-multilib-" + item
> > recipes-core/eglibc/eglibc-ld.inc:        overrides = localdata.getVar("OVERRIDES", False) + ":virtclass-multilib-" + item
> >
> > IIRC RP said somewhere that virtclass usages should be
> > cleaned from metadata and replaced with stronger CLASSOVERRIDE, that's
> > why I used class-native here.
> >
> 
> Got it, thank you very much, Paul and Martin.

virtclass* is going away at some point so class* should be used in new
code and we need to do a conversion at some point. I keep getting
distracted by other bigger issues...

Cheers,

Richard

Patch

diff --git a/meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb b/meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb
index 35a2def..218808a 100644
--- a/meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb
+++ b/meta/recipes-graphics/xorg-lib/pixman_0.27.2.bb
@@ -15,7 +15,7 @@  LIC_FILES_CHKSUM = "file://COPYING;md5=14096c769ae0cbb5fcb94ec468be11b3 \
 DEPENDS += "zlib libpng"
 BBCLASSEXTEND = "native"
 
-PR = "r1"
+PR = "r2"
 
 PE = "1"
 
@@ -25,7 +25,8 @@  NEON = " --disable-arm-neon "
 NEON_armv7a = " "
 NEON_armv7a-vfp-neon = " "
 
-EXTRA_OECONF="--disable-gtk ${IWMMXT} ${LOONGSON_MMI} ${NEON}"
+EXTRA_OECONF = "--disable-gtk ${IWMMXT} ${LOONGSON_MMI} ${NEON}"
+EXTRA_OECONF_class-native = "--disable-gtk"
 
 SRC_URI += "\
             file://0001-ARM-qemu-related-workarounds-in-cpu-features-detecti.patch \