Patchwork [1/1] netbase: make netbase recipe MACHINE specific for all targets

login
register
mail settings
Submitter Joshua Lock
Date Feb. 2, 2012, 6:51 p.m.
Message ID <2e86c284dea7b710d380d262e1a76b79b530b422.1328208481.git.josh@linux.intel.com>
Download mbox | patch
Permalink /patch/20567/
State New
Headers show

Comments

Joshua Lock - Feb. 2, 2012, 6:51 p.m.
Several BSP's are appending netbase to add MACHINE specific
networking functionality. Rather than BSP creators having to mark
netbase MACHINE specific just default to PACKAGE_ARCH = "${MACHINE_ARCH}"
in netbase.

This shouldn't be a huge hit as netbase just copies files around.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
CC: Darren Hart <dvhart@linux.intel.com>
---
 meta/recipes-core/netbase/netbase_4.47.bb |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)
Koen Kooi - Feb. 2, 2012, 6:54 p.m.
Op 2 feb. 2012, om 19:51 heeft Joshua Lock het volgende geschreven:

> Several BSP's are appending netbase to add MACHINE specific
> networking functionality. Rather than BSP creators having to mark
> netbase MACHINE specific just default to PACKAGE_ARCH = "${MACHINE_ARCH}"
> in netbase.
> 
> This shouldn't be a huge hit as netbase just copies files around.

