Downgrade command ?

Andreas Hanke andreas.hanke at gmx-topmail.de
Sun Nov 26 11:35:33 PST 2006


Pascal Bleser schrieb:
> (doesn't happen from my
> experience with Apache or KDE, but does happen with Xorg and GNOME, at
> least atm)

Yes, it does happen with Xorg and the particular problem about Xorg is
that downgrading doesn't help because it's impossible to downgrade from
Xorg 7.2 to Xorg 6.9.

In Xorg 6.9, /usr/lib/X11 was a symlink to /usr/X11R6/lib/X11. In Xorg
7.2, it is a real directory.

This is already a problem during an upgrade, solved like this: The
filesystem package, which is always one of the first installed packages,
has a lua %pre script that does

os.remove ("/usr/lib/X11")

So the symlink gets removed, and the new Xorg 7.2 package can be
installed. (It must be lua because at the moment the filesystem package
is installed, there is no /bin/sh available.)

But what happens in the downgrade case? Everything would have to be
reverted, but this is impossible for two reasons:

(1) The old Xorg 6.9 package would have to know in advance which
symlinks the new X.org 7.2 package has converted into real directories.
But it does not know about this because when Xorg 6.9 was packaged, Xorg
7.2 did not even exist.

(2) Deleting a symlink is equivalent to no data loss, the opposite -
deleting a real directory, just in order to place a symlink there
instead - means that the whole content of the directory is lost, even
those files that the user might have placed there.

Similar problems will arise really soon when GNOME changes its prefix
from /opt/gnome to /usr. This move will hurt even more than the Xorg move.

My conclusion is that the proposal is certainly interesting, but for the
specific problem that especially SUSE users tend to trash their systems
not a solution. It's just fixing the symptoms.

Some day people really have to learn to stay away from dangerous stuff
if they have no clue, and some day they will have to learn that some of
the buildservice repos are "Build & Go" repos (in the sense that the
packages are built and immediately uploaded, but never ever tested even
by the person who built them).



More information about the Smart mailing list