http://bugzilla.opensuse.org/show_bug.cgi?id=1029961
http://bugzilla.opensuse.org/show_bug.cgi?id=1029961#c14
Stanislav Brabec changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |sbrabec@suse.com
--- Comment #14 from Stanislav Brabec ---
There is a big problem with RPM that does not understand replacement of
directory by symlink. Even worse, it will do crazy things with files being
moved from /bin to /usr/bin.
Bad example:
Move all files from /bin to /usr/bin, then remove empty /bin dir and create
symlink from /usr/bin to /bin.
Then update bash that moves /bin/bash to /usr/bin/bash.
What wrong happens during update?
Variant A: package with compatibility symlink
- RPM places new /usr/bin/bash
- RPM places compatibility symlink /bin/bash
Compatibility symlink replaces /usr/bin/bash and becomes infinitely looping
symlink.
=> Depending on order of placing files by RPM, there is a 50% chance that
things will go totally wrong.
2) RPM goes to remove obsolete files. /bin/bash is no more part of the package,
delete it. In fact, /usr/bin/bash was deleted.
Variant B: package without compatibility symlink
1) RPM places new /usr/bin/bash
2) RPM goes to remove obsolete files. /bin/bash is no more part of the package,
delete it. In fact, /usr/bin/bash was deleted.
=> Totally wrong.
As Michael wrote, there are only two chances to upgrade such system:
1) lua pretrans magic
2) direct rpm database manipulation
--
You are receiving this mail because:
You are on the CC list for the bug.