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