Red Hat Bugzilla – Bug 11820
Relative symlinks in XFree86 specs
Last modified: 2008-05-01 11:37:55 EDT
The symlinks for fs, twm, xdm, xinit, and xsm in /usr/X11R6/lib/X11, as
well as compiled in /usr/X11R6/lib/X11/xkb/ are relative symlinks:
lrwxrwxrwx 1 root root 26 Dec 7 00:05 compiled ->
This makes moving /usr or /usr/X11R6 onto a new drive (/newdrive/usr) and
symlinking ( -s /newdrive/usr /usr) break.
The symlinks should be absolute paths to /etc/X11 and /var/lib/xkb.
When correcting this, you might also want to address the /etc/X11/X symlink as
well, as it points to ../../usr/X11R6/bin/<server>
Will someone be looking at this for the upcoming rawhide?
the whole relative vs. absolute symlink thing has been beaten to death many
times. Problems with absolute symlinks:
1. the break when the / partition is not actually mounted to /, i.e. in a
rescue-mode type configuration or something similar.
2. they often break when you are NFS-exporting a tree that contains them.
Problems with relative symlinks:
1. they make moving a subtree containing them difficult.
So there is really no way to win here.
This bug isn't a discussion in general about symlinks. It's two specific cases
where an absolute
symlink is needed, and it's 3 1/2 months old and likely too late to make it into
release because of this huge delay.
Booting X in a rescue mode is absurd, and an absolute link to the configuration
for X does not break in the case where /usr/X11R6 would be NFS exported to other
machines as each would *want* its own configuration settings for X as that's
Changing from relative symlinks to absolute - as Preston indicated
solves one problem by creating another. It boils down to the lesser of
two evils. In this case, the "general" widespread usage of X is what
is most important. Since few users are likely to move /usr to another
location in that manner, and many more are likely to be affected
poorly by changing to absolute links, this change is not going to happen.
Mounting the new drive/partition under /usr is one possible solution
for your problem.
Well, let this bug serve as a documented warning to others who attempt to do
what I did.