On Tue, Sep 11, 2012 at 11:36:05AM +0200, Martin Jansa wrote: > On Tue, Sep 11, 2012 at 10:03:27AM +0100, Richard Purdie wrote: > > On Tue, 2012-09-11 at 10:03 +0200, Martin Jansa wrote: > > > Hi, > > > > > > in meta-openembedded/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb: > > > > > > DEPENDS_virtclass-native = "libpng jpeg" > > > DEPENDS = "libpng jpeg expat gtk+" > > > > > > BBCLASSEXTEND = "native" > > > > > > Did it work (at least at some point of time) that DEPENDS for > > > libwmf-native were expanded to libpng-native and jpeg-native? > > > > I don't think that has ever worked. Its assumed that if you're going to > > use class overrides, you put the right thing in place. > > OK, good. That probably applies also to: > http://lists.linuxtogo.org/pipermail/openembedded-core/2012-August/028091.html > ccing Andrei Gherzan > > > > Because now it does not: > > > OE tuna@shr ~/shr-core $ bitbake-diffsigs > > > stamps.1347348593/nokia900/x86_64-linux/libwmf-native-0.2.8.4-r1.do_configure.sigdata.315a83efebb27040d6bf0aaead16671e > > > stamps.1347348593/om-gta02/x86_64-linux/libwmf-native-0.2.8.4-r1.do_configure.sigdata.0f8349ada0c8a18a6d6ed7b7841ec955 > > > Hash for dependent task libpng_1.2.49.bb.do_populate_sysroot changed > > > from 640001ee0530e51ef0aefb300c34f7dd to 7ba7d74a27e1e0af253ddac00a2be1c2 > > > Hash for dependent task libjpeg-turbo_svn.bb.do_populate_sysroot changed > > > from 3fe6eae3a6fd1af40233d548680c5bab to ff852ac3d5e826ff74e68b5ddc4ac3e1 > > > > > > So native recipe depending on target checksum -> rebuilding with each > > > MACHINE switch. > > > > > > I can fix it by: > > > DEPENDS_virtclass-native = "libpng-native jpeg-native" > > > but maybe there is more cases like this and this could be checked by > > > native.bbclass or something like that. > > > > That is the correct thing to do, the code assumes when you write > > explicit class overrides, you mean what you say... > > Ok, testing patch for that. 2nd similar issue is with sip-native which > gets target DEPENDS through inherits, weirdly if I override DEPENDS > in recipe after inherit it still gets qt4-x11-free :/ > > meta-oe/recipes-extended/sip/sip-native_4.13.3.bb: > inherit qt4x11 native python-dir > > # inherit qt4x11 adds dependency on target qt4-x11-free, which is bad, > # because we don't need it and it's causing different sstate checksum: > # $ bitbake-diffsigs > # > stamps.1347348593/nokia900/x86_64-linux/sip-native-4.13.3-r0.do_configure.sigdata.6e44871660ef91eab5ee4d56e55b6728 > # > stamps.1347348593/om-gta02/x86_64-linux/sip-native-4.13.3-r0.do_configure.sigdata.cdaf666b98c2c6ccfb710743dcdbd988 > # Hash for dependent task qt4-x11-free_4.8.1.bb.do_populate_sysroot > changed from 79234aca07686c1d97782e21fc098071 to > 7e9ba3de3ba9f709a5d9ef5abadb2d9e > DEPENDS_class-native = "qt4-tools-native " > > Even with different overrides it does not work, from bitbake -e: > sip-native.env.DEPENDS:# DEPENDS=qt4-tools-native > ${@base_contains("PROVIDES", "qt4-x11", "", "qt4-x11 ", d)}${BASEDEPENDS} > qt4-tools-native > sip-native.env.DEPENDS:DEPENDS="qt4-tools-native qt4-x11 qt4-tools-native" > sip-native.env.DEPENDS_class-native:# DEPENDS_class-native=None > sip-native.env.DEPENDS_class-native:# DEPENDS=qt4-tools-native > ${@base_contains("PROVIDES", "qt4-x11", "", "qt4-x11 ", d)}${BASEDEPENDS} > qt4-tools-native > sip-native.env.DEPENDS_class-native:DEPENDS="qt4-tools-native qt4-x11 > qt4-tools-native" > sip-native.env.DEPENDS_virtclass-native:# > DEPENDS_virtclass-native=qt4-tools-native > sip-native.env.DEPENDS_virtclass-native:# DEPENDS=qt4-tools-native > ${@base_contains("PROVIDES", "qt4-x11", "", "qt4-x11 ", d)}${BASEDEPENDS} > sip-native.env.DEPENDS_virtclass-native:DEPENDS_virtclass-native="qt4-tools-native" > sip-native.env.DEPENDS_virtclass-native:DEPENDS="qt4-tools-native qt4-x11" > sip-native.env.old.DEPENDS:# DEPENDS=qt4-tools-native > ${@base_contains("PROVIDES", "qt4-x11", "", "qt4-x11 ", d)}${BASEDEPENDS} > sip-native.env.old.DEPENDS:DEPENDS="qt4-tools-native qt4-x11" > > How to override DEPENDS_prepend from inherited bbclasses?
This works, but is it right solution?
Tested on sip-native (where I don't have qt4-x11-free now).
meta/recipes-qt/qt4/qt-mobility-x11_1.2.0.bb which has redundant DEPENDS =
"qt4-x11-free"
meta/recipes-qt/qt-apps/qmmp_0.6.1.bb which has redundant inherit qmake2
OE om-gta02@shr ~/shr-core $ grep ^DEPENDS qmmp.env
DEPENDS="qt4-x11 autoconf-native automake-native libtool-native libtool-cross
gnu-config-native qt4-tools-native virtual/arm-oe-linux-gnueabi-gcc
virtual/arm-oe-linux-gnueabi-compilerlibs virtual/libc taglib libmad libvorbis
libogg alsa-lib cmake-native"
OE om-gta02@shr ~/shr-core $ grep ^DEPENDS qt-mobility-x11.env
DEPENDS="qt4-tools-native qt4-x11 virtual/arm-oe-linux-gnueabi-gcc
virtual/arm-oe-linux-gnueabi-compilerlibs virtual/libc qt4-x11-free pulseaudio
bluez4"
diff --git a/meta/classes/qt4x11.bbclass b/meta/classes/qt4x11.bbclass
index 52190f4..267a1cc 100644
--- a/meta/classes/qt4x11.bbclass
+++ b/meta/classes/qt4x11.bbclass
@@ -1,4 +1,4 @@
-DEPENDS_prepend = "${@base_contains("PROVIDES", "qt4-x11", "", "qt4-x11 ", d)}"
+DEPENDS_prepend_class-target = "${@base_contains("PROVIDES", "qt4-x11", "",
"qt4-x11 ", d)}"
inherit qmake2
--
Martin 'JaMa' Jansa jabber: [email protected]
signature.asc
Description: Digital signature
_______________________________________________ Openembedded-core mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
