Fonts, docs and man pages to /usr/share

Mike A. Harris mharris at redhat.com
Thu Apr 8 08:54:11 EST 2004


On Wed, 7 Apr 2004, Donnie Berkholz wrote:

>I've begun installing fonts, docs and man pages to /usr/share in our
>X.Org package and the next revision of our XFree86 4.3.0 package.

I look forward to making a similar change in future Red Hat X.org
packaging as well.  I'm going to leave our XFree86 packaging 
alone though, as it is just legacy support now and I don't want 
to risk any breakage.

>I added one hack patch to mkcfm, which had a hard-coded font path. I
>just changed the hard-coded path instead of making it configurable as it
>should be.
>
>echo "#define ManDirectoryRoot /usr/share/man" >> config/cf/host.def
>echo "#define DocDir /usr/share/doc/${PF}" >> config/cf/host.def
>echo "#define FontDir /usr/share/fonts" >> config/cf/host.def

Right, sounds like simple changes.

>If your man page system doesn't respect the difference between 'man 4
>mouse' and 'man 4x mouse' you may encounter some overlap. My basic idea
>there is to rename X's mouse page to xmouse.

I think it's probably best to have X manpages have the "x" 
suffix, and then they can coreside in the same directory 
heirarchy.  Need to test that theory in our distro first though.  
;o)

>We got one complaint about a broken, closed-source proprietary
>tool that expected to find X man pages only in /usr/X11R6
>instead of using available mechanisms to discover man page
>locations such as MANPATH.

I would indeed consider that to be a broken assumption in the 
proprietary tool, which the developers of that tool need to fix, 
however I would put a symlink from /usr/X11R6/man to %{_mandir} 
in for compatibility for an OS release or two, and document it in 
release notes somewhere as being deprecated.


>I stuck in one backwards compatibility symlink at
>/usr/X11R6/lib/X11/fonts/misc so at least a bad-looking server
>would start.

Yeah, there are probably several places needing backward 
compatible symlinks for a while, depending on what moves from 
/usr/X11R6 into /usr.   The changes can be done a bit at a time 
though to limit breakage.


>A seamless change could be had by copying the current XF86Config,
>fonts.conf, local.conf etc into the build, then sedding the font paths.

Yeah, I think I might write a script which parses certain config 
files and tries to fix them up where appropriate and sane.  That 
could be tricky though, as 3rd party packages can install fonts, 
etc.  I think there will probably be backward compatible symlinks 
for a while when we make the changes.

Either way, people will have broken systems no matter what, 
because many things never get fixed UNTIL you make changes that 
break it and require people to fix them.  The difference is that, 
by just changing things right away, people can and will complain 
that it's been broken without warning.  By putting backward 
compatible symlinks, etc. in place and deprecating things, some 
small number of people will make the changes voluntarily and at 
their convenience.  Others will still ignore the fact that things 
have changed, and complain when the backward compatibility is 
removed several releases or years later, however you can then 
tell them "This was deprecated n releases ago, as documented in 
such and such manpage, and such and such release notes.  We 
provided backward compatibility to ease the transition, but we 
can't force people to read the documentation if they don't feel 
like it."  ;o)

I think the transition from /usr/X11R6 heirarchy to /usr will be 
mostly smooth, as long as we're all careful to put symlinks in 
the right place.  "ln -s /usr/X11R6 /usr" is tempting.  ;o)

Take care,
TTYL

-- 
Mike A. Harris       ftp://people.redhat.com/mharris
OS Systems Engineer - X.org X11 maintainer - Red Hat



More information about the x-packagers mailing list