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
signature.asc
Description: Digital signature