Re: POSIX shell; bash ash pdksh & /bin/sh
On Tue, Aug 04, 1998 at 12:03:01AM -0500, Manoj Srivastava wrote:
> I think you are confused about what is being discussed
> here. It is not whether we can replace /bin/sh with a non bash
> shell. I think we shoul try and test alternates.
> The issue under doscussion is whether bash should be
> essential, and whether one has reasonable expectation of finding
> /bin/bash on a Debian sstem/
I'll try to seperate both issues in this reply. It seems that there is
consent that #!/bin/sh should be replaceable with any posix compliant shell.
So the point that is still under discussion is if there is still a reason
to have bash essential.
> Marcus> Why can't we easily do away with it?
> Because I have gotten used to the fact that if I say
> #!/bin/bash; I shall find something. Not only I, but packages, and
> doubtless other users have too. Do we really want to go rooting
> thorough packages and forcing packages that use /bin/bash to declare
> explicit dependencies? Is this effort justified?
I think if you request bash as your shell, you should only do it when you
use bash features that are non-posix. And then, yes, I think you should be
aware of it and only do it when it is really necessary. One shouldn't just
put #!/bin/bash at the top of a script without thinking. And I think that so
few packages really need a dependency on bash, that they should declare a
dependency on bash and that action is taken to make bash non-essential in
the long run, and make a dependency on a virtual posix-shell in the
dependency field of an essential package. bash should be the default posix
shell shipped in Debian.
I would not go through scripts and tell maintainers to declare explicit
dependency on bash. I would ask them to seek posix compliance and use
/bin/sh. Do the example scripts I posted in my mail really need bash?
Do you need bash to run ldconfig in a postinst (and solely this)? Why can
bash run ldconfig better than any other shell?
> Marcus> 1) Make all shell scripts either posix clean or call
> Marcus> "#!/bin/bash"
> I think you are confused. If I call /bin/bash, and no such
> thing exists, is it a bug?
I think I'm not confused but very aware of your opinion that bash should be
installed in every Debian system.
I beg you to follow me just a second and imagine we would make bash
non-essential. You can't go half the way or even go from the end to the
A virtual package name "posix-shell". bash and other posix conform shells
providing it. Another essential package depending on it. All packages use
#!/bin/sh whereever possible (posix conform scripts). The few remaining
packages that have scripts which absolutely require extended features of a
special shell depend on the package that provides the shell. Then bash
doesn't need to be essential (this is sort-of a logical consequence).
This is the situation me and Santiago are describing.
Please tell me what is technically wrong with this approach. Until now you
only have mentioned an obscure fear that hell break loose and a personal
wish that you can use #!/bin/bash mindless in your packages.
This is not convincing to me, sorry.
"Rhubarb is no Egyptian god." Debian GNU/Linux finger brinkmd@
Marcus Brinkmann http://www.debian.org master.debian.org
Marcus.Brinkmann@ruhr-uni-bochum.de for public PGP Key
http://homepage.ruhr-uni-bochum.de/Marcus.Brinkmann/ PGP Key ID 36E7CD09
To UNSUBSCRIBE, email to email@example.com
with a subject of "unsubscribe". Trouble? Contact firstname.lastname@example.org