All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] bash: add alternative configuration for bin/sh -> /bin/bash
@ 2009-03-27 20:50 Tim Harvey
  2009-03-27 21:02 ` Chris Larson
  0 siblings, 1 reply; 7+ messages in thread
From: Tim Harvey @ 2009-03-27 20:50 UTC (permalink / raw)
  To: openembedded-devel

Add alternative configuration for /bin/sh -> /bin/bash so that for 
example bash can exist (and override) as shell if busybox is also installed

diff --git a/recipes/bash/bash.inc b/recipes/bash/bash.inc
index 4eba689..7c6122b 100644
--- a/recipes/bash/bash.inc
+++ b/recipes/bash/bash.inc
@@ -4,7 +4,7 @@ DEPENDS = "ncurses"
 SECTION = "base/shell"
 LICENSE = "GPL"
 
-inherit autotools gettext
+inherit autotools gettext update-alternatives
 
 PARALLEL_MAKE = ""
 
@@ -33,3 +33,8 @@ pkg_postinst () {
        grep -q "bin/bash" $D${sysconfdir}/shells || echo /bin/bash >> 
$D${sysconfdir}/shells
        grep -q "bin/sh" $D${sysconfdir}/shells || echo /bin/sh >> 
$D${sysconfdir}/shells
 }
+
+ALTERNATIVE_NAME = "sh"
+ALTERNATIVE_LINK = "${base_bindir}/sh"
+ALTERNATIVE_PATH = "${base_bindir}/bash"
+ALTERNATIVE_PRIORITY = "90"
diff --git a/recipes/bash/bash_3.0.bb b/recipes/bash/bash_3.0.bb
index e23887a..8165d07 100644
--- a/recipes/bash/bash_3.0.bb
+++ b/recipes/bash/bash_3.0.bb
@@ -1,5 +1,5 @@
 require bash.inc
-PR = "r11"
+PR = "r12"
 
 SRC_URI += "\
   file://bash-3.0-fixes.patch;patch=1 \
diff --git a/recipes/bash/bash_3.2.bb b/recipes/bash/bash_3.2.bb
index 6a48a4b..e175467 100644
--- a/recipes/bash/bash_3.2.bb
+++ b/recipes/bash/bash_3.2.bb
@@ -1,6 +1,6 @@
 require bash.inc
 
-PR = "r7"
+PR = "r8"
 
 SRC_URI += "\
            file://builtins.patch;patch=1 \




^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] bash: add alternative configuration for bin/sh -> /bin/bash
  2009-03-27 20:50 [PATCH] bash: add alternative configuration for bin/sh -> /bin/bash Tim Harvey
@ 2009-03-27 21:02 ` Chris Larson
  2009-03-27 22:51   ` Koen Kooi
  2009-04-01 16:26   ` Tim Harvey
  0 siblings, 2 replies; 7+ messages in thread
From: Chris Larson @ 2009-03-27 21:02 UTC (permalink / raw)
  To: openembedded-devel

Be very careful with this.  Specifically, be sure to thoroughly test
installing bash onto a system that currently has busybox, and the
upgrade paths for both busybox and bash.  You never want to get into a
state, due to pre/post rm/install script execution order, where
/bin/sh doesn't exist.  If that happens, you won't be able to execute
the next script to fix it :)

On Fri, Mar 27, 2009 at 1:50 PM, Tim Harvey <tharvey@irobot.com> wrote:
> Add alternative configuration for /bin/sh -> /bin/bash so that for example
> bash can exist (and override) as shell if busybox is also installed
>
> diff --git a/recipes/bash/bash.inc b/recipes/bash/bash.inc
> index 4eba689..7c6122b 100644
> --- a/recipes/bash/bash.inc
> +++ b/recipes/bash/bash.inc
> @@ -4,7 +4,7 @@ DEPENDS = "ncurses"
> SECTION = "base/shell"
> LICENSE = "GPL"
>
> -inherit autotools gettext
> +inherit autotools gettext update-alternatives
>
> PARALLEL_MAKE = ""
>
> @@ -33,3 +33,8 @@ pkg_postinst () {
>       grep -q "bin/bash" $D${sysconfdir}/shells || echo /bin/bash >>
> $D${sysconfdir}/shells
>       grep -q "bin/sh" $D${sysconfdir}/shells || echo /bin/sh >>
> $D${sysconfdir}/shells
> }
> +
> +ALTERNATIVE_NAME = "sh"
> +ALTERNATIVE_LINK = "${base_bindir}/sh"
> +ALTERNATIVE_PATH = "${base_bindir}/bash"
> +ALTERNATIVE_PRIORITY = "90"
> diff --git a/recipes/bash/bash_3.0.bb b/recipes/bash/bash_3.0.bb
> index e23887a..8165d07 100644
> --- a/recipes/bash/bash_3.0.bb
> +++ b/recipes/bash/bash_3.0.bb
> @@ -1,5 +1,5 @@
> require bash.inc
> -PR = "r11"
> +PR = "r12"
>
> SRC_URI += "\
>  file://bash-3.0-fixes.patch;patch=1 \
> diff --git a/recipes/bash/bash_3.2.bb b/recipes/bash/bash_3.2.bb
> index 6a48a4b..e175467 100644
> --- a/recipes/bash/bash_3.2.bb
> +++ b/recipes/bash/bash_3.2.bb
> @@ -1,6 +1,6 @@
> require bash.inc
>
> -PR = "r7"
> +PR = "r8"
>
> SRC_URI += "\
>           file://builtins.patch;patch=1 \
>
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>



-- 
Chris Larson
clarson at kergoth dot com
clarson at mvista dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Software Engineer
MontaVista Software, Inc.



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] bash: add alternative configuration for bin/sh -> /bin/bash
  2009-03-27 21:02 ` Chris Larson
@ 2009-03-27 22:51   ` Koen Kooi
  2009-04-01 16:26   ` Tim Harvey
  1 sibling, 0 replies; 7+ messages in thread
From: Koen Kooi @ 2009-03-27 22:51 UTC (permalink / raw)
  To: openembedded-devel

On 27-03-09 22:02, Chris Larson wrote:
> Be very careful with this.  Specifically, be sure to thoroughly test
> installing bash onto a system that currently has busybox, and the
> upgrade paths for both busybox and bash.  You never want to get into a
> state, due to pre/post rm/install script execution order, where
> /bin/sh doesn't exist.  If that happens, you won't be able to execute
> the next script to fix it :)

And we actually have busyboxisms in some scripts, you can't launch e-wm 
due to the OE wrapper script (which isn't needed anymore, btw) breaking 
with bash.

regards,

Koen


>
> On Fri, Mar 27, 2009 at 1:50 PM, Tim Harvey<tharvey@irobot.com>  wrote:
>> Add alternative configuration for /bin/sh ->  /bin/bash so that for example
>> bash can exist (and override) as shell if busybox is also installed
>>
>> diff --git a/recipes/bash/bash.inc b/recipes/bash/bash.inc
>> index 4eba689..7c6122b 100644
>> --- a/recipes/bash/bash.inc
>> +++ b/recipes/bash/bash.inc
>> @@ -4,7 +4,7 @@ DEPENDS = "ncurses"
>> SECTION = "base/shell"
>> LICENSE = "GPL"
>>
>> -inherit autotools gettext
>> +inherit autotools gettext update-alternatives
>>
>> PARALLEL_MAKE = ""
>>
>> @@ -33,3 +33,8 @@ pkg_postinst () {
>>        grep -q "bin/bash" $D${sysconfdir}/shells || echo /bin/bash>>
>> $D${sysconfdir}/shells
>>        grep -q "bin/sh" $D${sysconfdir}/shells || echo /bin/sh>>
>> $D${sysconfdir}/shells
>> }
>> +
>> +ALTERNATIVE_NAME = "sh"
>> +ALTERNATIVE_LINK = "${base_bindir}/sh"
>> +ALTERNATIVE_PATH = "${base_bindir}/bash"
>> +ALTERNATIVE_PRIORITY = "90"
>> diff --git a/recipes/bash/bash_3.0.bb b/recipes/bash/bash_3.0.bb
>> index e23887a..8165d07 100644
>> --- a/recipes/bash/bash_3.0.bb
>> +++ b/recipes/bash/bash_3.0.bb
>> @@ -1,5 +1,5 @@
>> require bash.inc
>> -PR = "r11"
>> +PR = "r12"
>>
>> SRC_URI += "\
>>   file://bash-3.0-fixes.patch;patch=1 \
>> diff --git a/recipes/bash/bash_3.2.bb b/recipes/bash/bash_3.2.bb
>> index 6a48a4b..e175467 100644
>> --- a/recipes/bash/bash_3.2.bb
>> +++ b/recipes/bash/bash_3.2.bb
>> @@ -1,6 +1,6 @@
>> require bash.inc
>>
>> -PR = "r7"
>> +PR = "r8"
>>
>> SRC_URI += "\
>>            file://builtins.patch;patch=1 \
>>
>>
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>>
>
>
>





^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] bash: add alternative configuration for bin/sh -> /bin/bash
  2009-03-27 21:02 ` Chris Larson
  2009-03-27 22:51   ` Koen Kooi
@ 2009-04-01 16:26   ` Tim Harvey
  2009-04-01 16:52     ` Chris Larson
  1 sibling, 1 reply; 7+ messages in thread
From: Tim Harvey @ 2009-04-01 16:26 UTC (permalink / raw)
  To: openembedded-devel

Chris Larson wrote:
> Be very careful with this.  Specifically, be sure to thoroughly test
> installing bash onto a system that currently has busybox, and the
> upgrade paths for both busybox and bash.  You never want to get into a
> state, due to pre/post rm/install script execution order, where
> /bin/sh doesn't exist.  If that happens, you won't be able to execute
> the next script to fix it :)
>   
in my case, I have both bash and busybox installed and I want bash to 
take priority as the /bin/sh which it otherwise does not.

attempting to remove the package that contains your shell is something 
you need to be careful as anyway.

This seems to me to be a prime example of where alternatives should be used?

Tim
> On Fri, Mar 27, 2009 at 1:50 PM, Tim Harvey <tharvey@irobot.com> wrote:
>   
>> Add alternative configuration for /bin/sh -> /bin/bash so that for example
>> bash can exist (and override) as shell if busybox is also installed
>>
>> diff --git a/recipes/bash/bash.inc b/recipes/bash/bash.inc
>> index 4eba689..7c6122b 100644
>> --- a/recipes/bash/bash.inc
>> +++ b/recipes/bash/bash.inc
>> @@ -4,7 +4,7 @@ DEPENDS = "ncurses"
>> SECTION = "base/shell"
>> LICENSE = "GPL"
>>
>> -inherit autotools gettext
>> +inherit autotools gettext update-alternatives
>>
>> PARALLEL_MAKE = ""
>>
>> @@ -33,3 +33,8 @@ pkg_postinst () {
>>       grep -q "bin/bash" $D${sysconfdir}/shells || echo /bin/bash >>
>> $D${sysconfdir}/shells
>>       grep -q "bin/sh" $D${sysconfdir}/shells || echo /bin/sh >>
>> $D${sysconfdir}/shells
>> }
>> +
>> +ALTERNATIVE_NAME = "sh"
>> +ALTERNATIVE_LINK = "${base_bindir}/sh"
>> +ALTERNATIVE_PATH = "${base_bindir}/bash"
>> +ALTERNATIVE_PRIORITY = "90"
>> diff --git a/recipes/bash/bash_3.0.bb b/recipes/bash/bash_3.0.bb
>> index e23887a..8165d07 100644
>> --- a/recipes/bash/bash_3.0.bb
>> +++ b/recipes/bash/bash_3.0.bb
>> @@ -1,5 +1,5 @@
>> require bash.inc
>> -PR = "r11"
>> +PR = "r12"
>>
>> SRC_URI += "\
>>  file://bash-3.0-fixes.patch;patch=1 \
>> diff --git a/recipes/bash/bash_3.2.bb b/recipes/bash/bash_3.2.bb
>> index 6a48a4b..e175467 100644
>> --- a/recipes/bash/bash_3.2.bb
>> +++ b/recipes/bash/bash_3.2.bb
>> @@ -1,6 +1,6 @@
>> require bash.inc
>>
>> -PR = "r7"
>> +PR = "r8"
>>
>> SRC_URI += "\
>>           file://builtins.patch;patch=1 \
>>
>>
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>>
>>     
>
>
>
>   




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] bash: add alternative configuration for bin/sh -> /bin/bash
  2009-04-01 16:26   ` Tim Harvey
