Hi,

I can confirm that the problem also occures on my machine.  I did not
manually fiddled around with any dpkg-diverts but just dpkg-reconfigured
dash to be default system shell.  I did this quite recently.

Interestingly enough I was perfectly able to install dash on a machine
where it was NOT configured to be used as default shell.  So I went back
to the machine which showed the problem and tried to take back the
dpkg-reconfigure step I went last week.  But this did not changed the
situation.

So I tried "dpkg --force-depends --purge dash" and ended up with no
/bin/sh at all fiddled around manually around this by (re)installing
bash which has vanished somehow as well ... so I would not recommend
this step to unexperienced users (dpkg will break because it becomes
unable to call any scripts).  After getting a working system again I
reinstalled dash.  The result remained the same ... somehow frustrating
and not really helpful to track down the problem I guess...

I tried to fiddle around manually with all this symlinks using mc
to copy files from dash_0.5.5.1-2.3_i386.deb but nothing helped. I
can confirm that there is actually a symlink /bin/sh pointing to
dash which means that dpkg is right in claiming that dash tries to
override a file from package bash.

I finally patched the source to build a local dash package

--- debian/rules.orig   2009-08-07 09:01:01.000000000 +0200
+++ debian/rules        2009-08-07 08:57:04.000000000 +0200
@@ -71,11 +71,11 @@
        install -d -m0755 '$(DIR)'/bin
        install -m0755 build-tmp/src/dash '$(DIR)'/bin/dash
        $(STRIP) -R .comment -R .note '$(DIR)'/bin/dash
-       ln -s dash '$(DIR)'/bin/sh
+       # ln -s dash '$(DIR)'/bin/sh
        install -d -m0755 '$(DIR)'/usr/share/man/man1/
        install -m0644 src/dash.1 '$(DIR)'/usr/share/man/man1/dash.1
        gzip -9 '$(DIR)'/usr/share/man/man1/dash.1
-       ln -s dash.1.gz '$(DIR)'/usr/share/man/man1/sh.1.gz
+       # ln -s dash.1.gz '$(DIR)'/usr/share/man/man1/sh.1.gz
        install -d -m0755 '$(DIR)'/usr/share/menu
        install -m0644 debian/dash.menu '$(DIR)'/usr/share/menu/dash
        # changelog

which brought me back a working system and thus I was able to solve
the breakage of dpkg.  This is probably no final solution to move to
dash as default shell.

BTW, I *really* wonder how a package broken like this can make it to
testing.  It's not only this breakage it is also the lintian report:

W: dash source: out-of-date-standards-version 3.8.0.1 (current is 3.8.2)
E: dash: postinst-does-not-call-updatemenus usr/share/menu/dash
E: dash: package-uses-local-diversion postinst:11
E: dash: package-uses-local-diversion postinst:23
E: dash: package-uses-local-diversion postinst:45
E: dash: package-uses-local-diversion prerm:15
E: dash: orphaned-diversion * preinst
W: dash: missing-debconf-dependency
E: dash: new-essential-package

Shouldn't we care more for essential packages?

Kind regards

       Andreas.

--
http://fam-tille.de
Klarmachen zum Ă„ndern!

Reply via email to