Date: Sun, 21 Mar 2010 15:36:52 +0100 From: Thomas-Martin Seck <tmseck-lists@netcologne.de> To: freebsd-ports@freebsd.org Subject: Re: correct location for third party /var files Message-ID: <20100321143652.GB1784@wcfields.tmseck.homedns.org> In-Reply-To: <alpine.BSF.2.00.1003180049040.8550@qbhto.arg> References: <20100317184936.2310.qmail@wcfields.tmseck.homedns.org> <alpine.BSF.2.00.1003180049040.8550@qbhto.arg>
next in thread | previous in thread | raw e-mail | index | archive | help
* Doug Barton (dougb@FreeBSD.org): > On Wed, 17 Mar 2010, Thomas-Martin Seck wrote: > >When I started maintaining ports in 2004, the (or at least my) goal was > >to avoid absolute paths in pkg-plist like the plague, that is why I do > >not bother to use something /var/cache/squid or /var/log/squid instead > >of PREFIX/squid/{logs,cache}. There is IMHO nothing wrong with storing > >variable data in $PREFIX/portname/ as long as this is sensibly done. > >$PREFIX/portname/var or $PREFIX/var/portname on the other hand is > >usually just a sign of sloppy porting and should be fixed. > > > >Trying to separate static and variable data and scattering said data > >across filesystems just for the sake of it or for arcane aesthetic > >reasons is - IMO - not really helpful for the user. > > I disagree strongly. hier(7) exists for a reason. I have always set up > systems to make a clear distinction between partitions that will be more > or less "static" and those that will be actively written to. This saves a > lot of time NOT having to rebuild a system after a crash because the > essential elements are still healthy. > > Your personal feelings about it don't really enter in. If you don't > understand or don't agree with a policy feel free to discuss it. Choosing > to ignore it because you don't like it isn't really an option. Oh dear, what did I do. (Why did people not report this five years ago?) Anyway, I just tried to move cache/log/pidfile to /var and found that this seems a bit tricky if not impossible when you generate your packagelist dynamically with PLIST_DIRS/PLIST_FILES. It looks like you need to wrap your absolute paths (or rather the @dirrm(try) calls in the plist) between "@cwd /" and "@cwd %%PREFIX%%". Does anyone know how to achieve this without resorting to a static pkg-plist? (I'd rather not introduce a static pkg-plist file with tons of substitutions for squid-2 and squid-3.0 because of the configurable list of installed error directories but for 3.1 and up this could be doable if there is no other solution. The plan would be to have the cache in /var/squid/cache, logs in /var/log/squid and the pidfile in /var/squid/; this is so that the squid master process does not need root privileges just to be able to write to /var/run.) What I would like to see is a consensus how to handle these kind of issues, especially about what should not be put under $PREFIX and a how-to-do-it in the Porter's Handbook and a mechanism in bsd.port.mk that helps one to achieve this if there isn't one already.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100321143652.GB1784>