Differences between revisions 1 and 5 (spanning 4 versions)
Revision 1 as of 2014-09-27 18:16:42
Size: 1355
Editor: GuillemJover
Comment: Initial summary of the remove bash from essential proposal
Revision 5 as of 2015-05-31 22:31:20
Size: 1934
Editor: GuillemJover
Comment: Add lintian bug report
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
This proposal is about moving DebianPkg:bash out of the Essential:yes set. The initial discussion can be found in https://lists.debian.org/debian-devel/2011/04/msg00185.html. 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.
Line 11: Line 11:
  * Turn the above into a lintian check.   * Turn the above into a lintian check. There is a request for this now at DebianBug:787009.
Line 15: Line 15:
    * Rewrite bash script 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.
Line 19: Line 19:
    * Change all shells to abort on removal when they are root's shell.     * 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

This proposal is about moving 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.

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 scripts and numbers but only for scripts using bash in their shebang.

  • Turn the above into a lintian check. There is a request for this now at 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. 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.