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

Re: POSIX shell; bash ash pdksh & /bin/sh



> Hi,
> 
>  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 
essential package?

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 
package.

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                      bmbuck@acsu.buffalo.edu
"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 debian-devel-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org


Reply to: