Re: POSIX shell; bash ash pdksh & /bin/sh
> Santiago> The obvious way to break this circle is to make bash
> Santiago> non-essential. If none of the awk's we provide is
> Santiago> essential, why has bash to be essential?
> No, we have to do is ask a few questions first:
> a) Is it required we break out of this circle? (I suspect there is a
> group that shall aver, quite vocally, that this is indeed the
> case). What are the benefits of not using bash (some of these have
> aready been pointed out to the list)
I am distinctly missing something here...
There is a policy that Debian-provided scripts that use /bin/sh not
contain bash-isms. I agree with this policy.
It has been pointed out that using a smaller, POSIX-compliant shell for
/bin/sh instead of bash has some benefits, especially when it comes to
system performance on cron- and boot- scripts. It makes sense to
provide an alternative, small, /bin/sh for people who want it.
However, is there a policy that Debian-provided scripts in general not
contain bash-isms, or only that if they do, the explicitly invoke
/bin/bash? I don't know of a policy that states that scripts must be
POSIX generally. If that were the case, then why is perl-base an
Right now, we have one POSIX-compliant shell that is essential -- bash.
We have many scripts on the system, including package maintainer
scripts, that use bash. Bash is one of the most, if not the most,
common login shell on Linux systems. It is listed in the policy manual
as the appropriate default to use for scripts if you don't know if they
are POSIX-compliant. And it is given as -the- example of an essential
So why should bash be made non-essential?
One problem I see is a poor definition of essential packages. The
distinction between required and essential packages isn't clear from
the policy manual. "Required" packages are defined as "necessary for
the proper functioning of the system." Removing a required package may
break the system. "Essential" packages are defined as "packages that
are *essential* for a system". By these definitions, how do required
and essential packages differ? Essential packages also have the
additional semantics of: you don't have to declare dependencies on
them, they are difficult to remove using dpkg, new essential packages
must be approved by debian-devel, and shared libraries must not be
flagged essential. If there is to be a difference between required and
essential, it should be made clearer.
Buddha Buck email@example.com
"Just as the strength of the Internet is chaos, so the strength of our
liberty depends upon the chaos and cacaphony of the unfettered speech
the First Amendment protects." -- A.L.A. v. U.S. Dept. of Justice
To UNSUBSCRIBE, email to firstname.lastname@example.org
with a subject of "unsubscribe". Trouble? Contact email@example.com