From: Martin Jansa <martin.jansa@gmail.com>
To: openembedded-devel@lists.openembedded.org
Subject: Re: DEPENDS broken for native(sdk).bbclass Was: libgee introspection problem
Date: Thu, 4 Nov 2010 08:40:45 +0100 [thread overview]
Message-ID: <20101104074045.GH3440@jama> (raw)
In-Reply-To: <20101026112551.GD3514@jama>
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
next prev parent reply other threads:[~2010-11-04 7:41 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-26 9:16 libgee introspection problem Frans Meulenbroeks
2010-10-26 9:39 ` Martin Jansa
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 [this message]
2010-11-04 8:05 ` DEPENDS broken for native(sdk).bbclass Was: libgee introspection problem Frans Meulenbroeks
2010-11-04 14:11 ` Chris Larson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20101104074045.GH3440@jama \
--to=martin.jansa@gmail.com \
--cc=openembedded-devel@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.