In the past OE would mark things machine specific if something in SRC_URI was fetched using overrides. So it this patches fixed netbase the 'old' mechanism is broken :(

regards,

Koen
Joshua Lock - Feb. 2, 2012, 6:59 p.m.
On 02/02/12 10:54, Koen Kooi wrote:
>
> Op 2 feb. 2012, om 19:51 heeft Joshua Lock het volgende geschreven:
>
>> Several BSP's are appending netbase to add MACHINE specific
>> networking functionality. Rather than BSP creators having to mark
>> netbase MACHINE specific just default to PACKAGE_ARCH = "${MACHINE_ARCH}"
>> in netbase.
>>
>> This shouldn't be a huge hit as netbase just copies files around.
>
> In the past OE would mark things machine specific if something in SRC_URI was fetched using overrides. So it this patches fixed netbase the 'old' mechanism is broken :(

This patch doesn't fix netbase, I just thought it would be simpler to 
make this change than ensure all BSP's use appropriate OVERRIDEs in 
their netbase bbappends - several I've seen don't.

Cheers,
Joshua
Darren Hart - Feb. 3, 2012, 5:15 p.m.
On 02/02/2012 10:59 AM, Joshua Lock wrote:
> On 02/02/12 10:54, Koen Kooi wrote:
>> 
>> Op 2 feb. 2012, om 19:51 heeft Joshua Lock het volgende
>> geschreven:
>> 
>>> Several BSP's are appending netbase to add MACHINE specific 
>>> networking functionality. Rather than BSP creators having to
>>> mark netbase MACHINE specific just default to PACKAGE_ARCH =
>>> "${MACHINE_ARCH}" in netbase.
>>> 
>>> This shouldn't be a huge hit as netbase just copies files
>>> around.
>> 
>> In the past OE would mark things machine specific if something in
>> SRC_URI was fetched using overrides. So it this patches fixed
>> netbase the 'old' mechanism is broken :(
> 
> This patch doesn't fix netbase, I just thought it would be simpler to
>  make this change than ensure all BSP's use appropriate OVERRIDEs in
>  their netbase bbappends - several I've seen don't.
> 

Is there a consensus on whether or not this can go in? I need either
this or the BSP layer fix for a new BSP. It seems to me that netbase is
overridden enough for machine specific things (like the interface file)
that Joshua's approach is the better fix.
Khem Raj - Feb. 3, 2012, 9:07 p.m.
On (02/02/12 10:59), Joshua Lock wrote:
> On 02/02/12 10:54, Koen Kooi wrote:
> >
> >Op 2 feb. 2012, om 19:51 heeft Joshua Lock het volgende geschreven:
> >
> >>Several BSP's are appending netbase to add MACHINE specific
> >>networking functionality. Rather than BSP creators having to mark
> >>netbase MACHINE specific just default to PACKAGE_ARCH = "${MACHINE_ARCH}"
> >>in netbase.
> >>
> >>This shouldn't be a huge hit as netbase just copies files around.
> >
> >In the past OE would mark things machine specific if something in SRC_URI was fetched using overrides. So it this patches fixed netbase the 'old' mechanism is broken :(
> 
> This patch doesn't fix netbase, I just thought it would be simpler
> to make this change than ensure all BSP's use appropriate OVERRIDEs
> in their netbase bbappends - several I've seen don't.

hmm MACHINE is automatic override. but I think making it explicit is
better for readability
> 
> Cheers,
> Joshua
> -- 
> Joshua Lock
>         Yocto Project "Johannes factotum"
>         Intel Open Source Technology Centre
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Koen Kooi - Feb. 4, 2012, 4:07 p.m.
Op 3 feb. 2012, om 18:15 heeft Darren Hart het volgende geschreven:

> 
> 
> On 02/02/2012 10:59 AM, Joshua Lock wrote:
>> On 02/02/12 10:54, Koen Kooi wrote:
>>> 
>>> Op 2 feb. 2012, om 19:51 heeft Joshua Lock het volgende
>>> geschreven:
>>> 
>>>> Several BSP's are appending netbase to add MACHINE specific 
>>>> networking functionality. Rather than BSP creators having to
>>>> mark netbase MACHINE specific just default to PACKAGE_ARCH =
>>>> "${MACHINE_ARCH}" in netbase.
>>>> 
>>>> This shouldn't be a huge hit as netbase just copies files
>>>> around.
>>> 
>>> In the past OE would mark things machine specific if something in
>>> SRC_URI was fetched using overrides. So it this patches fixed
>>> netbase the 'old' mechanism is broken :(
>> 
>> This patch doesn't fix netbase, I just thought it would be simpler to
>> make this change than ensure all BSP's use appropriate OVERRIDEs in
>> their netbase bbappends - several I've seen don't.
>> 
> 
> Is there a consensus on whether or not this can go in? I need either
> this or the BSP layer fix for a new BSP. It seems to me that netbase is
> overridden enough for machine specific things (like the interface file)
> that Joshua's approach is the better fix.

It all depends on how much crap in BSPs you want to fix up in OE-core. Where are you going to draw the line?
Joshua Lock - Feb. 6, 2012, 6:33 p.m.
On 04/02/12 08:07, Koen Kooi wrote:
>
> Op 3 feb. 2012, om 18:15 heeft Darren Hart het volgende geschreven:
>
>>
>>
>> On 02/02/2012 10:59 AM, Joshua Lock wrote:
>>> On 02/02/12 10:54, Koen Kooi wrote:
>>>>
>>>> Op 2 feb. 2012, om 19:51 heeft Joshua Lock het volgende
>>>> geschreven:
>>>>
>>>>> Several BSP's are appending netbase to add MACHINE specific
>>>>> networking functionality. Rather than BSP creators having to
>>>>> mark netbase MACHINE specific just default to PACKAGE_ARCH =
>>>>> "${MACHINE_ARCH}" in netbase.
>>>>>
>>>>> This shouldn't be a huge hit as netbase just copies files
>>>>> around.
>>>>
>>>> In the past OE would mark things machine specific if something in
>>>> SRC_URI was fetched using overrides. So it this patches fixed
>>>> netbase the 'old' mechanism is broken :(
>>>
>>> This patch doesn't fix netbase, I just thought it would be simpler to
>>> make this change than ensure all BSP's use appropriate OVERRIDEs in
>>> their netbase bbappends - several I've seen don't.
>>>
>>
>> Is there a consensus on whether or not this can go in? I need either
>> this or the BSP layer fix for a new BSP. It seems to me that netbase is
>> overridden enough for machine specific things (like the interface file)
>> that Joshua's approach is the better fix.
>
> It all depends on how much crap in BSPs you want to fix up in OE-core. Where are you going to draw the line?

I understand you don't like this change but I don't really understand why?

My intention with the patch is to make it easier for folks to produce 
BSP's which don't introduce bugs into other builds for the same 
architecture.

Cheers,
Joshua
Koen Kooi - Feb. 6, 2012, 6:58 p.m.
Op 6 feb. 2012 om 19:33 heeft Joshua Lock <josh@linux.intel.com> het volgende geschreven:

> On 04/02/12 08:07, Koen Kooi wrote:
>> 
>> Op 3 feb. 2012, om 18:15 heeft Darren Hart het volgende geschreven:
>> 
>>> 
>>> 
>>> On 02/02/2012 10:59 AM, Joshua Lock wrote:
>>>> On 02/02/12 10:54, Koen Kooi wrote:
>>>>> 
>>>>> Op 2 feb. 2012, om 19:51 heeft Joshua Lock het volgende
>>>>> geschreven:
>>>>> 
>>>>>> Several BSP's are appending netbase to add MACHINE specific
>>>>>> networking functionality. Rather than BSP creators having to
>>>>>> mark netbase MACHINE specific just default to PACKAGE_ARCH =
>>>>>> "${MACHINE_ARCH}" in netbase.
>>>>>> 
>>>>>> This shouldn't be a huge hit as netbase just copies files
>>>>>> around.
>>>>> 
>>>>> In the past OE would mark things machine specific if something in
>>>>> SRC_URI was fetched using overrides. So it this patches fixed
>>>>> netbase the 'old' mechanism is broken :(
>>>> 
>>>> This patch doesn't fix netbase, I just thought it would be simpler to
>>>> make this change than ensure all BSP's use appropriate OVERRIDEs in
>>>> their netbase bbappends - several I've seen don't.
>>>> 
>>> 
>>> Is there a consensus on whether or not this can go in? I need either
>>> this or the BSP layer fix for a new BSP. It seems to me that netbase is
>>> overridden enough for machine specific things (like the interface file)
>>> that Joshua's approach is the better fix.
>> 
>> It all depends on how much crap in BSPs you want to fix up in OE-core. Where are you going to draw the line?
> 
> I understand you don't like this change but I don't really understand why?
> 
> My intention with the patch is to make it easier for folks to produce BSP's which don't introduce bugs into other builds for the same architecture.

You're not making it easier, you're just fixing up bugs in the BSP in oe-core. So where do you draw the line on that?



> 
> Cheers,
> Joshua
> -- 
> Joshua Lock
>        Yocto Project "Johannes factotum"
>        Intel Open Source Technology Centre
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Joshua Lock - Feb. 6, 2012, 7:37 p.m.
On 06/02/12 10:58, Koen Kooi wrote:
> Op 6 feb. 2012 om 19:33 heeft Joshua Lock<josh@linux.intel.com>  het volgende geschreven:
>> On 04/02/12 08:07, Koen Kooi wrote:
>>> Op 3 feb. 2012, om 18:15 heeft Darren Hart het volgende geschreven:
>>>> On 02/02/2012 10:59 AM, Joshua Lock wrote:
>>>>> On 02/02/12 10:54, Koen Kooi wrote:
>>>>>>
>>>>>> Op 2 feb. 2012, om 19:51 heeft Joshua Lock het volgende
>>>>>> geschreven:
>>>>>>
>>>>>>> Several BSP's are appending netbase to add MACHINE specific
>>>>>>> networking functionality. Rather than BSP creators having to
>>>>>>> mark netbase MACHINE specific just default to PACKAGE_ARCH =
>>>>>>> "${MACHINE_ARCH}" in netbase.
>>>>>>>
>>>>>>> This shouldn't be a huge hit as netbase just copies files
>>>>>>> around.
>>>>>>
>>>>>> In the past OE would mark things machine specific if something in
>>>>>> SRC_URI was fetched using overrides. So it this patches fixed
>>>>>> netbase the 'old' mechanism is broken :(
>>>>>
>>>>> This patch doesn't fix netbase, I just thought it would be simpler to
>>>>> make this change than ensure all BSP's use appropriate OVERRIDEs in
>>>>> their netbase bbappends - several I've seen don't.
>>>>>
>>>>
>>>> Is there a consensus on whether or not this can go in? I need either
>>>> this or the BSP layer fix for a new BSP. It seems to me that netbase is
>>>> overridden enough for machine specific things (like the interface file)
>>>> that Joshua's approach is the better fix.
>>>
>>> It all depends on how much crap in BSPs you want to fix up in OE-core. Where are you going to draw the line?
>>
>> I understand you don't like this change but I don't really understand why?
>>
>> My intention with the patch is to make it easier for folks to produce BSP's which don't introduce bugs into other builds for the same architecture.
>
> You're not making it easier, you're just fixing up bugs in the BSP in oe-core. So where do you draw 
the line on that?

Thanks for persisting.

As I understand your argument: BSP developers still need to understand 
the intricacies involved as soon as they make a similar change to a 
non-netbase recipe?

I can't and won't disagree with that.

I could argue that, in the specific case of netbase, it's reasonable to 
expect the resultant package file to be MACHINE specific. For example, I 
wouldn't expect to take the network configuration from my laptop, copy 
it to my workstation and for it to all work.

Either way, I'm not attached to this patch but I do think the discussion 
has been useful.

Thanks,
Joshua
Koen Kooi - Feb. 6, 2012, 7:50 p.m.
Op 6 feb. 2012, om 20:37 heeft Joshua Lock het volgende geschreven:

> On 06/02/12 10:58, Koen Kooi wrote:
>> Op 6 feb. 2012 om 19:33 heeft Joshua Lock<josh@linux.intel.com>  het volgende geschreven:
>>> On 04/02/12 08:07, Koen Kooi wrote:
>>>> Op 3 feb. 2012, om 18:15 heeft Darren Hart het volgende geschreven:
>>>>> On 02/02/2012 10:59 AM, Joshua Lock wrote:
>>>>>> On 02/02/12 10:54, Koen Kooi wrote:
>>>>>>> 
>>>>>>> Op 2 feb. 2012, om 19:51 heeft Joshua Lock het volgende
>>>>>>> geschreven:
>>>>>>> 
>>>>>>>> Several BSP's are appending netbase to add MACHINE specific
>>>>>>>> networking functionality. Rather than BSP creators having to
>>>>>>>> mark netbase MACHINE specific just default to PACKAGE_ARCH =
>>>>>>>> "${MACHINE_ARCH}" in netbase.
>>>>>>>> 
>>>>>>>> This shouldn't be a huge hit as netbase just copies files
>>>>>>>> around.
>>>>>>> 
>>>>>>> In the past OE would mark things machine specific if something in
>>>>>>> SRC_URI was fetched using overrides. So it this patches fixed
>>>>>>> netbase the 'old' mechanism is broken :(
>>>>>> 
>>>>>> This patch doesn't fix netbase, I just thought it would be simpler to
>>>>>> make this change than ensure all BSP's use appropriate OVERRIDEs in
>>>>>> their netbase bbappends - several I've seen don't.
>>>>>> 
>>>>> 
>>>>> Is there a consensus on whether or not this can go in? I need either
>>>>> this or the BSP layer fix for a new BSP. It seems to me that netbase is
>>>>> overridden enough for machine specific things (like the interface file)
>>>>> that Joshua's approach is the better fix.
>>>> 
>>>> It all depends on how much crap in BSPs you want to fix up in OE-core. Where are you going to draw the line?
>>> 
>>> I understand you don't like this change but I don't really understand why?
>>> 
>>> My intention with the patch is to make it easier for folks to produce BSP's which don't introduce bugs into other builds for the same architecture.
>> 
>> You're not making it easier, you're just fixing up bugs in the BSP in oe-core. So where do you draw 
> the line on that?
> 
> Thanks for persisting.
> 
> As I understand your argument: BSP developers still need to understand the intricacies involved as soon as they make a similar change to a non-netbase recipe?
> 
> I can't and won't disagree with that.
> 
> I could argue that, in the specific case of netbase, it's reasonable to expect the resultant package file to be MACHINE specific. For example, I wouldn't expect to take the network configuration from my laptop, copy it to my workstation and for it to all work.

On the subject of networking, there's some overlap between the network management on oe-core/meta-oe. The current options:

* ifupdown (/etc/network/interfaces)
* connman (ignores /etc/network/interfaces)
* network manager (has a plugin to stay away from interfaces listed in /etc/network/interfaces)

I think we should have a look at how those 3 intergrate into the images we build. There is no cabal, but some face time at ELC would likely help :)

regards,

Koen
Joshua Lock - Feb. 6, 2012, 7:55 p.m.
On 06/02/12 11:50, Koen Kooi wrote:
> Op 6 feb. 2012, om 20:37 heeft Joshua Lock het volgende geschreven:
>
>> On 06/02/12 10:58, Koen Kooi wrote:
>>> Op 6 feb. 2012 om 19:33 heeft Joshua Lock<josh@linux.intel.com>   het volgende geschreven:
>>>> On 04/02/12 08:07, Koen Kooi wrote:
>>>>> Op 3 feb. 2012, om 18:15 heeft Darren Hart het volgende geschreven:
>>>>>> On 02/02/2012 10:59 AM, Joshua Lock wrote:
>>>>>>> On 02/02/12 10:54, Koen Kooi wrote:
>>>>>>>>
>>>>>>>> Op 2 feb. 2012, om 19:51 heeft Joshua Lock het volgende
>>>>>>>> geschreven:
>>>>>>>>
>>>>>>>>> Several BSP's are appending netbase to add MACHINE specific
>>>>>>>>> networking functionality. Rather than BSP creators having to
>>>>>>>>> mark netbase MACHINE specific just default to PACKAGE_ARCH =
>>>>>>>>> "${MACHINE_ARCH}" in netbase.
>>>>>>>>>
>>>>>>>>> This shouldn't be a huge hit as netbase just copies files
>>>>>>>>> around.
>>>>>>>>
>>>>>>>> In the past OE would mark things machine specific if something in
>>>>>>>> SRC_URI was fetched using overrides. So it this patches fixed
>>>>>>>> netbase the 'old' mechanism is broken :(
>>>>>>>
>>>>>>> This patch doesn't fix netbase, I just thought it would be simpler to
>>>>>>> make this change than ensure all BSP's use appropriate OVERRIDEs in
>>>>>>> their netbase bbappends - several I've seen don't.
>>>>>>>
>>>>>>
>>>>>> Is there a consensus on whether or not this can go in? I need either
>>>>>> this or the BSP layer fix for a new BSP. It seems to me that netbase is
>>>>>> overridden enough for machine specific things (like the interface file)
>>>>>> that Joshua's approach is the better fix.
>>>>>
>>>>> It all depends on how much crap in BSPs you want to fix up in OE-core. Where are you going to draw the line?
>>>>
>>>> I understand you don't like this change but I don't really understand why?
>>>>
>>>> My intention with the patch is to make it easier for folks to produce BSP's which don't introduce bugs into other builds for the same architecture.
>>>
>>> You're not making it easier, you're just fixing up bugs in the BSP in oe-core. So where do you draw
>> the line on that?
>>
>> Thanks for persisting.
>>
>> As I understand your argument: BSP developers still need to understand the intricacies involved as soon as they make a similar change to a non-netbase recipe?
>>
>> I can't and won't disagree with that.
>>
>> I could argue that, in the specific case of netbase, it's reasonable to expect the resultant package file to be MACHINE specific. For example, I wouldn't expect to take the network configuration from my laptop, copy it to my workstation and for it to all work.
>
> On the subject of networking, there's some overlap between the network management on oe-core/meta-oe. The current options:
>
> * ifupdown (/etc/network/interfaces)
> * connman (ignores /etc/network/interfaces)
> * network manager (has a plugin to stay away from interfaces listed in /etc/network/interfaces)
>
> I think we should have a look at how those 3 intergrate into the images we build. There is no cabal, but some face time at ELC would likely help :)

Agreed. I'm keen to have the layers interoperate more nicely so would 
welcome the discussion of this at ELC.

I'll be sure to share with the list too!

Cheers,
Joshua

Patch

diff --git a/meta/recipes-core/netbase/netbase_4.47.bb b/meta/recipes-core/netbase/netbase_4.47.bb
index ddfa8ad..5645580 100644
--- a/meta/recipes-core/netbase/netbase_4.47.bb
+++ b/meta/recipes-core/netbase/netbase_4.47.bb
@@ -48,6 +48,4 @@  do_install () {
 
 CONFFILES_${PN} = "${sysconfdir}/hosts ${sysconfdir}/network/interfaces"
 
-PACKAGE_ARCH_qemuarm = "${MACHINE_ARCH}"
-PACKAGE_ARCH_qemux86 = "${MACHINE_ARCH}"
-PACKAGE_ARCH_qemux86-64 = "${MACHINE_ARCH}"
+PACKAGE_ARCH = "${MACHINE_ARCH}"