Subject: Re: CVS commit: pkgsrc/net/pxe/files
To: Robert Elz <kre@munnari.OZ.AU>
From: Frederick Bruckman <fredb@immanent.net>
List: tech-pkg
Date: 11/06/2001 17:55:18
On Tue, 6 Nov 2001, Robert Elz wrote:

> Personally, I prefer to have the administration type files (rc.d type
> stuff, etc) in $PREFIX/etc and the per host config files somewhere
> else entirely.

"rc.d" scripts have to be available before "/usr" is mounted, so the
appropriate "rc.d" script can mount "/usr". So while you could invoke
"rcorder" in "/etc/rc"  with arguments "/etc/rc.d/* /etc/pkg/rc.d/*",
you can't invoke it with "/etc/rc.d/* ${PREFIX}/etc/rc.d/*", even if
you did know what value of ${PREFIX} to hardcode into "rc", and even
with ${PREFIX}/etc being a symlink to something on the root file
system. It doesn't matter so much where you put the other stuff, as
long as the "rc.d" script gets generated appropriately at build time.
(I prefer "/etc", but tron's suggestion of "/etc/pkg" seems like a
reasonable compromise.)

I reject specifically the idea of a "two-stage rc", since there's no
one time when all the "pkg" scripts should run -- they deserve,
rather, to jostle with the others for priority, as full citizens.

> Mixing the two together (as is done with /etc of course) is not a
> logical or consistent design.
>
>   | thereby making
>   | people's /etc and ${PREFIX}/etc directories possibly duplicatory.
>
> That shouldn't happen - having the stuff in one place is all that is
> needed, the only question is where.

If you don't have duplicates, you're overwriting things in the base
system, which is also bad. I could live, by the way, with having
duplicates of files in "/etc" in "/etc/pkg" -- they're not far away,
or hard to move or copy, and in some cases, you might really want
different configs.

>   | I think Fred suggested a way recently whereby we would install config
>   | files to SYSTEM_CONFIG_DIR,
>
> That would be fine - I like to stick all conf files (minus the
> silly ".conf") in /etc/conf rather than directly in /etc.
>
> It makes them much easier to spot amongst all the noise.   Just be
> aware that everything that is currently shoved in /etc (or $PREFIX/etc)
> is not a config file - only a small proportion of them.   The rest are
> what are better described as ancillary files - necessary for things to
> work (or work nicely) but certainly not intended for arbitrary changes.

My considered opinion is that files that are only defaults for files
that should properly be modified under ${HOME}, should go under
${PREFIX}/share/<pkg>. ("lynx.lss" springs to mind.)

Frederick