Re: Pre-Depends for Xorg 7.0
On Mon, Jan 23, 2006 at 12:15:23AM -0500, Joey Hess wrote:
> David Nusinow wrote:
> > One of the changes happening for Xorg 7.0 is that it will finally become
> > FHS compliant.
> FWIW, the FHS 2.1 specifies /usr/X11R6 in section 4.1. I can't see
> anything FHS-incompliant about the current setup.
As far as I understand it, this is simply grandfathered in. I'm not that up
on the FHS details though, so I may be wrong. Remember also that this isn't
X11R6 any more, but X11R7.
> > Currently, it fakes FHS compliancy by creating various
> > symlinks (/usr/include/X11, /usr/bin/X11, /usr/lib/X11) to the appropriate
> > directories in /usr/X11R6. For 7.0, we need to make those symlinks become
> > actual directories.
> I thought that the idea instead was to move everything directly into
> /usr/include, /usr/bin, and /usr/lib. Why keep the X11 subdirectories?
Right. The everything that you'd expect to go in to /usr/bin and /usr/lib
will install there, at least as far as Xorg goes. An example of that is
that the new xterm package installs to /usr/bin rather than /usr/X11R6/bin.
I haven't finished the packaging of everything, but it seems that some of
the header files are put in to differenct dirs of /usr/include. I'll
investigate the reasoning for this further. As for /usr/lib/X11, data files
like fonts currently go in there.
> Note that the FHS has this to say about /usr/bin/X11 and friends:
> In general, software must not be installed or managed via the above symbolic
> links. They are intended for utilization by users only.
> > Because the remainder of the Xorg 7.0 packages will require this change
> > to have taken place, they will have to pre-depend upon an appropriate
> > version of x11-common. As such, I'm writing to the list in accordance with
> > policy.
> What about all the packages that you don't control that also still put
> things in /usr/X11R6? Recall that policy allows this for anything still
> using Imake, as well as mandating it for any package containing X fonts.
Right, they're still allowed to as far as I'm concerned. It's basically
that Xorg is giving up claim on that directory in a sense. I don't know
about the fonts issue given the above, I'll look in to that.
> If the idea is to make /usr/*/X11 real directories and stop using
> /usr/X11R6 then all those package would also need to be updated and have
> a predependency added too. Seems easier just to move everything in X to
> /usr/bin, /usr/include, and /usr/lib.
> Also, moving stuff to /usr/bin/X11 and making it a real directory will
> break things for anyone having /usr/X11R6/bin in their path instead. One
> example of such a path is in pbuilder.
As far as I currently know, all the apps will go to /usr/bin so it
shouldn't break anything. I haven't packaged most of the apps though yet,
so I can't say this for certain. I'll investigate it when I get to that
stage of the process.
We also have to consider that these decisions were made by upstream, not
myself. These choices were made to make X a good citizen in the current
unix world, and the fact that they are disruptive is the reason for the
bump from X11R6 to 7.
- David Nusinow