Re: Bug#545103: bash 4.0-4 is not installable
Luk Claes wrote:
Gary Dale wrote:
Justification: renders package unusable
There is an interdependency between bash and dash that prevents bash
from being upgraded. Here is the output when I try:
Preparing to replace bash 3.2-6 (using
The bash upgrade discovered that your /bin/sh link points to dash.
As bash for Debian is destined to provide a working /bin/sh (pointing to
/bin/bash) your link will be overwritten by a default link.
This means that you manually changed the link somehow...
No I didn't. I do recall a relatively recent dist-upgrade mentioning
something about dash, but bash seems to depend on dash so I'm guessing
that it was a normal update. Changing the link to point to bash doesn't
resolve the problem.
The message talks about keeping my "customization", not about resolving
the dependency problem. Again, I have no interest in overriding Debian's
choices in this matter.
If you don't want further upgrades to overwrite your customization,
read /usr/share/doc/bash/README.Debian.gz for a more permanent solution.
You could read the documentation to prevent it from failing.
Since bash depends on dash, it seems to me that a better way would be to
have bash override the link to dash. In other words, it should do what
the message says "As bash for Debian is destined to provide a working
/bin/sh (pointing to /bin/bash) your link will be overwritten by a
[Press RETURN to continue]
Unpacking replacement bash ...
dpkg: error processing /var/cache/apt/archives/bash_4.0-4_amd64.deb
trying to overwrite `/bin/sh', which is also in package dash
Matthias: I think to prevent bug reports like this that bash should stop
shipping the /bin/sh link. dpkg maintainers Cc-ed to confirm that the
current way we divert should still work when the link would not be
shipped by bash anymore and would solve issues like this.
However, I'm guessing that the reason dash is installed is because it is
so much smaller than bash but that other packages need capabilities that
bash provides. If that is the case and you really want to reduce the
memory footprint by only loading bash when required, perhaps dash should
take over the duty of invoking bash when it needs to (if it doesn't
already). In that case your suggestion of removing the link from the
bash package makes a lot of sense.
This would seem to make bash a requirement for dash and not the other