From: Paul Schmehl on 29 Jun 2010 14:21 --On Tuesday, June 29, 2010 09:02:35 -0500 Scot Hetzel <swhetzel(a)gmail.com> wrote: > On Tue, Jun 29, 2010 at 1:34 AM, Darren Pilgrim <freebsd(a)bitfreak.org> wrote: >> Paul Schmehl wrote: >>> >>> I'm working on a port update for one of the ports that I maintain, and >>> I've run into a problem that I can't seem to solve. >>> >>> I use this construction to ensure that the port doesn't overwrite the conf >>> file, if one exists: >>> >>> .for f in barnyard2.conf >>> Â Â Â Â ${INSTALL_DATA} ${WRKSRC}/etc/${f} ${PREFIX}/etc/${f}-sample >>> Â Â Â Â [ -f ${PREFIX}/etc/${f} ] || \ >>> Â Â Â Â ${INSTALL_DATA} ${WRKSRC}/etc/${f} ${PREFIX}/etc/${f} >>> .endfor >>> >>> But it gets overwritten anyway. Â What am I doing wrong? Â I thought this >>> worked before, but I can't be sure. Â Testing proves that it does not work >>> now. Â I tried to changing to an if [ ! -f construction, but that didn't do >>> a thing. > > The above may be working properly, the problem could be that the > sources have code in them that installs barnyard2.conf to PREFIX/etc/. > Check the sources Makefile to see if they are installing this file. > If they are, patch them to install the file as the *-sample. > >> >> Instead of doing this in Makefile, do it in pkg-plist: >> >> @unexec if cmp -s %D/etc/barnyard2.conf.sample %D/etc/barnyard2.conf; then >> rm -f %D/etc/barnyard2.conf; fi >> etc/barnyard2.conf.sample >> @exec if [ ! -f %D/etc/barnyard2.conf ] ; then cp -p %D/%F >> %D/etc/barnyard2.conf && chmod 600 %D/etc/barnyard2.conf; fi >> >> Relevant section of the Porter's Handbook: >> >> http://www.freebsd.org/doc/en/books/porters-handbook/plist-config.html > > While this works when installing a package, you still need code in the > Makefile to install barnyard2.conf if it doesn't exist when installing > the port. You nailed it Scott. The problem was with the Makefile.in in the /etc directory. It's been fixed, and the port upgrade has been submitted. Thanks for the tipoff. -- Paul Schmehl, Senior Infosec Analyst As if it wasn't already obvious, my opinions are my own and not those of my employer. ******************************************* "It is as useless to argue with those who have renounced the use of reason as to administer medication to the dead." Thomas Jefferson _______________________________________________ freebsd-ports(a)freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscribe(a)freebsd.org" |