[oe] [RFC] get rid of legacy staging

Koen Kooi k.kooi at student.utwente.nl
Sat Jul 24 15:17:08 UTC 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 24-07-10 17:05, Detlef Vollmann wrote:
> On 07/24/10 16:35, Frans Meulenbroeks wrote:
>> 2010/7/24 Martyn Welch <martyn at welchs.me.uk>
>>
>>> Can anyone point me to any documentation that describes what legacy
>>> staging
>>> is and roughly what needs to be done to remove it?
> 
>>
>> There was a post half a year or so ago from Koen, but I can't find it.
>> Basically it boils down to removing do_stage from a recipe in which case
>> do_install is used to install things in staging
>> in some cases do_install need to be modified to deal with
>> peculiarities that
>> were done in do_stage
>>
>> For native recipes NATIVE_INSTALL_WORKS = "1" may need to be added.
> That's not really much of an explanation.
> Let's take an example.  I have two out of tree kernel modules A and B.
> B depends on A.
> With "legacy" staging, in A_1.0.bb I have a do_install, that copies
> the kernel object, and a do_stage, that copies the header file at
> a place where B_1.0.bb can find it.
> 
> How do I do that with non-"legacy" staging?

You copy the header in do_install to ${D}${includedir} or a subdir of
that depending on the header.

Cheat sheet:

STAGING_BINDIR -> ${D}${bindir}
STAGING_INCDIR -> ${D}${includedir}
STAGING_LIBDIR -> ${D}${libdir}
STAGING_DATADIR -> ${D}${datadir}

And if your recipe uses BBCLASS_EXTEND = native *and* 'make install'
doesn't do the job (e.g. using do_install_append), use
NATIVE_INSTALL_WORKS = "1"

If you use packaged-staging it's easy to do dpkg-deb -c on the staging
packages before and after the changes.

regards,

Koen
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)

iD8DBQFMSwP0MkyGM64RGpERAlrAAJ0Rn/6RY3f/wSuN++NEFJjRW4y6nwCgn+js
2prw5jIj56+M4syM4ZOIHtU=
=tisQ
-----END PGP SIGNATURE-----





More information about the Openembedded-devel mailing list