On Mon, Mar 23, at 05:45 Archaic wrote:
> On Mon, Mar 23, 2009 at 10:02:07PM +0200, Agathoklis D. Hatzimanikas wrote:
> > 
> > Yes, this came up a few times and there is no reason to repeat
> > ourselves. I think the consensus was that following established standards
> > is the way to go, so there isn't any real argument left for using Bash
> > for login scripts.
> > 
> > However if this is not going to happen, which is quite possible, I would
> > prefer to use #!/bin/bash rather than #!/bin/sh in our scripts.
> > Keep /bin/sh for only POSIX compliant scripts.
> 
> The boot scripts are (as of the last time I looked) POSIX compliant. So
> there is no reason to change the shebang. It was intentional that
> /bin/sh was used so they would work for more than just bash. There's no
> sense in using /bin/bash if there are no bash extensions in the script.
> This *may* allow a person to remove bash from LFS, but not likely as
> some packages require it at build time or run time or both.
 
Oh yes, I agree to remove all bash specific extensions from the
bootscripts (if any). To be honest I am not looking on them anymore.
I did this stuff once, I rewrote some to fit my systems and I forgot
them since then.

All I know is that while Dan had made some work with promised results,
his work was never merged. Why? I don't know.

> There is a similar argument with mawk vs. gawk. The main difference is
> that Linux is not defined by which awk you have. GNU tools may be,
> though.

Gnu of course, yes.

> providing bash (regardless if it is used as a person's shell) and
> assumptions are made because of that, right or wrong. Solaris, HP-UX,
> AIX, *BSD each have a shell that is expected to be available and
> assumptions are made because of that, too. Sometimes this is a POSIX
> compatible shell, sometimes not.

Well, I care about their /bin/sh to be POSIX compatible. That's why we
have POSIX!
They don't care about POSIX standards? ... so nobody has to care
about their systems. Its a free world but it is *ONE* world.

> The interaction between closed UNIXs and open ones is still a fairly new
> thing (relatively speaking) and a lot of *workarounds* for system shells
> is still very much in use in portable scripts. It is the portability
> that drives progress, though. As an aside, Bash is making its way
> everywhere because, frankly, Linux has captured the attention of
> powerful people making it the "cool" flavor of UNIX. It is not outside
> the scope of reality that the next POSIX spec could include many of
> bash's extensions (and of those, many came from other shells), if bash
> gains a very high level of widespread use among the existing flavors of
> UNIX, but this is also politically motivated.

If POSIX adopts Bash specific extensions, I will do the same and we have
to adopt them too. If we want to change standards towards a directions then
we have go to their lists and trying to convince them. They are
pretty conservative people, if you leave out Urlich Drepper.

> As I understand it, dash is not a bash replacement, but rather an sh
> replacement.

Its not a replacement. It is written with the scope to follow POSIX
specifications. It doesn't offer nothing more, nothing less. The LINENO
variable is debatable however.
You can also use line editing capabilities, if you link it against
editline. Have a look at the Blfs page about Dash. Again it comfort
with the POSIX specifications see,

http://www.opengroup.org/onlinepubs/009695399/utilities/sh.html#tag_04_128_13_03

> For those of you who have a distro that attempts (either by
> asking or not) to install dash as sh, what is the default interactive
> shell?

This is option to the user. /bin/sh -> Dash, doesn't imply dash as being
the interactive or a login shell. From what I know all the major
distributions they are using Bash as login shell and even as an interactive
shell.
Ubuntu is using /bin/sh symlinked to Dash and Debian is going to follow
(when they will fix their bugs). Gentoo is on the way too (that's what I
heard about them, but I could be wrong).

> *If* dash is not meant to be used as the default interactive
> shell, what would LFS gain towards its goal of being a small, but not
> bare-bones, development platform on which to extend as you see fit? Dash
> would not be anything close to necessary, but I'm betting bash would.
> That is, I'm betting a bash-less LFS would require more patches/seds.
> Bash is as much expected to be on a Linux system as glibc. This doesn't
> mean it can't be removed, just that a lot more effort is required than
> simply installing a replacement. But or those who do want dash, the
> POSIXization of the bootscripts allows dash to be added hopefully
> without any pain.

I don't say we should remove Bash. But many applications they are using
/bin/sh when in fact they should use /bin/bash, because they are using
Bash extensions in their scripts. This slowly changes however.
Last time I've built a chapter05 completely by running Dash. I didn't
receive any error. So we can drop the requirement. Capter06 assumes Bash
anyway as LFS builds Bash in chapter05.

> > Oh well, almost all. I'd rather get rid of Bash (thank god I am not a 
> > religious).
> 
> But yet you say something that could start a religious war? :D

I thought you will like the joke. Happy to see you coming again in the
LFS development. I send my regards through Alexander once to you. :)

> Perl is nice, and by now is probably more portable than bash or sh. If
> it could be sh, I'd go for it (but I'd still have bash available).
> However, too many language choices isn't necessarily a good thing.

Well, pluralism and versatility my friend is always a good thing.
But we have to follow standards.

> Archaic

Regards,
Agathoklis
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to