Subject: Re: pgsql's home
To: None <tech-pkg@netbsd.org>
From: David Brownlee <abs@NetBSD.org>
List: tech-pkg
Date: 04/16/2007 23:03:48
On Mon, 16 Apr 2007, Johnny C. Lam wrote:
> Geert Hendrickx wrote:
>> On Sat, Apr 14, 2007 at 06:08:44PM -0400, Louis Guillaume wrote:
>>>
>>> Currently the Postgresql-server packages keep are setting the user
>>> pgsql's home under ${PREFIX}.
>>>
>>> Since "files that may be modified after installation" should go in
>>> $VARBASE, shouldn't we do this?
>>
>> Fully agreed, for the obvious reasons (also I like to mount /usr r-o).
>> I personally put it under ${VARBASE}/db, usually.
>
> hier(7) on NetBSD says:
>
> /var/ multi-purpose log, temporary, transient, and spool files
>
> That doesn't sound at all like what a database should be. I picked ${PREFIX}
> because that's the only place that pkgsrc really "owns" and controls. In any
> case, it's usually irrelevant... the pgsql rc.d script always uses the home
> directory that's set in /etc/passwd for the location of the database.
A while back I sent this to the list for comment but IIRC
only joerg responded. Resending in the hope its more
interesting for people now :)
>> Default for HOMEBASE - please comment <<
Currently pkgsrc creates homedirs for pkgsrc system users in
a variety of places.
I'm proposing a new ${HOMEBASE} variable which would be used as
the base for any pkgsrc created user's homedir which needs to
retain persistant state, except where there is already a 'well
known' directory (such as ${VARBASE}/{mail,news}, or 'chroot')
The question is what should the default be:
a) ${VARBASE}:
This clutters up ${VARBASE} and is likely to collide with
some system provided directories on some OSs
b) ${VARBASE}/db:
hier(4) states "/var/db/" miscellaneous automatically
generated system-specific database files, and persistent
files used in the maintenance of third party software.
c) ${VARBASE}/lib:
FHS 2.3: /var/lib : Variable state information
This hierarchy holds state information pertaining to
an application or the system. State information is data
that programs modify while they run, and that pertains
to one specific host. Users must never need to modify
files in /var/lib to configure a package's operation.
d) ${VARBASE}/pkghome: (or variation such as 'pkg', 'pkgsrc')
Sidesteps the whole issue of overloading existing names in
a similar fashion to ${PREFIX} in /usr/pkg
--
David/absolute -- www.NetBSD.org: No hype required --