* [PATCH] autotools, base, vala: don't define DEPENDS with _virtclass overrides
2010-10-26 11:25 ` DEPENDS broken for native(sdk).bbclass Was: " Martin Jansa
@ 2010-10-26 11:35 ` Martin Jansa
2010-11-04 7:40 ` DEPENDS broken for native(sdk).bbclass Was: libgee introspection problem Martin Jansa
2010-11-04 8:05 ` Frans Meulenbroeks
2 siblings, 0 replies; 7+ messages in thread
From: Martin Jansa @ 2010-10-26 11:35 UTC (permalink / raw)
To: openembedded-devel
* native and nativesdk are handling DEPENDS from target recipe if there
is no DEPENDS_virtclass-native(sdk) defined
* this breaks recipes where is DEPENDS_virtclass-native(sdk) defined to
override common DEPENDS but without ie autotools dependencies
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
classes/autotools.bbclass | 2 --
classes/base.bbclass | 3 ---
classes/vala.bbclass | 1 -
3 files changed, 0 insertions(+), 6 deletions(-)
diff --git a/classes/autotools.bbclass b/classes/autotools.bbclass
index 2c27d0f..a13c3d0 100644
--- a/classes/autotools.bbclass
+++ b/classes/autotools.bbclass
@@ -25,8 +25,6 @@ def autotools_deps(d):
EXTRA_OEMAKE = ""
DEPENDS_prepend = "${@autotools_deps(d)}"
-DEPENDS_virtclass-native_prepend = "${@autotools_deps(d)}"
-DEPENDS_virtclass-nativesdk_prepend = "${@autotools_deps(d)}"
inherit siteinfo
diff --git a/classes/base.bbclass b/classes/base.bbclass
index d4d8257..4473edd 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -81,9 +81,6 @@ def base_deps(d):
return deps
DEPENDS_prepend="${@base_deps(d)} "
-DEPENDS_virtclass-native_prepend="${@base_deps(d)} "
-DEPENDS_virtclass-nativesdk_prepend="${@base_deps(d)} "
-
SCENEFUNCS += "base_scenefunction"
diff --git a/classes/vala.bbclass b/classes/vala.bbclass
index d4ba831..0ea68cb 100644
--- a/classes/vala.bbclass
+++ b/classes/vala.bbclass
@@ -3,7 +3,6 @@ PARALLEL_MAKE = ""
# Vala needs vala-native
DEPENDS += "vala-native"
-DEPENDS_virtclass-native += "vala-native"
# Our patched version of Vala looks in STAGING_DATADIR for .vapi files
export STAGING_DATADIR
--
1.7.3.1
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: DEPENDS broken for native(sdk).bbclass Was: libgee introspection problem
2010-10-26 11:25 ` DEPENDS broken for native(sdk).bbclass Was: " Martin Jansa
2010-10-26 11:35 ` [PATCH] autotools, base, vala: don't define DEPENDS with _virtclass overrides Martin Jansa
@ 2010-11-04 7:40 ` Martin Jansa
2010-11-04 8:05 ` Frans Meulenbroeks
2 siblings, 0 replies; 7+ messages in thread
From: Martin Jansa @ 2010-11-04 7:40 UTC (permalink / raw)
To: openembedded-devel
On Tue, Oct 26, 2010 at 01:25:51PM +0200, Martin Jansa wrote:
> On Tue, Oct 26, 2010 at 11:39:26AM +0200, Martin Jansa wrote:
> > On Tue, Oct 26, 2010 at 11:16:46AM +0200, Frans Meulenbroeks wrote:
> > > Hi,
> > >
> > > With the testing branch I get a problem with libgee native in
> > > combination with introspection.
> > > I'm building distro minimal, target neek (but I doubt that the latter matters)
> > >
> > > Anyone an idea?
> >
> > that should be fixed with
> > http://git.openembedded.org/cgit.cgi/openembedded/commit/?id=df932a2769c2f6f7195363e8eb83994846805398
> >
> > but that didn't make it to DEPENDS_virtclass-native (as well as
> > glib-2.0), I'm checking why (reading native.bbclass looks like it
> > should be there automatically).
> >
> > if I don't find bug in native.bbclass I'll append it to
> > DEPENDS_virtclass-native too
>
> native.bbclass and nativesdk.bbclass use
> ORIG_DEPENDS := "${DEPENDS}"
> DEPENDS_virtclass-native ?= "${ORIG_DEPENDS}"
>
> and then for every dependency in DEPENDS_virtclass-native it does:
>
> 1) if it ends with -cross appends dependency ending -native instead
> 2) if it ends with -native it just appends
> 3) else appends dependency ending with native instead
>
> That's all nice and right and works in theory, BUT:
>
> base.bbclass:
> DEPENDS_prepend="${@base_deps(d)} "
> DEPENDS_virtclass-native_prepend="${@base_deps(d)} "
> DEPENDS_virtclass-nativesdk_prepend="${@base_deps(d)} "
>
> autotools.bbclass:
> DEPENDS_prepend = "${@autotools_deps(d)}"
> DEPENDS_virtclass-native_prepend = "${@autotools_deps(d)}"
> DEPENDS_virtclass-nativesdk_prepend = "${@autotools_deps(d)}"
>
> vala.bbclass:
> DEPENDS += "vala-native"
> DEPENDS_virtclass-native += "vala-native"
>
> so DEPENDS_virtclass-native is not empty when native.bbclass calls:
> DEPENDS_virtclass-native ?= "${ORIG_DEPENDS}"
> and ORIG_DEPENDS are just ignored
>
> we cannot fix it with
> DEPENDS_virtclass-native += "${ORIG_DEPENDS}"
>
> because sometimes we want to override DEPENDS_virtclass-native from
> recipe (ie when target recipe depends on its own ${PN}-native).
>
> Maybe it's because the order of bbclass processing was changed? It would
> work OK if we process native and nativesdk first.
>
> I've added small debug output to see order now
> DEBUG: Removing /OE/dev/recipes/libgee/libgee_0.6.0.bb from cache
> DEBUG: Parsing /OE/dev/recipes/libgee/libgee_0.6.0.bb
> DEBUG: inherited base
> DEBUG: inherited autotools
> DEBUG: inherited vala
> DEBUG: inherited base
> DEBUG: inherited autotools
> DEBUG: inherited vala
> DEBUG: inherited native
>
> No idea why I see it twice..
>
> Current broken state:
> DEBUG: OrigDepends: autoconf-native automake-native libtool-native gnu-config-native coreutils-native linux-libc-headers-native glib-2.0 vala-native gobject-introspection-native
> DEBUG: Depends: autoconf-native automake-native libtool-native gnu-config-native coreutils-native linux-libc-headers-native vala-native
> glib-2.0 is from libgee.inc, gobject-introspection-native from libgee_0.6.0.bb, but both lost
>
> If I remove those append/preppend from bbclasses:
> DEBUG: OrigDepends: autoconf-native automake-native libtool-native gnu-config-native coreutils-native linux-libc-headers-native glib-2.0 vala-native gobject-introspection-native
> DEBUG: Depends: autoconf-native automake-native libtool-native gnu-config-native coreutils-native linux-libc-headers-native glib-2.0 vala-native gobject-introspection-native
>
>
> I'll send patch for removing those DEPENDS_virtclass-native(sdk) from bbclasses.
> But that will break those recipes where DEPENDS_virtclass-native is used to override
> common DEPENDS but without still needed dependencies from classes, so enforced
> bbclass order would be probably better fix.
>
> We really need some sort of unit tests :/.
>
> Regards,
ping?
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: DEPENDS broken for native(sdk).bbclass Was: libgee introspection problem
2010-10-26 11:25 ` DEPENDS broken for native(sdk).bbclass Was: " Martin Jansa
2010-10-26 11:35 ` [PATCH] autotools, base, vala: don't define DEPENDS with _virtclass overrides Martin Jansa
2010-11-04 7:40 ` DEPENDS broken for native(sdk).bbclass Was: libgee introspection problem Martin Jansa
@ 2010-11-04 8:05 ` Frans Meulenbroeks
2010-11-04 14:11 ` Chris Larson
2 siblings, 1 reply; 7+ messages in thread
From: Frans Meulenbroeks @ 2010-11-04 8:05 UTC (permalink / raw)
To: openembedded-devel
2010/10/26 Martin Jansa <martin.jansa@gmail.com>:
> On Tue, Oct 26, 2010 at 11:39:26AM +0200, Martin Jansa wrote:
>> On Tue, Oct 26, 2010 at 11:16:46AM +0200, Frans Meulenbroeks wrote:
>> > Hi,
>> >
>> > With the testing branch I get a problem with libgee native in
>> > combination with introspection.
>> > I'm building distro minimal, target neek (but I doubt that the latter matters)
>> >
>> > Anyone an idea?
>>
>> that should be fixed with
>> http://git.openembedded.org/cgit.cgi/openembedded/commit/?id=df932a2769c2f6f7195363e8eb83994846805398
>>
>> but that didn't make it to DEPENDS_virtclass-native (as well as
>> glib-2.0), I'm checking why (reading native.bbclass looks like it
>> should be there automatically).
>>
>> if I don't find bug in native.bbclass I'll append it to
>> DEPENDS_virtclass-native too
>
> native.bbclass and nativesdk.bbclass use
> ORIG_DEPENDS := "${DEPENDS}"
> DEPENDS_virtclass-native ?= "${ORIG_DEPENDS}"
>
> and then for every dependency in DEPENDS_virtclass-native it does:
>
> 1) if it ends with -cross appends dependency ending -native instead
> 2) if it ends with -native it just appends
> 3) else appends dependency ending with native instead
>
> That's all nice and right and works in theory, BUT:
>
> base.bbclass:
> DEPENDS_prepend="${@base_deps(d)} "
> DEPENDS_virtclass-native_prepend="${@base_deps(d)} "
> DEPENDS_virtclass-nativesdk_prepend="${@base_deps(d)} "
>
> autotools.bbclass:
> DEPENDS_prepend = "${@autotools_deps(d)}"
> DEPENDS_virtclass-native_prepend = "${@autotools_deps(d)}"
> DEPENDS_virtclass-nativesdk_prepend = "${@autotools_deps(d)}"
>
> vala.bbclass:
> DEPENDS += "vala-native"
> DEPENDS_virtclass-native += "vala-native"
>
> so DEPENDS_virtclass-native is not empty when native.bbclass calls:
> DEPENDS_virtclass-native ?= "${ORIG_DEPENDS}"
> and ORIG_DEPENDS are just ignored
>
> we cannot fix it with
> DEPENDS_virtclass-native += "${ORIG_DEPENDS}"
>
> because sometimes we want to override DEPENDS_virtclass-native from
> recipe (ie when target recipe depends on its own ${PN}-native).
>
> Maybe it's because the order of bbclass processing was changed? It would
> work OK if we process native and nativesdk first.
>
> I've added small debug output to see order now
> DEBUG: Removing /OE/dev/recipes/libgee/libgee_0.6.0.bb from cache
> DEBUG: Parsing /OE/dev/recipes/libgee/libgee_0.6.0.bb
> DEBUG: inherited base
> DEBUG: inherited autotools
> DEBUG: inherited vala
> DEBUG: inherited base
> DEBUG: inherited autotools
> DEBUG: inherited vala
> DEBUG: inherited native
>
> No idea why I see it twice..
>
> Current broken state:
> DEBUG: OrigDepends: autoconf-native automake-native libtool-native gnu-config-native coreutils-native linux-libc-headers-native glib-2.0 vala-native gobject-introspection-native
> DEBUG: Depends: autoconf-native automake-native libtool-native gnu-config-native coreutils-native linux-libc-headers-native vala-native
> glib-2.0 is from libgee.inc, gobject-introspection-native from libgee_0.6.0.bb, but both lost
>
> If I remove those append/preppend from bbclasses:
> DEBUG: OrigDepends: autoconf-native automake-native libtool-native gnu-config-native coreutils-native linux-libc-headers-native glib-2.0 vala-native gobject-introspection-native
> DEBUG: Depends: autoconf-native automake-native libtool-native gnu-config-native coreutils-native linux-libc-headers-native glib-2.0 vala-native gobject-introspection-native
>
>
> I'll send patch for removing those DEPENDS_virtclass-native(sdk) from bbclasses.
> But that will break those recipes where DEPENDS_virtclass-native is used to override
> common DEPENDS but without still needed dependencies from classes, so enforced
> bbclass order would be probably better fix.
>
After your ping:
I'm definitely no expert in this area. Your proposal looks ok but I'm
a little bit worried about the breaking of DEPENDS_virtclass-native.
This seems to involve some 44 recipes (list at end).
Guess we should repair those first.
Did we already have that _target suffix?
Enjoy, Frans.
frans@frans-desktop:~/workspace/openembedded/recipes$ grep
DEPENDS_virtclass-native */* | grep -v "+"
autoconf/autoconf.inc:DEPENDS_virtclass-native = "m4-native gnu-config-native"
automake/automake.inc:DEPENDS_virtclass-native = "autoconf-native"
bcel/bcel_5.2.bb:DEPENDS_virtclass-native = "fastjar-native
xerces-j-native regexp-native"
classpathx/gnumail_1.1.2.bb:DEPENDS_virtclass-native = "fastjar-native
gnujaf-native inetlib-native"
dbus/dbus-glib.inc:DEPENDS_virtclass-native = "expat-native
glib-2.0-native dbus-native"
e2fsprogs/e2fsprogs.inc:DEPENDS_virtclass-native = "gettext-native
util-linux-ng-native"
efl1/ecore.inc:DEPENDS_virtclass-native = "eet-native evas-native"
eggdbus/eggdbus_0.6.bb:DEPENDS_virtclass-native = "dbus-native
glib-2.0-native dbus-glib-native"
file/file.inc:DEPENDS_virtclass-native = ""
gettext/gettext_0.14.1.bb:DEPENDS_virtclass-native = ""
gettext/gettext_0.17.bb:DEPENDS_virtclass-native = "libxml2-native"
gettext/gettext_0.18.bb:DEPENDS_virtclass-native = "libxml2-native"
glib-1.2/glib-1.2_1.2.10.bb:DEPENDS_virtclass-native = ""
glib-2.0/glib-2.0_2.22.4.bb:DEPENDS_virtclass-native = "gettext-native
gtk-doc-native \
glib-2.0/glib-2.0_2.23.6.bb:DEPENDS_virtclass-native = "gettext-native
gtk-doc-native \
glib-2.0/glib-2.0_2.24.0.bb:DEPENDS_virtclass-native = "gettext-native
gtk-doc-native \
glib-2.0/glib-2.0_2.24.1.bb:DEPENDS_virtclass-native = "gettext-native
gtk-doc-native \
gnome/gnome-doc-utils.inc:DEPENDS_virtclass-native = "libxslt-native
libxml2-native gettext-native"
gobject-introspection/gobject-introspection_0.9.10.bb:DEPENDS_virtclass-native
= "glib-2.0-native libffi-native"
htmldoc/htmldoc_1.9.x-r1571.bb:DEPENDS_virtclass-native = ""
jakarta-libs/bsf_2.4.0.bb:DEPENDS_virtclass-native = "fastjar-native
jacl-native commons-logging-native rhino-native xalan-j-native
bcel-native"
jakarta-libs/log4j1.2_1.2.15.bb:DEPENDS_virtclass-native =
"fastjar-native gnumail-native gnujaf-native"
jakarta-libs/logkit_1.2.2.bb:DEPENDS_virtclass-native =
"fastjar-native oro-native servlet2.3-native gnumail-native
gnujaf-native log4j1.2-native avalon-framework-api-native"
jcraft/jsch_0.1.40.bb:DEPENDS_virtclass-native = "fastjar-native jzlib-native"
jikes/jikes_1.22.bb:RDEPENDS_virtclass-native = ""
kakasi/kakasi_2.3.4.bb:DEPENDS_virtclass-native = ""
libftdi/libftdi_0.18.bb:DEPENDS_virtclass-native = "virtual/libusb0-native"
libgpg-error/libgpg-error.inc:DEPENDS_virtclass-native = ""
libxml/libxml2.inc:DEPENDS_virtclass-native = "python-native"
ncurses/ncurses_5.4.bb:DEPENDS_virtclass-native = ""
ncurses/ncurses_5.7.bb:DEPENDS_virtclass-native = "unifdef-native"
opkg-utils/opkg-utils_svn.bb:RDEPENDS_virtclass-native = ""
pango/pango.inc:DEPENDS_virtclass-native = "glib-2.0-native cairo-native"
postfix/postfix.inc:DEPENDS_virtclass-native = "virtual/db-native
libpcre-native"
ruby/ruby.inc:DEPENDS_virtclass-native = ""
sqlite/sqlite3_3.6.23.1.bb:DEPENDS_virtclass-native = "readline-native
ncurses-native"
util-linux-ng/util-linux-ng.inc:DEPENDS_virtclass-native =
"zlib-native ncurses-native lzo-native gettext-native"
vala/vala.inc:DEPENDS_virtclass-native = "glib-2.0-native dbus-native"
xalan-j/xalan-j_2.7.1.bb:DEPENDS_virtclass-native = "\
xerces-j/xerces-j_2.9.1.bb:DEPENDS_virtclass-native = "fastjar-native
jaxp1.3-native xml-commons-resolver1.1-native"
xml-commons/xml-commons-resolver1.1_1.2.bb:DEPENDS_virtclass-native =
"fastjar-native jaxp1.3-native"
xorg-lib/libx11_1.3.99.902.bb:DEPENDS_virtclass-native =
"libxcb-native ${COMMON_DEPENDS}"
xorg-lib/libx11.inc:DEPENDS_virtclass-native = "${COMMON_DEPENDS}"
xorg-lib/libx11.inc:DEPENDS_virtclass-nativesdk = "${COMMON_DEPENDS}"
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: DEPENDS broken for native(sdk).bbclass Was: libgee introspection problem
2010-11-04 8:05 ` Frans Meulenbroeks
@ 2010-11-04 14:11 ` Chris Larson
0 siblings, 0 replies; 7+ messages in thread
From: Chris Larson @ 2010-11-04 14:11 UTC (permalink / raw)
To: openembedded-devel
On Thu, Nov 4, 2010 at 1:05 AM, Frans Meulenbroeks <
fransmeulenbroeks@gmail.com> wrote:
> After your ping:
> I'm definitely no expert in this area. Your proposal looks ok but I'm
> a little bit worried about the breaking of DEPENDS_virtclass-native.
> This seems to involve some 44 recipes (list at end).
> Guess we should repair those first.
> Did we already have that _target suffix?
>
Adding a target override has proved to be rather painful due to when
OVERRIDES is used during the parsing process, unfortunately. Khem's patch
ran into some problems, which I'm investigating. Will reply to this thread
or his patch thread with details as I gather them.
--
Christopher Larson
clarson at kergoth dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Senior Software Engineer, Mentor Graphics
^ permalink raw reply [flat|nested] 7+ messages in thread