On Wed, Jun 28, 2006 at 14:51:56 +0100, Ian Jackson wrote:
> Almost certainly there is a better way. I'd be happy to help.
> I think I'll need rather a lot of the context explaining though.
> Would you rather point me to documentation, explain it to me in email,
> or talk to me on the phone (on my bill) ?
>
Before X11R7, lots of things were installed in
/usr/X11R6/{bin,lib,include}. There were symlinks
/usr/bin/X11 -> ../X11R6/bin, /usr/include/X11 -> ../X11R6/include/X11
and /usr/lib/X11 -> ../X11R6/lib/X11.
Now, in this transition, /usr/include/X11 and /usr/lib/X11 become real
directories, and packages install stuff in there. The old symlinks are
thus removed in x11-common's preinst, and packages installing stuff
there pre-depend on x11-common.
Additionally, the /usr/X11R6/bin directory becomes a symlink to ../bin,
because some programs/scripts use that path to find executables they
need (some window managers look for the X server at /usr/X11R6/bin/X,
for example). The symlink allows this to still work, but it also means
that all files in /usr/X11R6/bin must be removed before x11-common is
installed. For this reason, x11-common conflicts with all packages
which contain a /usr/X11R6/bin directory (or at least, that's the idea).
The upgrade path, as I understand it, is the following:
- the packages x11-common conflicts with are upgraded or removed
- at this point /usr/X11R6/bin shouldn't exist
- x11-common is installed, turns /usr/include/X11 and /usr/lib/X11 into
directories, and /usr/X11R6/bin into a symlink
- now all packages depending or pre-depending on x11-common can be
installed/upgraded
Hope this explains why the transition is a bit complicated.
Cheers,
Julien
Attachment:
signature.asc
Description: Digital signature