Differences between revisions 4 and 5
Revision 4 as of 2015-05-31 22:28:38
Size: 1881
Editor: GuillemJover
Comment: Add reference to one subsequent thread
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 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.

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.