[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bash vs. sh
From: |
Jim Meyering |
Subject: |
Re: Bash vs. sh |
Date: |
Tue, 22 Apr 2008 11:42:31 +0200 |
"Joel E. Denny" <address@hidden> wrote:
> Coreutils maintainers,
>
> It appears that Bison's bootstrap script is occasionally sync'ed against
> Coreutils'. Paul Hilfinger, one of the Bison developers, recently made
> the discovery quoted below, which I figure might also be relevant to
> Coreutils.
>
> On Fri, 4 Apr 2008, Joel E. Denny wrote:
>
>> On Wed, 26 Mar 2008, Paul Hilfinger wrote:
>>
>> > The bootstrap file is headed
>> >
>> > #! /bin/sh
>> >
>> > However, it contains lines such as
>> >
>> > if ! "$SHA1SUM" -c --status "$cksum_file" < "$new_po" > /dev/null;
>> > then
>> >
>> > and
>> >
>> > if ! test -d "$dst_dir"; then
>> >
>> > In a standard Solaris 10 installation, /bin/sh does not recognize the
>> > '!' command. I had to fix this by changing the shell used by
>> > bootstrap to /bin/bash.
>>
>> Thanks for the report. I don't know whether Bison should switch to
>> /bin/bash or just weed out Bash-specific code.
>
> I just checked the Coreutils git repository, and it appears that similar
> constructs are still present in its latest bootstrap version. I don't
> know whether there are other Bash-specific constructs present.
>
> It appears that Coreutils, like Bison, requires repository users to
> install Autotools, Gettext, etc, so it's probably not too much to ask them
> to install Bash as well. However, it's not clear to me if we should
> assume Bash can then be found at /bin/bash. What do you think?
Hi Joel,
Thanks for forwarding that.
My first reflex was to "fix" bootstrap not to use that construct,
but there are too many occurrences, and that's a slippery slope.
Besides, it's easy to work around.
I'll probably change the instructions in README-hacking to mention
that you may have to run "bash ./bootstrap" rather than
$ ./bootstrap
if your system's /bin/sh is substandard.
Plus, maybe be a test to detect the broken shell and to warn you
that you need to invoke the script differently.
An alternative is to encumber bootstrap with shell-selection
code and make it re-exec itself using a sufficiently functional shell.
But that too may fail, so I don't see the point.
- Re: Bash vs. sh, Joel E. Denny, 2008/04/04
- Re: Bash vs. sh, Joel E. Denny, 2008/04/20
- Re: Bash vs. sh,
Jim Meyering <=
- Re: Bash vs. sh, Eric Blake, 2008/04/22
- Re: Bash vs. sh, Jim Meyering, 2008/04/22
- Message not available
- Re: Bash vs. sh, Jim Meyering, 2008/04/22
- Re: Bash vs. sh, Joel E. Denny, 2008/04/22
- Re: Bash vs. sh, Jim Meyering, 2008/04/22
- Re: Bash vs. sh, Joel E. Denny, 2008/04/22
- Re: Bash vs. sh, Jim Meyering, 2008/04/23
- Re: Bash vs. sh, Joel E. Denny, 2008/04/23
- Re: Bash vs. sh, Jim Meyering, 2008/04/23
- Re: Bash vs. sh, Eric Blake, 2008/04/24