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.ja...@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


_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to