Hello,
Marking bash as Essential is justificated by policy11.4, which reads:
The standard shell interpreter /bin/sh can be a symbolic link to any
POSIX
compatible shell, if echo -n does not generate a newline.[40] Thus,
shell
scripts specifying /bin/sh as interpreter should only use POSIX
features.
If a script requires non-POSIX features from the shell interpreter, the
appropriate shell must be specified in the first line of the script
(e.g.,
#!/bin/bash) and the package must depend on the package providing the
shell (unless the shell package is marked `Essential', as in the case of
bash).
You may wish to restrict your script to POSIX features when possible so
that it may use /bin/sh as its interpreter. If your script works with
ash,
it's probably POSIX compliant, but if you are in doubt, use /bin/bash.
Since bash has been Essential for ages, every package with BASHisms in its
{post|pre}{inst|rm} scripts would use /bin/bash as interpreter. This
includes some
of my packages; i don't think it's viable to unmark the Essential tag.
Also Bash must be part of the base_system tarballs, since we can't manage
alternatives
here... well having different tarballs each with a different shell is IMHO
out of question
Regards,