Patchwork [07/18] Add RDEPENDS for native

login
register
mail settings
Submitter Yann Diorcet
Date Oct. 21, 2012, 3:27 p.m.
Message ID <1350833261-8401-7-git-send-email-diorcet.yann@gmail.com>
Download mbox | patch
Permalink /patch/193010/
State Rejected
Headers show

Comments

Yann Diorcet - Oct. 21, 2012, 3:27 p.m.
From: Yann Diorcet <yann.diorcet@belledonne-communications.com>

Usefull for making native images
---
 lib/oelite/item.py |    7 +++++++
 1 file changed, 7 insertions(+)
Esben Haabendal - Oct. 22, 2012, 12:24 p.m.
Yann Diorcet <diorcet.yann@gmail.com> writes:

> From: Yann Diorcet <yann.diorcet@belledonne-communications.com>
>
> Usefull for making native images
> ---
>  lib/oelite/item.py |    7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/lib/oelite/item.py b/lib/oelite/item.py
> index 2c33755..249debb 100644
> --- a/lib/oelite/item.py
> +++ b/lib/oelite/item.py
> @@ -131,6 +131,13 @@ TYPEMAP = {
>          },
>  
>      "RDEPENDS": {
> +        "native" : {
> +            None                : "native",
> +            "native"		: "native",
> +            "machine"           : "native",
> +            "host"              : "native",
> +            "target"		: "native",
> +            },
>  
>          "machine" : {
>              None		: "machine",

Hi Yann

Why do you want to make native packages?

The meaning of native in OE-lite is for internal (ie. do_stage) usage,
and thus is not meant for other type of packaging.

A native recipe is therefore allowed to be tailored specifically to
this, and as such, cannot be expected to be used outside of OE-lite.

Am I right that, that the reasoning for this patch is that you want to
generate OSX packages when building on OSX?

If so, couldn't you be setting MACHINE_OS to darwin to get the same
result?  That way your use will not violate the current concept of
"native recipes and packages".

/Esben
Yann Diorcet - Oct. 22, 2012, 12:38 p.m.
Le 22/10/12 14:24, Esben Haabendal a écrit :
> Yann Diorcet <diorcet.yann@gmail.com> writes:
>
>> From: Yann Diorcet <yann.diorcet@belledonne-communications.com>
>>
>> Usefull for making native images
>> ---
>>   lib/oelite/item.py |    7 +++++++
>>   1 file changed, 7 insertions(+)
>>
>> diff --git a/lib/oelite/item.py b/lib/oelite/item.py
>> index 2c33755..249debb 100644
>> --- a/lib/oelite/item.py
>> +++ b/lib/oelite/item.py
>> @@ -131,6 +131,13 @@ TYPEMAP = {
>>           },
>>   
>>       "RDEPENDS": {
>> +        "native" : {
>> +            None                : "native",
>> +            "native"		: "native",
>> +            "machine"           : "native",
>> +            "host"              : "native",
>> +            "target"		: "native",
>> +            },
>>   
>>           "machine" : {
>>               None		: "machine",
> Hi Yann
>
> Why do you want to make native packages?
>
> The meaning of native in OE-lite is for internal (ie. do_stage) usage,
> and thus is not meant for other type of packaging.
>
> A native recipe is therefore allowed to be tailored specifically to
> this, and as such, cannot be expected to be used outside of OE-lite.
>
> Am I right that, that the reasoning for this patch is that you want to
> generate OSX packages when building on OSX?
Exactly. Sure, i understand the issue. I have used it in this way and it 
is fully usable.
> If so, couldn't you be setting MACHINE_OS to darwin to get the same
> result?  That way your use will not violate the current concept of
> "native recipes and packages".
It can be possible if we have a the compiler for it (crosstool-ng not 
handle it)
>
> /Esben
Esben Haabendal - Oct. 22, 2012, 9:42 p.m.
Diorcet Yann <diorcet.yann@gmail.com> writes:

> Le 22/10/12 14:24, Esben Haabendal a écrit :
>> Yann Diorcet <diorcet.yann@gmail.com> writes:
>>
>>> From: Yann Diorcet <yann.diorcet@belledonne-communications.com>
>>>
>>> Usefull for making native images
>>> ---
>>>   lib/oelite/item.py |    7 +++++++
>>>   1 file changed, 7 insertions(+)
>>>
>>> diff --git a/lib/oelite/item.py b/lib/oelite/item.py
>>> index 2c33755..249debb 100644
>>> --- a/lib/oelite/item.py
>>> +++ b/lib/oelite/item.py
>>> @@ -131,6 +131,13 @@ TYPEMAP = {
>>>           },
>>>         "RDEPENDS": {
>>> +        "native" : {
>>> +            None                : "native",
>>> +            "native"		: "native",
>>> +            "machine"           : "native",
>>> +            "host"              : "native",
>>> +            "target"		: "native",
>>> +            },
>>>             "machine" : {
>>>               None		: "machine",
>> Hi Yann
>>
>> Why do you want to make native packages?
>>
>> The meaning of native in OE-lite is for internal (ie. do_stage) usage,
>> and thus is not meant for other type of packaging.
>>
>> A native recipe is therefore allowed to be tailored specifically to
>> this, and as such, cannot be expected to be used outside of OE-lite.
>>
>> Am I right that, that the reasoning for this patch is that you want to
>> generate OSX packages when building on OSX?

> Exactly. Sure, i understand the issue. I have used it in this way and it is
> fully usable.

It might have worked fine, but I still believe it is generally not the
best idea.  Native recipes/packages are made for using in OE-lite, with
the staging directory layout, and is even in some cases specially hacked
for using in that way.

>> If so, couldn't you be setting MACHINE_OS to darwin to get the same
>> result?  That way your use will not violate the current concept of
>> "native recipes and packages".

> It can be possible if we have a the compiler for it (crosstool-ng not
> handle it)

Well, it should be possible to add enough stuff to ASSUME_PROVIDED to
use the compiler you use for native recipes.  Together with mangling of
various *FLAGS variables should get you going in the right direction.

/Esben

Patch

diff --git a/lib/oelite/item.py b/lib/oelite/item.py
index 2c33755..249debb 100644
--- a/lib/oelite/item.py
+++ b/lib/oelite/item.py
@@ -131,6 +131,13 @@  TYPEMAP = {
         },
 
     "RDEPENDS": {
+        "native" : {
+            None                : "native",
+            "native"		: "native",
+            "machine"           : "native",
+            "host"              : "native",
+            "target"		: "native",
+            },
 
         "machine" : {
             None		: "machine",