@ 2009-04-01 16:52     ` Chris Larson
  2009-04-01 17:01       ` Koen Kooi
  0 siblings, 1 reply; 7+ messages in thread
From: Chris Larson @ 2009-04-01 16:52 UTC (permalink / raw)
  To: openembedded-devel

On Wed, Apr 1, 2009 at 9:26 AM, Tim Harvey <tharvey@irobot.com> wrote:
> Chris Larson wrote:
>>
>> Be very careful with this.  Specifically, be sure to thoroughly test
>> installing bash onto a system that currently has busybox, and the
>> upgrade paths for both busybox and bash.  You never want to get into a
>> state, due to pre/post rm/install script execution order, where
>> /bin/sh doesn't exist.  If that happens, you won't be able to execute
>> the next script to fix it :)
>>
>
> in my case, I have both bash and busybox installed and I want bash to take
> priority as the /bin/sh which it otherwise does not.
>
> attempting to remove the package that contains your shell is something you
> need to be careful as anyway.
>
> This seems to me to be a prime example of where alternatives should be used?

You missed my point, it seems.  I was talking about
update-alternatives.  Depending on how update-alternatives is
implemented, there could be issues similar to what I mentioned in the
previous email.  Consider: if it uses system(), which calls /bin/sh,
to remove the old /bin/sh link, and then calls system() again to
create the new, it will fail.  Speculation, but again, it's something
you always need to keep in mind if you're messing with /bin/sh in any
way.
-- 
Chris Larson
clarson at kergoth dot com
clarson at mvista dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Software Engineer
MontaVista Software, Inc.



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] bash: add alternative configuration for bin/sh -> /bin/bash
  2009-04-01 16:52     ` Chris Larson
@ 2009-04-01 17:01       ` Koen Kooi
  2009-04-01 17:12         ` Chris Larson
  0 siblings, 1 reply; 7+ messages in thread
From: Koen Kooi @ 2009-04-01 17:01 UTC (permalink / raw)
  To: openembedded-devel

On 01-04-09 18:52, Chris Larson wrote:
> On Wed, Apr 1, 2009 at 9:26 AM, Tim Harvey<tharvey@irobot.com>  wrote:
>> Chris Larson wrote:
>>>
>>> Be very careful with this.  Specifically, be sure to thoroughly test
>>> installing bash onto a system that currently has busybox, and the
>>> upgrade paths for both busybox and bash.  You never want to get into a
>>> state, due to pre/post rm/install script execution order, where
>>> /bin/sh doesn't exist.  If that happens, you won't be able to execute
>>> the next script to fix it :)
>>>
>>
>> in my case, I have both bash and busybox installed and I want bash to take
>> priority as the /bin/sh which it otherwise does not.
>>
>> attempting to remove the package that contains your shell is something you
>> need to be careful as anyway.
>>
>> This seems to me to be a prime example of where alternatives should be used?
>
> You missed my point, it seems.  I was talking about
> update-alternatives.  Depending on how update-alternatives is
> implemented, there could be issues similar to what I mentioned in the
> previous email.  Consider: if it uses system(), which calls /bin/sh,
> to remove the old /bin/sh link, and then calls system() again to
> create the new, it will fail.  Speculation, but again, it's something
> you always need to keep in mind if you're messing with /bin/sh in any
> way.

IIRC our default u-a is a shell script, the other version is a perl script.
Correct me if I'm wrong, it has been some years since I looked at it :)


regards,

Koen






^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] bash: add alternative configuration for bin/sh -> /bin/bash
  2009-04-01 17:01       ` Koen Kooi
