Patchwork [1/1] iproute2: explicitly add 'bash' to its RDEPENDS

login
register
mail settings
Submitter Qi.Chen@windriver.com
Date Oct. 30, 2013, 2:07 a.m.
Message ID <8375914656f9a76b45495b0bb7209df9a7fde180.1383098783.git.Qi.Chen@windriver.com>
Download mbox | patch
Permalink /patch/60741/
State New
Headers show

Comments

Qi.Chen@windriver.com - Oct. 30, 2013, 2:07 a.m.
From: Chen Qi <Qi.Chen@windriver.com>

If we build a minimal image with iproute2 installed, the following
error will appear during rootfs.

error: Can't install iproute2-3.10.0-r0.0@i586: no package provides /bin/bash

The problem is that iproute2 has an implicit dependency on 'bash'.
This dependency is from per-file dependency checking. But as 'bash'
is not explicitly specified in the RDEPENDS in recipe, it's not built.
This leads to the above error.

Fix this problem by explicitly adding 'bash' to the RDEPENDS.

[YOCTO #5415]

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
 meta/recipes-connectivity/iproute2/iproute2.inc |    1 +
 1 file changed, 1 insertion(+)
Khem Raj - Oct. 31, 2013, 3:32 a.m.
On Tue, Oct 29, 2013 at 7:07 PM,  <Qi.Chen@windriver.com> wrote:
> From: Chen Qi <Qi.Chen@windriver.com>
>
> If we build a minimal image with iproute2 installed, the following
> error will appear during rootfs.
>
> error: Can't install iproute2-3.10.0-r0.0@i586: no package provides /bin/bash
>
> The problem is that iproute2 has an implicit dependency on 'bash'.
> This dependency is from per-file dependency checking. But as 'bash'
> is not explicitly specified in the RDEPENDS in recipe, it's not built.
> This leads to the above error.

To be a bit more surgical if you could figure out which script is it
which is asking for it that will help
to determine if we can create a separate package for these scripts which
have dependency on bash and then create a RDEPEND for this new package instead.

>
> Fix this problem by explicitly adding 'bash' to the RDEPENDS.
>
> [YOCTO #5415]
>
> Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> ---
>  meta/recipes-connectivity/iproute2/iproute2.inc |    1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/meta/recipes-connectivity/iproute2/iproute2.inc b/meta/recipes-connectivity/iproute2/iproute2.inc
> index 3db21db..40f6a6c 100644
> --- a/meta/recipes-connectivity/iproute2/iproute2.inc
> +++ b/meta/recipes-connectivity/iproute2/iproute2.inc
> @@ -10,6 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
>                      file://ip/ip.c;beginline=3;endline=8;md5=689d691d0410a4b64d3899f8d6e31817"
>
>  DEPENDS = "flex-native bison-native iptables"
> +RDEPENDS_${PN} = "bash"
>
>  inherit update-alternatives
>
> --
> 1.7.9.5
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
Qi.Chen@windriver.com - Oct. 31, 2013, 4:40 a.m.
On 10/31/2013 11:32 AM, Khem Raj wrote:
> On Tue, Oct 29, 2013 at 7:07 PM,  <Qi.Chen@windriver.com> wrote:
>> From: Chen Qi <Qi.Chen@windriver.com>
>>
>> If we build a minimal image with iproute2 installed, the following
>> error will appear during rootfs.
>>
>> error: Can't install iproute2-3.10.0-r0.0@i586: no package provides /bin/bash
>>
>> The problem is that iproute2 has an implicit dependency on 'bash'.
>> This dependency is from per-file dependency checking. But as 'bash'
>> is not explicitly specified in the RDEPENDS in recipe, it's not built.
>> This leads to the above error.
> To be a bit more surgical if you could figure out which script is it
> which is asking for it that will help
> to determine if we can create a separate package for these scripts which
> have dependency on bash and then create a RDEPEND for this new package instead.

/sbin/ifcfg and /sbin/rtpr.

Here's a grep result from the package/ directory of iproute2.
iproute2/3.10.0-r0/package [1] $ grep -R '/bin/bash' ./*
./sbin/ifcfg:#! /bin/bash
./sbin/rtpr:#! /bin/bash
./usr/share/doc/iproute2/examples/cbq.init-v0.7.3:#!/bin/bash
./usr/share/doc/iproute2/examples/dhcp-client-script:#!/bin/bash
./usr/share/doc/iproute2/ip-cref.tex:#! /bin/bash
./usr/share/doc/iproute2/ip-cref.tex:#! /bin/bash

Best Regards,
Chen Qi

>> Fix this problem by explicitly adding 'bash' to the RDEPENDS.
>>
>> [YOCTO #5415]
>>
>> Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
>> ---
>>   meta/recipes-connectivity/iproute2/iproute2.inc |    1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/meta/recipes-connectivity/iproute2/iproute2.inc b/meta/recipes-connectivity/iproute2/iproute2.inc
>> index 3db21db..40f6a6c 100644
>> --- a/meta/recipes-connectivity/iproute2/iproute2.inc
>> +++ b/meta/recipes-connectivity/iproute2/iproute2.inc
>> @@ -10,6 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
>>                       file://ip/ip.c;beginline=3;endline=8;md5=689d691d0410a4b64d3899f8d6e31817"
>>
>>   DEPENDS = "flex-native bison-native iptables"
>> +RDEPENDS_${PN} = "bash"
>>
>>   inherit update-alternatives
>>
>> --
>> 1.7.9.5
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
Saul Wold - Oct. 31, 2013, 5:39 a.m.
On 10/30/2013 09:40 PM, ChenQi wrote:
> On 10/31/2013 11:32 AM, Khem Raj wrote:
>> On Tue, Oct 29, 2013 at 7:07 PM,  <Qi.Chen@windriver.com> wrote:
>>> From: Chen Qi <Qi.Chen@windriver.com>
>>>
>>> If we build a minimal image with iproute2 installed, the following
>>> error will appear during rootfs.
>>>
>>> error: Can't install iproute2-3.10.0-r0.0@i586: no package provides
>>> /bin/bash
>>>
>>> The problem is that iproute2 has an implicit dependency on 'bash'.
>>> This dependency is from per-file dependency checking. But as 'bash'
>>> is not explicitly specified in the RDEPENDS in recipe, it's not built.
>>> This leads to the above error.
>> To be a bit more surgical if you could figure out which script is it
>> which is asking for it that will help
>> to determine if we can create a separate package for these scripts which
>> have dependency on bash and then create a RDEPEND for this new package
>> instead.
>
> /sbin/ifcfg and /sbin/rtpr.
>
> Here's a grep result from the package/ directory of iproute2.
> iproute2/3.10.0-r0/package [1] $ grep -R '/bin/bash' ./*
> ./sbin/ifcfg:#! /bin/bash
> ./sbin/rtpr:#! /bin/bash
Can we de-bash these?  Upstream might take a patch for that.

> ./usr/share/doc/iproute2/examples/cbq.init-v0.7.3:#!/bin/bash
> ./usr/share/doc/iproute2/examples/dhcp-client-script:#!/bin/bash

These are example scripts, can we move them to a seperate package 
instead of being part of the core package?
> ./usr/share/doc/iproute2/ip-cref.tex:#! /bin/bash
> ./usr/share/doc/iproute2/ip-cref.tex:#! /bin/bash
>
Same here can we de-bash them or is it more work?

Sau!


> Best Regards,
> Chen Qi
>
>>> Fix this problem by explicitly adding 'bash' to the RDEPENDS.
>>>
>>> [YOCTO #5415]
>>>
>>> Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
>>> ---
>>>   meta/recipes-connectivity/iproute2/iproute2.inc |    1 +
>>>   1 file changed, 1 insertion(+)
>>>
>>> diff --git a/meta/recipes-connectivity/iproute2/iproute2.inc
>>> b/meta/recipes-connectivity/iproute2/iproute2.inc
>>> index 3db21db..40f6a6c 100644
>>> --- a/meta/recipes-connectivity/iproute2/iproute2.inc
>>> +++ b/meta/recipes-connectivity/iproute2/iproute2.inc
>>> @@ -10,6 +10,7 @@ LIC_FILES_CHKSUM =
>>> "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
>>>
>>> file://ip/ip.c;beginline=3;endline=8;md5=689d691d0410a4b64d3899f8d6e31817"
>>>
>>>
>>>   DEPENDS = "flex-native bison-native iptables"
>>> +RDEPENDS_${PN} = "bash"
>>>
>>>   inherit update-alternatives
>>>
>>> --
>>> 1.7.9.5
>>>
>>> _______________________________________________
>>> Openembedded-core mailing list
>>> Openembedded-core@lists.openembedded.org
>>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
>
Qi.Chen@windriver.com - Oct. 31, 2013, 5:54 a.m.
On 10/31/2013 01:39 PM, Saul Wold wrote:
> On 10/30/2013 09:40 PM, ChenQi wrote:
>> On 10/31/2013 11:32 AM, Khem Raj wrote:
>>> On Tue, Oct 29, 2013 at 7:07 PM, <Qi.Chen@windriver.com> wrote:
>>>> From: Chen Qi <Qi.Chen@windriver.com>
>>>>
>>>> If we build a minimal image with iproute2 installed, the following
>>>> error will appear during rootfs.
>>>>
>>>> error: Can't install iproute2-3.10.0-r0.0@i586: no package provides
>>>> /bin/bash
>>>>
>>>> The problem is that iproute2 has an implicit dependency on 'bash'.
>>>> This dependency is from per-file dependency checking. But as 'bash'
>>>> is not explicitly specified in the RDEPENDS in recipe, it's not built.
>>>> This leads to the above error.
>>> To be a bit more surgical if you could figure out which script is it
>>> which is asking for it that will help
>>> to determine if we can create a separate package for these scripts 
>>> which
>>> have dependency on bash and then create a RDEPEND for this new package
>>> instead.
>>
>> /sbin/ifcfg and /sbin/rtpr.
>>
>> Here's a grep result from the package/ directory of iproute2.
>> iproute2/3.10.0-r0/package [1] $ grep -R '/bin/bash' ./*
>> ./sbin/ifcfg:#! /bin/bash
>> ./sbin/rtpr:#! /bin/bash
> Can we de-bash these?  Upstream might take a patch for that.
>
>> ./usr/share/doc/iproute2/examples/cbq.init-v0.7.3:#!/bin/bash
>> ./usr/share/doc/iproute2/examples/dhcp-client-script:#!/bin/bash
>
> These are example scripts, can we move them to a seperate package 
> instead of being part of the core package?
>> ./usr/share/doc/iproute2/ip-cref.tex:#! /bin/bash
>> ./usr/share/doc/iproute2/ip-cref.tex:#! /bin/bash
>>
> Same here can we de-bash them or is it more work?
>
> Sau!
>
>

Hi Saul,

I'll make a new patch to de-bash these scripts.

Best Regards,
Chen Qi

>> Best Regards,
>> Chen Qi
>>
>>>> Fix this problem by explicitly adding 'bash' to the RDEPENDS.
>>>>
>>>> [YOCTO #5415]
>>>>
>>>> Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
>>>> ---
>>>>   meta/recipes-connectivity/iproute2/iproute2.inc |    1 +
>>>>   1 file changed, 1 insertion(+)
>>>>
>>>> diff --git a/meta/recipes-connectivity/iproute2/iproute2.inc
>>>> b/meta/recipes-connectivity/iproute2/iproute2.inc
>>>> index 3db21db..40f6a6c 100644
>>>> --- a/meta/recipes-connectivity/iproute2/iproute2.inc
>>>> +++ b/meta/recipes-connectivity/iproute2/iproute2.inc
>>>> @@ -10,6 +10,7 @@ LIC_FILES_CHKSUM =
>>>> "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
>>>>
>>>> file://ip/ip.c;beginline=3;endline=8;md5=689d691d0410a4b64d3899f8d6e31817" 
>>>>
>>>>
>>>>
>>>>   DEPENDS = "flex-native bison-native iptables"
>>>> +RDEPENDS_${PN} = "bash"
>>>>
>>>>   inherit update-alternatives
>>>>
>>>> -- 
>>>> 1.7.9.5
>>>>
>>>> _______________________________________________
>>>> Openembedded-core mailing list
>>>> Openembedded-core@lists.openembedded.org
>>>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>>>
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>>
>>
>
>

Patch

diff --git a/meta/recipes-connectivity/iproute2/iproute2.inc b/meta/recipes-connectivity/iproute2/iproute2.inc
index 3db21db..40f6a6c 100644
--- a/meta/recipes-connectivity/iproute2/iproute2.inc
+++ b/meta/recipes-connectivity/iproute2/iproute2.inc
@@ -10,6 +10,7 @@  LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
                     file://ip/ip.c;beginline=3;endline=8;md5=689d691d0410a4b64d3899f8d6e31817"
 
 DEPENDS = "flex-native bison-native iptables"
+RDEPENDS_${PN} = "bash"
 
 inherit update-alternatives