[oe] Convert vala to new world staging

Richard Purdie rpurdie at rpsys.net
Sat Mar 6 14:58:40 UTC 2010


On Fri, 2010-03-05 at 17:56 +0100, Dr. Michael Lauer wrote:
> > All vala recipes currently complain about being lagacy stages. With a
> > lot of help from my friends I came up with this patch for
> > classes/vala.bbclass.
> > 
> > diff --git a/classes/vala.bbclass b/classes/vala.bbclass
> > index 2633905..2c23efb 100644
> > --- a/classes/vala.bbclass
> > +++ b/classes/vala.bbclass
> > @@ -9,8 +9,8 @@ VALA_DONT_STAGE_VAPIS ?= "\(/config.vapi$\)\|\(/config.deps$\)"
> > 
> > # .vapi and .deps files are arch independent and need to be present in the
> > # staging datadir for the native vala compiler
> > -do_stage_append() {
> > -	install -d ${STAGING_DATADIR_NATIVE}/vala/vapi
> > -	for VALAFILE in `find . -name "*.vapi" | grep -v "$VALA_DONT_STAGE_VAPIS"`; do install -m 0644 ${VALAFILE} ${STAGING_DATADIR_NATIVE}/vala/vapi/; done
> > -	for VALAFILE in `find . -name "*.deps" | grep -v "$VALA_DONT_STAGE_VAPIS"`; do install -m 0644 ${VALAFILE} ${STAGING_DATADIR_NATIVE}/vala/vapi/; done
> > +do_install_append() {
> > +	install -d ${D}${datadir}/vala/vapi
> > +	for VALAFILE in `find . -name "*.vapi" | grep -v "$VALA_DONT_STAGE_VAPIS"`; do install -m 0644 ${VALAFILE} ${D}${datadir}/vala/vapi/; done
> > +	for VALAFILE in `find . -name "*.deps" | grep -v "$VALA_DONT_STAGE_VAPIS"`; do install -m 0644 ${VALAFILE} ${D}${datadir}/vala/vapi/; done
> > }
> 
> This will only work for vala-native. All non-native packages inheriting vala will then fail to install their
> .vapi files in STAGING_DATADIR_NATIVE, which is where vala-native expects them to be.

Something is very wrong with vala-native then :(

Target packages should not be installing things into the native sysroot.
The reason why is when we come to start using staging packages, these
staging packages are going to have a dependency on the specific build
system they were built on.

If these files are architecture independent I'd suggest putting them in
an architecture independent path (which native sysroot is not)

Cheers,

Richard





More information about the Openembedded-devel mailing list