This proposal is about moving DebianPkg:bash out of the Essential:yes set. The initial discussion can be found at https://lists.debian.org/debian-devel/2011/04/msg00185.html. A subsequent discussion can be found at https://lists.debian.org/debian-devel/2014/09/msg00875.html. {{{#!wiki important '''TODO''': Fill in the reasons, advantages and disadvantages here. }}} The following is a list of things (possibly non-exhaustive) that would need to be done before considering removing the Essential:yes field. * Check how many packages contain scripts and binaries using bash. * Lars posted some [[https://lists.debian.org/debian-devel/2011/04/msg00264.html|scripts]] and [[https://lists.debian.org/debian-devel/2011/04/msg00379.html|numbers]] but only for scripts using bash in their shebang. * Many packages [[https://binarycontrol.debian.net/?q=bash|reference bash]] in their binary package metadata and maintainer scripts * Turn the above into a lintian check. There is a request for this now at DebianBug:787009. * Either: * Switch bash scripts that do not use any bashism to POSIX shell scripts. * Rewrite bash script to POSIX shell scripts. There was a subsequent discussion where it was pointed that some of the bash features are hard to replicate using POSIX shell, so people might oppose to a conversion, see https://lists.debian.org/debian-devel/2014/09/msg00890.html. * Switch implicit dependencies on bash to explicit ones. * Handle the login issue. DebianBug:620898 * Change all shell packages to abort on removal when they are any users' shell. * This will not work if restricted only to root. Many systems do not have a root login, and are administered using a normal user account and “sudo”. --mirabilos, guillem * Make sure login will fallback to /bin/sh if the user shell is not available. There's a patch in the bug report which should cover most of the issue. * Handle the loss of essentialness for root's shell when unpacking. Guarantee any shell package is always functional.