@ 2009-04-01 17:12         ` Chris Larson
  0 siblings, 0 replies; 7+ messages in thread
From: Chris Larson @ 2009-04-01 17:12 UTC (permalink / raw)
  To: openembedded-devel; +Cc: openembedded-devel

On Wed, Apr 1, 2009 at 10:01 AM, Koen Kooi <k.kooi@student.utwente.nl> wrote:
> On 01-04-09 18:52, Chris Larson wrote:
>>
>> On Wed, Apr 1, 2009 at 9:26 AM, Tim Harvey<tharvey@irobot.com>  wrote:
>>>
>>> Chris Larson wrote:
>>>>
>>>> Be very careful with this.  Specifically, be sure to thoroughly test
>>>> installing bash onto a system that currently has busybox, and the
>>>> upgrade paths for both busybox and bash.  You never want to get into a
>>>> state, due to pre/post rm/install script execution order, where
>>>> /bin/sh doesn't exist.  If that happens, you won't be able to execute
>>>> the next script to fix it :)
>>>>
>>>
>>> in my case, I have both bash and busybox installed and I want bash to
>>> take
>>> priority as the /bin/sh which it otherwise does not.
>>>
>>> attempting to remove the package that contains your shell is something
>>> you
>>> need to be careful as anyway.
>>>
>>> This seems to me to be a prime example of where alternatives should be
>>> used?
>>
>> You missed my point, it seems.  I was talking about
>> update-alternatives.  Depending on how update-alternatives is
>> implemented, there could be issues similar to what I mentioned in the
>> previous email.  Consider: if it uses system(), which calls /bin/sh,
>> to remove the old /bin/sh link, and then calls system() again to
>> create the new, it will fail.  Speculation, but again, it's something
>> you always need to keep in mind if you're messing with /bin/sh in any
>> way.
>
> IIRC our default u-a is a shell script, the other version is a perl script.
> Correct me if I'm wrong, it has been some years since I looked at it :)

That reminds me, one of my coworkers pointed me to a C implementation.
 If you grab the chkconfig srpm from centos 5.2, or another redhat
based distribution, you'll find an alternatives.c written by redhat,
whose syntax is the same as debian update-alternatives.  Might be
worth looking at.
-- 
Chris Larson
clarson at kergoth dot com
clarson at mvista dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Software Engineer
MontaVista Software, Inc.



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2009-04-01 17:15 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-27 20:50 [PATCH] bash: add alternative configuration for bin/sh -> /bin/bash Tim Harvey
2009-03-27 21:02 ` Chris Larson
2009-03-27 22:51   ` Koen Kooi
2009-04-01 16:26   ` Tim Harvey
2009-04-01 16:52     ` Chris Larson
2009-04-01 17:01       ` Koen Kooi
2009-04-01 17:12         ` Chris Larson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.