Re: Bug#538822: dash and local diversions
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 <adam@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">
Reply to: