[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Proposed new POSIX sh policy



Manoj Srivastava <srivasta@debian.org> writes:
>  policy, really -- policy could just take the approach /bin/sh ==
>  bash [...]
> 
>  Why don't we do that? Because people wanted to have a
>  different shell that can serve as /bin/sh.  What purpose does it
>  serve to allow that? We can't, in all honesty, say that any disk
>  space is conserved, since bash is essential, it is too deeply rooted
>  in all places in our system to be casually ripped out.
> 
>  So why not just specify all maintainer scripts just use
>   /bin/bash? [...]
>
>  One thing I see happening is that replacing bash as /bin/sh
>  might make script startup ties a bit faster, at the expense of  soe
>  of the built in facilities and extensions present in bash.

FREEDOM TO CHOOSE

First, people should have freedom to choose and writing a requirement
to use a specific tool for the job is not in the spirit of Debian.

The standard shell is not the problem, the problem is the developers
that are not aware of the standard shell constructs. They may have
programmed C, zsh, csh previously and just "went on sh", because the
policy required the standard scrupts to be written 

   a) sh-compliant shell
   b) or Perl

Since Perl is not really needed for simple tasks, they choose shell
scripts.

IMPROVE QA - THE LINTIAN PROGRAM

All discussion about "policy has problems" is really due to lack of
quality assurance work that prevents non-sh-compliant scripts to enter
into the packaging in the first place. If people are sloppy or don't
know how to comply with standard sh scripts, this is great oppurtunity
to make lintian to warn them. Simple typical constructs would not be
hard to add - substle differences are another matter.

WHY ALLOW OTHER SHELLS

Old PCs. Really, the reality is not that everybody owns 3Ghz P4
or MAD FX2 with 4G memory. There are lot of countries that
stil use 14k modem lines and old PCs. The education sector
has to live with PCs that may be very old, like 64M memory
and 166 - 800Mhz processor speed.

It's not about disk space, it's execution speed.

- every bash call takes 3 times the memory compared to mksh
- 80% of the bash features are taken cared of dash, posh, mksh
  or other shells

IF all scripts just were written better, they would be
automatically ocmpatible with any standard sh-alike shell that 
is included in Debian. 

Policy really should stay sh-agnistic and netral; and not mandate 
what shell is required. People have reasons to use other tools.
And that choice is not difficult to serve.

Jari








Reply to: