Subject: Re: Config files and paths for next XFree86 version
To: None <>
From: John Darrow <>
List: current-users
Date: 04/28/1999 02:41:48
I've long thought that basically everything under /usr/X11R6/lib/X11 doesn't
belong there.  A quick ls -R shows that the majority of things there are
either config files of some sort (the config, xdm, and app-defaults
directories jump to mind first, but there are others), which should probably
go somewhere under /etc (maybe with examples either under /usr/share, or
/usr/X11R6/share, similar to how the package system does
/usr/pkg/share/examples), or sharable data (such as fonts), which should
(also) be under a share directory somewhere.

Also present (as was mentioned in the proposal) are a few generated files,
such as the compiled xkb mappings and the xdm-pid and xdm-errors files.
At least some effort has already gone into the NetBSD version of the X
sources to move some of these out (specifically xdm-pid and xdm-errors)
to their proper places (under /var/run and /var/log, resp.)

The only things which jumped out at me off-hand as not in those categories
are xkb/xkbcomp and xdm/chooser.  The former is simply a copy of
/usr/X11R6/bin/xkbcomp, and probably isn't really necessary; the latter
is not intended to be run directly, so if I read my hier(7) right, should
be under a libexec directory somewhere.

However, beyond the generated files mentioned above, I would oppose moving
any of the configuration files into /var.  Not to try to reopen the whole
crontabs debate again, but I read hier's /var/ entry ("multi-purpose log,
temporary, transient, and spool files") along the lines that I should
be able to bring the system down to single-user, do 'rm -rf /var', run a
mtree to recreate the directory tree (and maybe some empty data files in
e.g. /var/games to get the permissions set), and come back up into multi-user
without losing anything but data files, and without any system behavior
changing.  This seems to me to be the cleanest reading of hier(7).

Moving all of the configurable stuff to /etc also makes moving a system to
new hardware (and possibly upgrading the OS, etc. in the process) much
easier by localizing which files have to be changed.  It's much easier to
do a clean install of NetBSD, copy over the old etc to etc.old somewhere,
and do a diff -r, editing as you go, than to have to look for and copy
configuration files from all over the place.


John Darrow
Computing Services, Wheaton College, Wheaton, IL