Propose new macro: INSTALL_CONF
Chris Rees
utisoft at gmail.com
Sat May 14 15:40:07 UTC 2011
Hi all,
I'm getting frustrated with editing config files of ports in vi, and
being told it's read-only.
This stops me using ZZ to quit, which makes me sad.
It's also inconsistent with src/etc/Makefile which uses for example:
.if ${MK_OPENSSH} != "no"
cd ${.CURDIR}; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \
${SSH} ${DESTDIR}/etc/ssh
.endif
The problem stems from installing .sample files as DATA, and then using
cp -p preserving the -w bits --> 444 makes perfect sense for a .sample file,
but not at all for a config file.
I have two options proposed.
For both introduce CONFMODE into src/share/mk/bsd.own.mk, patch for
which is at [1].
Option 1: Rewrite the Porter's Handbook section on config files to use
a macro involving CONFMODE instead of cp -p, which gets complicated
when using with @exec in pkg-plist
Option 2: Create an INSTALL_CONF macro, which handles the .conf.sample
-> .conf automagically and sticks the right lines into TMPPLIST.
I'm swinging towards Option 2, but I haven't written the code for that
yet in case someone shoots me down :P
Any concerns about inconsistencies between the INSTALL_* macros could
be addressed by calling it something different; I'm open to
suggestions!
We'd also need to deal with the MFC and subsequent updates of bsd.own.mk...
Chris
[1] http://www.bayofrum.net/~crees/patches/bsd-own-mk-confmode.patch
More information about the freebsd-ports
mailing list