[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#375667: x11-common and xserver-xorg unupgradeable due to mutual deathgrip



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


Reply to: