On Sun, 2010-12-26 at 18:29 +0100, Julien Cristau wrote: > the release notes for squeeze will need to mention that any local > diversions of /bin/sh need to be removed prior to the upgrade. Any more > tweaking of this code path to support other shells as /bin/sh, if at all > necessary, will wait for post-squeeze.
I put together a proposed patch (attached) for the Release Notes, listing this as a potential problem in the "Issues to be aware of" section; comments welcome. Regards, Adam
commit f5f495cd9ac7f5ca1329321632e18ea3661babcc Author: Adam D. Barratt <a...@adam-barratt.org.uk> Date: Mon Dec 27 21:17:15 2010 +0000 Add discussion of previous diversions of /bin/sh breaking dash upgrades See Debian bugs #538822 and #540512 diff --git a/en/issues.dbk b/en/issues.dbk index 9498399..83f1408 100644 --- a/en/issues.dbk +++ b/en/issues.dbk @@ -244,6 +244,34 @@ works for <literal>root</literal>. </para> </section> +<section id="shell-diversions"> + <title>Potential issues with diversions of /bin/sh</title> + <para> + If you have previously added a local diversion for <literal>/bin/sh</literal>, + or modified the <literal>/bin/sh</literal> symlink to point to somewhere + other than <literal>/bin/bash</literal>, then you may encounter problems + when upgrading the <systemitem role="package">dash</systemitem> or + <systemitem role="package">bash</systemitem> packages. + Note that this includes changes made by allowing other packages (for example + <systemitem role="package">mksh</systemitem>) to become the default system + shell by taking over <literal>/bin/sh</literal>. + </para> + <para> + If you encounter any such issues, please remove the local diversion and + ensure that the symlinks for both <literal>/bin/sh</literal> and its + manual page point to the files provided by the <systemitem role="package"> + bash</systemitem> package and then + <command>dpkg-reconfigure --force dash</command>. + </para> + <programlisting> + dpkg-divert --remove /bin/sh + dpkg-divert --remove /usr/share/man/man1/sh.1.gz + + ln -sf bash /bin/sh + ln -sf bash.1.gz /usr/share/man/man1/sh.1.gz + </programlisting> +</section> + </section> <section id="upgrade-to-2.6" condition="fixme">