[OE-core] replacement natives - was Re: [PATCH 1/2] make: add make-replacement-native 3.81

Mark Hatle mark.hatle at windriver.com
Wed Aug 15 21:44:08 UTC 2012


On 8/15/12 4:39 PM, Richard Purdie wrote:
> On Wed, 2012-08-15 at 17:18 +0100, Ross Burton wrote:
>> GNU Make 3.82 has some regressions regarding parallel processing that causes
>> some packages to fail, specifically WebKitGTK+.  Add make-replacement-native
>> 3.81 so that those packages can depend on a Make which is known to work.
>>
>> Signed-off-by: Ross Burton <ross.burton at intel.com>
>> ---
>>   meta/recipes-devtools/make/make-replacement-native_3.81.bb |    6 ++++++
>>   1 file changed, 6 insertions(+)
>>   create mode 100644 meta/recipes-devtools/make/make-replacement-native_3.81.bb
>>
>> diff --git a/meta/recipes-devtools/make/make-replacement-native_3.81.bb b/meta/recipes-devtools/make/make-replacement-native_3.81.bb
>> new file mode 100644
>> index 0000000..716a8b5
>> --- /dev/null
>> +++ b/meta/recipes-devtools/make/make-replacement-native_3.81.bb
>> @@ -0,0 +1,6 @@
>> +require make_${PV}.bb
>> +
>> +inherit native
>> +
>> +BPN = "make"
>> +EXTRAINSTALL = ""
>
> Unfortunately we have some experience with these replacement recipes and
> they need some "special" handling. You need to install make into a
> subdirectory off ${bindir} and then add it to PATH in the webkit recipe.
> There is precedent for this:

I was looking at the staging code the other day.. I suspect we could eliminate 
some of these problems with a few changes.

The order the items are staged is the first.  Right now bin and sbin are staged 
before libs.. so if we change that, it would resolve some of the problems we've 
seen.  The second thing is the way the copy itself occurs.. We should really do 
this in an atomic fashion..  use install, or copy to an alternative name, and 
then 'mv' to the actual name.

Only concern w/ the change to copy could be performance, but I'm really not sure 
how severe that is.... might also be possible to do that only in the 'native' cases.

--Mark

> http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=3f05622bac998f351168eb49a5ca96e7473f51be
>
> So BBCLASSEXTEND the make recipe, add a PROVIDES, then do a
> EXTRANATIVEPATH += "make-native" in the webkit recipe.
>
> The reason for this elaborate dance is so we avoid races, nothing should
> be executing the make binary when we do anything to it with sstate
> (install or remove it). Admittedly this is much more critical when there
> is an associated library like bzip but we need to set the right example.
>
> Cheers,
>
> Richard
>
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>





More information about the Openembedded-core mailing list