Subject: Re: SETGIDGAME and id games
To: None <tech-pkg@netbsd.org>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-pkg
Date: 05/13/2004 00:01:03
> > I understand your point.  But it would be nice to provide a way to
> > override it, with something like VARBASE or GAMES_VAR.  On some
> > machines I'm using pkgsrc without root privilege, and many packages
> > don't build because they use hardcoded directories on which I don't
> > have permission.

Another issue is when testing software that may have same conflicting
filenames that could be in the native system, such as pid files.

> sketch@ brought this up a while back when I changed a game to place its
> scores in /var/games instead of ${PREFIX}/var.  I definitely agree with
> Todd when he says that this data belongs in /var.  However, I don't see
> any reason to oppose a variable to control this.  The question is: who is
> going to make packages obey it?  To me, it seems like more trouble than
> it's worth.  All that work so that people can install some games as
> non-root.  But if someone wants volunteers, great.

Well, let's add "VARBASE?=	/var" today. And teach pkglint about it.
And as new packages are imported and as packages are updated we can slowly
try to use VARBASE too.

I already use that (named slightly different) for my wip/isc-dhcpd
package.

Many other packages can almost immediately take advantage, such as:

devel/rt-mysql and RT_VAR_PATH?=    /var/pkg/rt

audio/ubs and UBS_BASEDIR?=                /var/spool/ubs

chat/bitlbee and STATEDIR=         /var/db/bitlbee

chat/ircu and DATADIR=             /var/ircd

databases/mysql-client and MYSQL_DATADIR?=          /var/mysql

databases/openldap and CONFIGURE_ARGS+=    --localstatedir=/var/openldap

emulators/xmame and SPOOLDIR=              /var/games/${TARGET}

graphics/ee and LOCALSTATEDIR=             /var/gnome
(and x11/gnome-core and gnome-libs too)

mail/courier-auth and CONFIGURE_ARGS+=      --localstatedir=/var (and
--with-authdaemonvar)

mail/cyrus* and CONFIGURE_ARGS+=      --with-statedir=/var/run

mail/mailman and MAILMAN_DATADIR?= /var/db/mailman

mail/prayer and VAR_PREFIX=        /var/spool/prayer

net/samba and SAMBA_VARDIR?=               /var

print/cups and CONFIGURE_ARGS+=    --localstatedir=/var

print/teTeX*-bin and TEXFONTSDIR=          /var/spool/texfonts

security/heimdal and HEIMDAL_STATEDIR?=    /var/heimdal

security/mit-krb5 and MIT_KRB5_STATEDIR?=  /var

security/stunnel and --localstatedir=/var

sysutils/amanda-* and AMANDA_VAR?=             /var/amanda

www/htdig and DBDIR?=              /var/db/htdig

x11/gdm and CONFIGURE_ARGS+=       --localstatedir=/var

There are many others too.

(I am not saying above are easy fixes, but it appears like they are.)

And GAMES_VAR (or what ever it is called) can default to ${VARBASE}/games.

 Jeremy C. Reed

 	  	 	 open source, Unix, *BSD, Linux training
	  	 	 http://www.pugetsoundtechnology.com/