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