Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 2 Apr 2003 22:41:28 +0100
From:      David Taylor <davidt@yadt.co.uk>
To:        des@freebsd.org, ports@freebsd.org
Subject:   Re: INN ports deinstall config files
Message-ID:  <20030402214128.GA2140@gattaca.yadt.co.uk>
In-Reply-To: <20030401010940.GA19343@gattaca.yadt.co.uk>
References:  <20030401010940.GA19343@gattaca.yadt.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help

--O3RTKUHj+75w1tg5
Content-Type: multipart/mixed; boundary="WYTEVAkct0FjGQmd"
Content-Disposition: inline


--WYTEVAkct0FjGQmd
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, 01 Apr 2003, David Taylor wrote:
> I've noticed (unfortunately) that running ``portupgrade inn'' does bad
> things(tm) to installed config files.  They get deleted in the pkg_delete,
> then blank files are installed by inn.  Inn does create backups (I think)
> of config files when it's installed into a previously used directory, but
> even then, it'd be nice if the config files weren't replaced with defaults
> which probably won't work.
>=20

OK, Since I had way too much time on my hands today, I decided to try to
fix the above problem.

I added a patch to inn-2.3.4/site/Makefile to make it

	1. If $path/foo.conf doesn't exist, or is the same as
           the installed $path/foo.conf.dist, install the new
           foo.conf as $path/foo.conf.
        2. Install the new foo.conf as $path/foo.conf.dist.

I changed pkg-plist to make it delete $path.foo.conf only if it
matches $path/foo.conf.dist (which will always be deleted).

It works for me for installing via both ports and packages, but the
site/Makefile patch might be a bit ugly to commit to the ports.

--=20
David Taylor
davidt@yadt.co.uk
"The future just ain't what it used to be"

--WYTEVAkct0FjGQmd
Content-Type: text/plain; charset=us-ascii
Content-Description: Patch against news/inn-2.3.4
Content-Disposition: attachment; filename="inn-config_fix.patch"
Content-Transfer-Encoding: quoted-printable

diff -ruN inn.orig/files/patch-ab inn/files/patch-ab
--- inn.orig/files/patch-ab	Thu Jan  1 01:00:00 1970
+++ inn/files/patch-ab	Wed Apr  2 22:10:59 2003
@@ -0,0 +1,433 @@
+--- site/Makefile.orig	Sun Dec 22 23:00:38 2002
++++ site/Makefile	Wed Apr  2 22:09:25 2003
+@@ -6,6 +6,10 @@
+ #RELOAD_AND_GO	=3D reload go
+ DIFF=3D"diff"
+=20
++# Extension to use for config files, so they aren't clobbered on an
++# upgrade.
++CFG_EXT		=3D .dist
++
+ # Added a default rule for ".csh" because Digital UNIX has a builtin
+ # rule which would overwite the innshellvars file.
+ .csh:
+@@ -83,6 +87,17 @@
+ 	$D$(CTLBIN)/newgroup.pl $D$(CTLBIN)/rmgroup.pl $D$(CTLBIN)/sendme.pl \
+ 	$D$(CTLBIN)/sendsys.pl $D$(CTLBIN)/senduuname.pl $D$(CTLBIN)/version.pl
+=20
++MOST_INSTALLED_DIST	=3D $D$(CTLBIN)/checkgroups$(CFG_EXT) \
++	$D$(CTLBIN)/default$(CFG_EXT) $D$(CTLBIN)/ihave$(CFG_EXT) \
++	$D$(CTLBIN)/newgroup$(CFG_EXT) $D$(CTLBIN)/rmgroup$(CFG_EXT) \
++	$D$(CTLBIN)/sendme$(CFG_EXT) $D$(CTLBIN)/sendsys$(CFG_EXT) \
++	$D$(CTLBIN)/senduuname$(CFG_EXT) $D$(CTLBIN)/version$(CFG_EXT) \
++	$D$(PATH_PARSECTL)$(CFG_EXT) $D$(PATHLIB)/docheckgroups$(CFG_EXT) \
++	$D$(CTLBIN)/checkgroups.pl$(CFG_EXT) $D$(CTLBIN)/ihave.pl$(CFG_EXT) \
++	$D$(CTLBIN)/newgroup.pl$(CFG_EXT) $D$(CTLBIN)/rmgroup.pl$(CFG_EXT) \
++	$D$(CTLBIN)/sendme.pl$(CFG_EXT) $D$(CTLBIN)/sendsys.pl$(CFG_EXT) \
++	$D$(CTLBIN)/senduuname.pl$(CFG_EXT) $D$(CTLBIN)/version.pl$(CFG_EXT)
++
+ REST_INSTALLED	=3D \
+ 	$D$(PATH_NEWSFEEDS) $D$(PATH_INNDHOSTS) \
+ 	$D$(PATH_NNRPDTRACK) $D$(PATH_NNTPPASS) \
+@@ -92,7 +107,7 @@
+ 	$D$(PATH_CTLWATCH) $D$(PATH_DISTPATS) $D$(PATH_SCHEMA) \
+ 	$D$(PATH_ACTSYNC_CFG) $D$(PATH_ACTSYNC_IGN) \
+ 	$D$(PATH_MOTD) $D$(PATH_STORAGECONF) \
+-	$D$(PATH_OVERVIEWCTL) $D$(PATH_CYCBUFFCONFIG) $D$(PATH_BUFFINDEXED) \
++	$D$(PATH_CYCBUFFCONFIG) $D$(PATH_BUFFINDEXED) \
+ 	$D$(PATH_INNFEEDCTL) $D$(PATH_PERL_STARTUP_INND) \
+ 	$D$(PATH_PERL_FILTER_INND) $D$(PATH_PERL_FILTER_NNRPD) \
+ 	$D$(PATH_PYTHON_FILTER_INND) $D$(PATH_PYTHON_INN_MODULE) \
+@@ -101,6 +116,29 @@
+ 	$D$(PATH_RADIUS_CONF) $D$(PATH_NNRPYAUTH) $D$(PATH_OVDB_CONF) \
+ 	$D$(PATH_SASL_CONF) $D$(PATH_SUBSCRIPTIONS)
+=20
++REST_INSTALLED_DIST	=3D \
++	$D$(PATH_NEWSFEEDS)$(CFG_EXT) $D$(PATH_INNDHOSTS)$(CFG_EXT) \
++	$D$(PATH_NNRPDTRACK)$(CFG_EXT) $D$(PATH_NNTPPASS)$(CFG_EXT) \
++	$D$(PATH_CONFIG)$(CFG_EXT) $D$(PATH_MODERATORS)$(CFG_EXT) \
++	$D$(PATH_CONTROLCTL)$(CFG_EXT) $D$(PATH_EXPIRECTL)$(CFG_EXT) \
++	$D$(PATHETC)/nntpsend.ctl$(CFG_EXT) \
++	$D$(PATHETC)/innreport.conf$(CFG_EXT) $D$(PATH_CTLWATCH)$(CFG_EXT) \
++	$D$(PATH_DISTPATS)$(CFG_EXT) $D$(PATH_SCHEMA)$(CFG_EXT) \
++	$D$(PATH_ACTSYNC_CFG)$(CFG_EXT) $D$(PATH_ACTSYNC_IGN)$(CFG_EXT) \
++	$D$(PATH_MOTD)$(CFG_EXT) $D$(PATH_STORAGECONF)$(CFG_EXT) \
++	$D$(PATH_CYCBUFFCONFIG)$(CFG_EXT) $D$(PATH_BUFFINDEXED)$(CFG_EXT) \
++	$D$(PATH_INNFEEDCTL)$(CFG_EXT) \
++	$D$(PATH_PERL_STARTUP_INND)$(CFG_EXT) \
++	$D$(PATH_PERL_FILTER_INND)$(CFG_EXT) \
++	$D$(PATH_PERL_FILTER_NNRPD)$(CFG_EXT) \
++	$D$(PATH_PYTHON_FILTER_INND)$(CFG_EXT) \
++	$D$(PATH_PYTHON_INN_MODULE)$(CFG_EXT) \
++	$D$(PATH_TCL_STARTUP)$(CFG_EXT) $D$(PATH_TCL_FILTER)$(CFG_EXT) \
++	$D$(PATH_NNRPAUTH)$(CFG_EXT) $D$(PATHETC)/news2mail.cf$(CFG_EXT) \
++	$D$(PATH_READERSCONF)$(CFG_EXT) $D$(PATH_RADIUS_CONF)$(CFG_EXT) \
++	$D$(PATH_NNRPYAUTH)$(CFG_EXT) $D$(PATH_OVDB_CONF)$(CFG_EXT) \
++	$D$(PATH_SASL_CONF)$(CFG_EXT) $D$(PATH_SUBSCRIPTIONS)$(CFG_EXT)
++
+ ALL_INSTALLED	=3D $(MOST_INSTALLED) $(REST_INSTALLED)
+=20
+ SPECIAL		=3D $D$(PATH_ACTIVE) $D$(PATH_ACTIVE_TIMES) $D$(PATH_NEWSGROUPS)
+@@ -129,10 +167,10 @@
+ ##  Don't use parallel rules -- we want this to be viewed carefully.
+ install:	all $(PAUSE) install-config $(RELOAD_AND_GO)
+ reload-install:	all pause    install-config reload go
+-install-config:		update $(REST_INSTALLED) $(SPECIAL)
++install-config:	update $(REST_INSTALLED) $(REST_INSTALLED_DIST) $(SPECIAL)
+=20
+ ##  Install scripts, not per-host config files.
+-update:		all $(MOST_INSTALLED)
++update:		all $(MOST_INSTALLED) $(MOST_INSTALLED_DIST)
+ 	@echo "" ; echo inn.conf in site directory may have newly added paramete=
rs
+ 	@echo which installed inn.conf does not have.  Check those parameters
+ 	@echo before you run innd. ; echo ""
+@@ -141,8 +179,16 @@
+ ##  Special rules for files that sould never be overwritten if they are
+ ##  already installed.  These are used only for the initial install of a
+ ##  brand new server.
+-$D$(PATH_ACTIVE): 	; $(CP_RPUB) active.minimal $@
+-$D$(PATH_NEWSGROUPS):	; $(CP_RPUB) newsgroups.minimal $@
++##  Install .dist files for these anyway, so we know when to remove them.
++$D$(PATH_ACTIVE)$(CFG_EXT): 	; $(CP_RPUB) active.minimal $@
++$D$(PATH_ACTIVE):		; $(CP_RPUB) active.minimal $@;
++$D$(PATH_NEWSGROUPS)$(CFG_EXT):	; $(CP_RPUB) newsgroups.minimal $@
++$D$(PATH_NEWSGROUPS):		; $(CP_RPUB) newsgroups.minimal $@
++$D$(PATH_ACTIVE_TIMES)$(CFG_EXT):
++	touch $@
++	chown $(NEWSUSER) $@
++	chgrp $(NEWSGROUP) $@
++	chmod 644 $@
+ $D$(PATH_ACTIVE_TIMES):
+ 	touch $@
+ 	chown $(NEWSUSER) $@
+@@ -171,60 +217,276 @@
+ COPY_XPUB	=3D $(CP_XPUB)
+=20
+ ##  Order:  innd, control, expire, inews, sending, misc
+-$D$(PATH_INNDHOSTS):	incoming.conf	; $(COPY_RPRI) $? $@
+-$D$(PATH_NEWSFEEDS):	newsfeeds	; $(COPY_RPUB) $? $@
+-$D$(PATH_READERSCONF):	readers.conf	; $(COPY_RPRI) $? $@
+-$D$(PATH_RADIUS_CONF):	radius.conf	; $(COPY_RPRI) $? $@
+-$D$(PATH_NNRPDTRACK):	nnrpd.track	; $(COPY_RPRI) $? $@
+-$D$(PATH_SCHEMA):	overview.fmt	; $(COPY_RPUB) $? $@
+-$D$(CTLBIN)/checkgroups: checkgroups	; $(COPY_XPRI) $? $@
+-$D$(CTLBIN)/checkgroups.pl: checkgroups.pl	; $(COPY_XPRI) $? $@
+-$D$(CTLBIN)/default:	default		; $(COPY_XPRI) $? $@
+-$D$(CTLBIN)/ihave:	ihave		; $(COPY_XPRI) $? $@
+-$D$(CTLBIN)/ihave.pl:	ihave.pl		; $(COPY_XPRI) $? $@
+-$D$(CTLBIN)/newgroup:	newgroup	; $(COPY_XPRI) $? $@
+-$D$(CTLBIN)/newgroup.pl:	newgroup.pl	; $(COPY_XPRI) $? $@
+-$D$(CTLBIN)/rmgroup:	rmgroup		; $(COPY_XPRI) $? $@
+-$D$(CTLBIN)/rmgroup.pl:	rmgroup.pl		; $(COPY_XPRI) $? $@
+-$D$(CTLBIN)/sendme:	sendme		; $(COPY_XPRI) $? $@
+-$D$(CTLBIN)/sendme.pl:	sendme.pl		; $(COPY_XPRI) $? $@
+-$D$(CTLBIN)/sendsys:	sendsys		; $(COPY_XPRI) $? $@
+-$D$(CTLBIN)/sendsys.pl:	sendsys.pl		; $(COPY_XPRI) $? $@
+-$D$(CTLBIN)/senduuname:	senduuname	; $(COPY_XPRI) $? $@
+-$D$(CTLBIN)/senduuname.pl:	senduuname.pl	; $(COPY_XPRI) $? $@
+-$D$(CTLBIN)/version:	version		; $(COPY_XPRI) $? $@
+-$D$(CTLBIN)/version.pl:	version.pl		; $(COPY_XPRI) $? $@
+-$D$(PATH_CONTROLCTL):	control.ctl	; $(COPY_RPRI) $? $@
+-$D$(PATH_CTLWATCH):	innwatch.ctl	; $(COPY_RPRI) $? $@
+-$D$(PATH_PARSECTL):	parsecontrol	; $(COPY_XPRI) $? $@
+-$D$(PATHLIB)/docheckgroups: docheckgroups ; $(COPY_XPRI) $? $@
+-$D$(PATH_EXPIRECTL):	expire.ctl	; $(COPY_RPRI) $? $@
+-$D$(PATH_CONFIG):	inn.conf	; $(COPY_RPUB) $? $@
+-$D$(PATH_MODERATORS):	moderators	; $(COPY_RPUB) $? $@
+-$D$(PATH_DISTPATS):	distrib.pats	; $(COPY_RPUB) $? $@
+-$D$(PATH_NNTPPASS):	passwd.nntp	; $(COPY_RPRI) $? $@
+-$D$(PATHETC)/nntpsend.ctl: nntpsend.ctl	; $(COPY_RPRI) $? $@
+-$D$(PATHETC)/news2mail.cf: news2mail.cf	; $(COPY_RPRI) $? $@
+-$D$(PATHETC)/innreport.conf: innreport.conf	; $(COPY_RPRI) $? $@
+-$D$(PATH_STORAGECONF): storage.conf	; $(COPY_RPRI) $? $@
+-$D$(PATH_CYCBUFFCONFIG): cycbuff.conf	; $(COPY_RPRI) $? $@
+-$D$(PATH_BUFFINDEXED): buffindexed.conf	; $(COPY_RPRI) $? $@
+-$D$(PATH_OVDB_CONF): ovdb.conf		; $(COPY_RPRI) $? $@
+-$D$(PATH_PERL_STARTUP_INND): startup_innd.pl ; $(COPY_RPRI) $? $@
+-$D$(PATH_PERL_FILTER_INND): filter_innd.pl ; $(COPY_RPRI) $? $@
+-$D$(PATH_PERL_FILTER_NNRPD): filter_nnrpd.pl ; $(COPY_RPRI) $? $@
+-$D$(PATH_PYTHON_FILTER_INND): filter_innd.py ; $(COPY_RPRI) $? $@
+-$D$(PATH_PYTHON_INN_MODULE): INN.py ;	$(COPY_RPRI) $? $@
+-$D$(PATH_TCL_STARTUP): startup.tcl	; $(COPY_RPRI) $? $@
+-$D$(PATH_TCL_FILTER): filter.tcl	; $(COPY_RPRI) $? $@
+-$D$(PATH_NNRPAUTH): nnrpd_auth.pl       ; $(COPY_RPRI) $? $@
+-$D$(PATH_NNRPYAUTH): nnrpd_auth.py      ; $(COPY_RPRI) $? $@
+-$D$(PATH_ACTSYNC_CFG): actsync.cfg	; $(COPY_RPRI) $? $@
+-$D$(PATH_ACTSYNC_IGN): actsync.ign	; $(COPY_RPRI) $? $@
+-$D$(PATH_MOTD): motd.news		; $(COPY_RPRI) $? $@
+-$D$(PATH_INNFEEDCTL): innfeed.conf	; $(COPY_RPRI) $? $@
+-$D$(PATH_SASL_CONF):	sasl.conf	; $(COPY_RPRI) $? $@
+-$D$(PATH_SUBSCRIPTIONS): subscriptions	; $(COPY_RPUB) $? $@
++$D$(PATH_INNDHOSTS):	incoming.conf
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATH_INNDHOSTS)$(CFG_EXT):	incoming.conf	; $(COPY_RPRI) $? $@
++$D$(PATH_NEWSFEEDS):	newsfeeds
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPUB) $? $@; \
++	fi
++$D$(PATH_NEWSFEEDS)$(CFG_EXT):	newsfeeds	; $(COPY_RPUB) $? $@
++$D$(PATH_READERSCONF):	readers.conf
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATH_READERSCONF)$(CFG_EXT):	readers.conf	; $(COPY_RPRI) $? $@
++$D$(PATH_RADIUS_CONF):	radius.conf
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATH_RADIUS_CONF)$(CFG_EXT):	radius.conf	; $(COPY_RPRI) $? $@
++$D$(PATH_NNRPDTRACK):	nnrpd.track
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATH_NNRPDTRACK)$(CFG_EXT):	nnrpd.track	; $(COPY_RPRI) $? $@
++$D$(PATH_SCHEMA):	overview.fmt
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPUB) $? $@; \
++	fi
++$D$(PATH_SCHEMA)$(CFG_EXT):	overview.fmt	; $(COPY_RPUB) $? $@
++$D$(CTLBIN)/checkgroups: checkgroups
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_XPRI) $? $@; \
++	fi
++$D$(CTLBIN)/checkgroups$(CFG_EXT): checkgroups	; $(COPY_XPRI) $? $@
++$D$(CTLBIN)/checkgroups.pl: checkgroups.pl
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_XPRI) $? $@; \
++	fi
++$D$(CTLBIN)/checkgroups.pl$(CFG_EXT): checkgroups.pl	; $(COPY_XPRI) $? $@
++$D$(CTLBIN)/default:	default
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_XPRI) $? $@; \
++	fi
++$D$(CTLBIN)/default$(CFG_EXT):	default		; $(COPY_XPRI) $? $@
++$D$(CTLBIN)/ihave:	ihave
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_XPRI) $? $@; \
++	fi
++$D$(CTLBIN)/ihave$(CFG_EXT):	ihave		; $(COPY_XPRI) $? $@
++$D$(CTLBIN)/ihave.pl:	ihave.pl
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_XPRI) $? $@; \
++	fi
++$D$(CTLBIN)/ihave.pl$(CFG_EXT):	ihave.pl		; $(COPY_XPRI) $? $@
++$D$(CTLBIN)/newgroup:	newgroup
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_XPRI) $? $@; \
++	fi
++$D$(CTLBIN)/newgroup$(CFG_EXT):	newgroup	; $(COPY_XPRI) $? $@
++$D$(CTLBIN)/newgroup.pl:	newgroup.pl
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_XPRI) $? $@; \
++	fi
++$D$(CTLBIN)/newgroup.pl$(CFG_EXT):	newgroup.pl	; $(COPY_XPRI) $? $@
++$D$(CTLBIN)/rmgroup:	rmgroup
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_XPRI) $? $@; \
++	fi
++$D$(CTLBIN)/rmgroup$(CFG_EXT):	rmgroup		; $(COPY_XPRI) $? $@
++$D$(CTLBIN)/rmgroup.pl:	rmgroup.pl
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_XPRI) $? $@; \
++	fi
++$D$(CTLBIN)/rmgroup.pl$(CFG_EXT):	rmgroup.pl		; $(COPY_XPRI) $? $@
++$D$(CTLBIN)/sendme:	sendme
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_XPRI) $? $@; \
++	fi
++$D$(CTLBIN)/sendme$(CFG_EXT):	sendme		; $(COPY_XPRI) $? $@
++$D$(CTLBIN)/sendme.pl:	sendme.pl
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_XPRI) $? $@; \
++	fi
++$D$(CTLBIN)/sendme.pl$(CFG_EXT):	sendme.pl		; $(COPY_XPRI) $? $@
++$D$(CTLBIN)/sendsys:	sendsys
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_XPRI) $? $@; \
++	fi
++$D$(CTLBIN)/sendsys$(CFG_EXT):	sendsys		; $(COPY_XPRI) $? $@
++$D$(CTLBIN)/sendsys.pl:	sendsys.pl
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_XPRI) $? $@; \
++	fi
++$D$(CTLBIN)/sendsys.pl$(CFG_EXT):	sendsys.pl		; $(COPY_XPRI) $? $@
++$D$(CTLBIN)/senduuname:	senduuname
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_XPRI) $? $@; \
++	fi
++$D$(CTLBIN)/senduuname$(CFG_EXT):	senduuname	; $(COPY_XPRI) $? $@
++$D$(CTLBIN)/senduuname.pl:	senduuname.pl
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_XPRI) $? $@; \
++	fi
++$D$(CTLBIN)/senduuname.pl$(CFG_EXT):	senduuname.pl	; $(COPY_XPRI) $? $@
++$D$(CTLBIN)/version:	version
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_XPRI) $? $@; \
++	fi
++$D$(CTLBIN)/version$(CFG_EXT):	version		; $(COPY_XPRI) $? $@
++$D$(CTLBIN)/version.pl:	version.pl
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_XPRI) $? $@; \
++	fi
++$D$(CTLBIN)/version.pl$(CFG_EXT):	version.pl	; $(COPY_XPRI) $? $@
++$D$(PATH_CONTROLCTL):	control.ctl
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATH_CONTROLCTL)$(CFG_EXT):	control.ctl	; $(COPY_RPRI) $? $@
++$D$(PATH_CTLWATCH):	innwatch.ctl
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATH_CTLWATCH)$(CFG_EXT):	innwatch.ctl	; $(COPY_RPRI) $? $@
++$D$(PATH_PARSECTL):	parsecontrol
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_XPRI) $? $@; \
++	fi
++$D$(PATH_PARSECTL)$(CFG_EXT):	parsecontrol	; $(COPY_XPRI) $? $@
++$D$(PATHLIB)/docheckgroups: docheckgroups
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_XPRI) $? $@; \
++	fi
++$D$(PATHLIB)/docheckgroups$(CFG_EXT): docheckgroups ; $(COPY_XPRI) $? $@
++$D$(PATH_EXPIRECTL):	expire.ctl
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATH_EXPIRECTL)$(CFG_EXT):	expire.ctl	; $(COPY_RPRI) $? $@
++$D$(PATH_CONFIG):	inn.conf
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPUB) $? $@; \
++	fi
++$D$(PATH_CONFIG)$(CFG_EXT):	inn.conf	; $(COPY_RPUB) $? $@
++$D$(PATH_MODERATORS):	moderators
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPUB) $? $@; \
++	fi
++$D$(PATH_MODERATORS)$(CFG_EXT):	moderators	; $(COPY_RPUB) $? $@
++$D$(PATH_DISTPATS):	distrib.pats
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPUB) $? $@; \
++	fi
++$D$(PATH_DISTPATS)$(CFG_EXT):	distrib.pats	; $(COPY_RPUB) $? $@
++$D$(PATH_NNTPPASS):	passwd.nntp
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATH_NNTPPASS)$(CFG_EXT):	passwd.nntp	; $(COPY_RPRI) $? $@
++$D$(PATHETC)/nntpsend.ctl: nntpsend.ctl
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATHETC)/nntpsend.ctl$(CFG_EXT): nntpsend.ctl	; $(COPY_RPRI) $? $@
++$D$(PATHETC)/news2mail.cf: news2mail.cf
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATHETC)/news2mail.cf$(CFG_EXT): news2mail.cf	; $(COPY_RPRI) $? $@
++$D$(PATHETC)/innreport.conf: innreport.conf
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATHETC)/innreport.conf$(CFG_EXT): innreport.conf	; $(COPY_RPRI) $? $@
++$D$(PATH_STORAGECONF): storage.conf
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATH_STORAGECONF)$(CFG_EXT): storage.conf	; $(COPY_RPRI) $? $@
++$D$(PATH_CYCBUFFCONFIG): cycbuff.conf
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATH_CYCBUFFCONFIG)$(CFG_EXT): cycbuff.conf	; $(COPY_RPRI) $? $@
++$D$(PATH_BUFFINDEXED): buffindexed.conf
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATH_BUFFINDEXED)$(CFG_EXT): buffindexed.conf	; $(COPY_RPRI) $? $@
++$D$(PATH_OVDB_CONF): ovdb.conf
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATH_OVDB_CONF)$(CFG_EXT): ovdb.conf		; $(COPY_RPRI) $? $@
++$D$(PATH_PERL_STARTUP_INND): startup_innd.pl
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATH_PERL_STARTUP_INND)$(CFG_EXT): startup_innd.pl ; $(COPY_RPRI) $? =
$@
++$D$(PATH_PERL_FILTER_INND): filter_innd.pl
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATH_PERL_FILTER_INND)$(CFG_EXT): filter_innd.pl ; $(COPY_RPRI) $? $@
++$D$(PATH_PERL_FILTER_NNRPD): filter_nnrpd.pl
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATH_PERL_FILTER_NNRPD)$(CFG_EXT): filter_nnrpd.pl ; $(COPY_RPRI) $? =
$@
++$D$(PATH_PYTHON_FILTER_INND): filter_innd.py
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATH_PYTHON_FILTER_INND)$(CFG_EXT): filter_innd.py ; $(COPY_RPRI) $? =
$@
++$D$(PATH_PYTHON_INN_MODULE): INN.py
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATH_PYTHON_INN_MODULE)$(CFG_EXT): INN.py ;	$(COPY_RPRI) $? $@
++$D$(PATH_TCL_STARTUP): startup.tcl
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATH_TCL_STARTUP)$(CFG_EXT): startup.tcl	; $(COPY_RPRI) $? $@
++$D$(PATH_TCL_FILTER): filter.tcl
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATH_TCL_FILTER)$(CFG_EXT): filter.tcl	; $(COPY_RPRI) $? $@
++$D$(PATH_NNRPAUTH): nnrpd_auth.pl
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATH_NNRPAUTH)$(CFG_EXT): nnrpd_auth.pl       ; $(COPY_RPRI) $? $@
++$D$(PATH_NNRPYAUTH): nnrpd_auth.py
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATH_NNRPYAUTH)$(CFG_EXT): nnrpd_auth.py      ; $(COPY_RPRI) $? $@
++$D$(PATH_ACTSYNC_CFG): actsync.cfg
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATH_ACTSYNC_CFG)$(CFG_EXT): actsync.cfg	; $(COPY_RPRI) $? $@
++$D$(PATH_ACTSYNC_IGN): actsync.ign
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATH_ACTSYNC_IGN)$(CFG_EXT): actsync.ign	; $(COPY_RPRI) $? $@
++$D$(PATH_MOTD): motd.news
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATH_MOTD)$(CFG_EXT): motd.news		; $(COPY_RPRI) $? $@
++$D$(PATH_INNFEEDCTL): innfeed.conf
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATH_INNFEEDCTL)$(CFG_EXT): innfeed.conf	; $(COPY_RPRI) $? $@
++$D$(PATH_SASL_CONF):	sasl.conf
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPRI) $? $@; \
++	fi
++$D$(PATH_SASL_CONF)$(CFG_EXT):	sasl.conf	; $(COPY_RPRI) $? $@
++$D$(PATH_SUBSCRIPTIONS): subscriptions
++	@-if [ \( \! -f $@ \) ] || cmp -s $@ $@$(CFG_EXT); then \
++	  $(COPY_RPUB) $? $@; \
++	fi
++$D$(PATH_SUBSCRIPTIONS)$(CFG_EXT): subscriptions	; $(COPY_RPUB) $? $@
+=20
+ REASON	=3D 'Installing site config files from site/Makefile'
+ go pause:
diff -ruN inn.orig/pkg-plist inn/pkg-plist
--- inn.orig/pkg-plist	Tue Apr  1 16:07:07 2003
+++ inn/pkg-plist	Wed Apr  2 22:32:53 2003
@@ -12,23 +12,57 @@
 news/bin/buffchan
 news/bin/cnfsheadconf
 news/bin/cnfsstat
-news/bin/control/checkgroups
-news/bin/control/checkgroups.pl
-news/bin/control/default
-news/bin/control/ihave
-news/bin/control/ihave.pl
-news/bin/control/newgroup
-news/bin/control/newgroup.pl
-news/bin/control/rmgroup
-news/bin/control/rmgroup.pl
-news/bin/control/sendme
-news/bin/control/sendme.pl
-news/bin/control/sendsys
-news/bin/control/sendsys.pl
-news/bin/control/senduuname
-news/bin/control/senduuname.pl
-news/bin/control/version
-news/bin/control/version.pl
+@unexec if [ -f %D/news/bin/control/checkgroups ] && cmp -s %D/news/bin/co=
ntrol/checkgroups %D/news/bin/control/checkgroups.dist; then rm -f %D/news/=
bin/control/checkgroups; fi
+news/bin/control/checkgroups.dist
+@exec [ -f %B/checkgroups ] || cp -p %B/%f %B/checkgroups
+@unexec if [ -f %D/news/bin/control/checkgroups.pl ] && cmp -s %D/news/bin=
/control/checkgroups.pl %D/news/bin/control/checkgroups.pl.dist; then rm -f=
 %D/news/bin/control/checkgroups.pl; fi
+news/bin/control/checkgroups.pl.dist
+@exec [ -f %B/checkgroups.pl ] || cp -p %B/%f %B/checkgroups.pl
+@unexec if [ -f %D/news/bin/control/default ] && cmp -s %D/news/bin/contro=
l/default %D/news/bin/control/default.dist; then rm -f %D/news/bin/control/=
default; fi
+news/bin/control/default.dist
+@exec [ -f %B/default ] || cp -p %B/%f %B/default
+@unexec if [ -f %D/news/bin/control/ihave ] && cmp -s %D/news/bin/control/=
ihave %D/news/bin/control/ihave.dist; then rm -f %D/news/bin/control/ihave;=
 fi
+news/bin/control/ihave.dist
+@exec [ -f %B/ihave ] || cp -p %B/%f %B/ihave
+@unexec if [ -f %D/news/bin/control/ihave.pl ] && cmp -s %D/news/bin/contr=
ol/ihave.pl %D/news/bin/control/ihave.pl.dist; then rm -f %D/news/bin/contr=
ol/ihave.pl; fi
+news/bin/control/ihave.pl.dist
+@exec [ -f %B/ihave.pl ] || cp -p %B/%f %B/ihave.pl
+@unexec if [ -f %D/news/bin/control/newgroup ] && cmp -s %D/news/bin/contr=
ol/newgroup %D/news/bin/control/newgroup.dist; then rm -f %D/news/bin/contr=
ol/newgroup; fi
+news/bin/control/newgroup.dist
+@exec [ -f %B/newgroup ] || cp -p %B/%f %B/newgroup
+@unexec if [ -f %D/news/bin/control/newgroup.pl ] && cmp -s %D/news/bin/co=
ntrol/newgroup.pl %D/news/bin/control/newgroup.pl.dist; then rm -f %D/news/=
bin/control/newgroup.pl; fi
+news/bin/control/newgroup.pl.dist
+@exec [ -f %B/newgroup.pl ] || cp -p %B/%f %B/newgroup.pl
+@unexec if [ -f %D/news/bin/control/rmgroup ] && cmp -s %D/news/bin/contro=
l/rmgroup %D/news/bin/control/rmgroup.dist; then rm -f %D/news/bin/control/=
rmgroup; fi
+news/bin/control/rmgroup.dist
+@exec [ -f %B/rmgroup ] || cp -p %B/%f %B/rmgroup
+@unexec if [ -f %D/news/bin/control/rmgroup.pl ] && cmp -s %D/news/bin/con=
trol/rmgroup.pl %D/news/bin/control/rmgroup.pl.dist; then rm -f %D/news/bin=
/control/rmgroup.pl; fi
+news/bin/control/rmgroup.pl.dist
+@exec [ -f %B/rmgroup.pl ] || cp -p %B/%f %B/rmgroup.pl
+@unexec if [ -f %D/news/bin/control/sendme ] && cmp -s %D/news/bin/control=
/sendme %D/news/bin/control/sendme.dist; then rm -f %D/news/bin/control/sen=
dme; fi
+news/bin/control/sendme.dist
+@exec [ -f %B/sendme ] || cp -p %B/%f %B/sendme
+@unexec if [ -f %D/news/bin/control/sendme.pl ] && cmp -s %D/news/bin/cont=
rol/sendme.pl %D/news/bin/control/sendme.pl.dist; then rm -f %D/news/bin/co=
ntrol/sendme.pl; fi
+news/bin/control/sendme.pl.dist
+@exec [ -f %B/sendme.pl ] || cp -p %B/%f %B/sendme.pl
+@unexec if [ -f %D/news/bin/control/sendsys ] && cmp -s %D/news/bin/contro=
l/sendsys %D/news/bin/control/sendsys.dist; then rm -f %D/news/bin/control/=
sendsys; fi
+news/bin/control/sendsys.dist
+@exec [ -f %B/sendsys ] || cp -p %B/%f %B/sendsys
+@unexec if [ -f %D/news/bin/control/sendsys.pl ] && cmp -s %D/news/bin/con=
trol/sendsys.pl %D/news/bin/control/sendsys.pl.dist; then rm -f %D/news/bin=
/control/sendsys.pl; fi
+news/bin/control/sendsys.pl.dist
+@exec [ -f %B/sendsys.pl ] || cp -p %B/%f %B/sendsys.pl
+@unexec if [ -f %D/news/bin/control/senduuname ] && cmp -s %D/news/bin/con=
trol/senduuname %D/news/bin/control/senduuname.dist; then rm -f %D/news/bin=
/control/senduuname; fi
+news/bin/control/senduuname.dist
+@exec [ -f %B/senduuname ] || cp -p %B/%f %B/senduuname
+@unexec if [ -f %D/news/bin/control/senduuname.pl ] && cmp -s %D/news/bin/=
control/senduuname.pl %D/news/bin/control/senduuname.pl.dist; then rm -f %D=
/news/bin/control/senduuname.pl; fi
+news/bin/control/senduuname.pl.dist
+@exec [ -f %B/senduuname.pl ] || cp -p %B/%f %B/senduuname.pl
+@unexec if [ -f %D/news/bin/control/version ] && cmp -s %D/news/bin/contro=
l/version %D/news/bin/control/version.dist; then rm -f %D/news/bin/control/=
version; fi
+news/bin/control/version.dist
+@exec [ -f %B/version ] || cp -p %B/%f %B/version
+@unexec if [ -f %D/news/bin/control/version.pl ] && cmp -s %D/news/bin/con=
trol/version.pl %D/news/bin/control/version.pl.dist; then rm -f %D/news/bin=
/control/version.pl; fi
+news/bin/control/version.pl.dist
+@exec [ -f %B/version.pl ] || cp -p %B/%f %B/version.pl
 news/bin/controlbatch
 news/bin/controlchan
 news/bin/convdate
@@ -40,15 +74,33 @@
 news/bin/expirerm
 news/bin/fastrm
 news/bin/filechan
-news/bin/filter/INN.py
-news/bin/filter/filter.tcl
-news/bin/filter/filter_innd.pl
-news/bin/filter/filter_innd.py
-news/bin/filter/filter_nnrpd.pl
-news/bin/filter/nnrpd_auth.pl
-news/bin/filter/nnrpd_auth.py
-news/bin/filter/startup.tcl
-news/bin/filter/startup_innd.pl
+@unexec if [ -f %D/news/bin/filter/INN.py ] && cmp -s %D/news/bin/filter/I=
NN.py %D/news/bin/filter/INN.py.dist; then rm -f %D/news/bin/filter/INN.py;=
 fi
+news/bin/filter/INN.py.dist
+@exec [ -f %B/INN.py ] || cp -p %B/%f %B/INN.py
+@unexec if [ -f %D/news/bin/filter/filter.tcl ] && cmp -s %D/news/bin/filt=
er/filter.tcl %D/news/bin/filter/filter.tcl.dist; then rm -f %D/news/bin/fi=
lter/filter.tcl; fi
+news/bin/filter/filter.tcl.dist
+@exec [ -f %B/filter.tcl ] || cp -p %B/%f %B/filter.tcl
+@unexec if [ -f %D/news/bin/filter/filter_innd.pl ] && cmp -s %D/news/bin/=
filter/filter_innd.pl %D/news/bin/filter/filter_innd.pl.dist; then rm -f %D=
/news/bin/filter/filter_innd.pl; fi
+news/bin/filter/filter_innd.pl.dist
+@exec [ -f %B/filter_innd.pl ] || cp -p %B/%f %B/filter_innd.pl
+@unexec if [ -f %D/news/bin/filter/filter_innd.py ] && cmp -s %D/news/bin/=
filter/filter_innd.py %D/news/bin/filter/filter_innd.py.dist; then rm -f %D=
/news/bin/filter/filter_innd.py; fi
+news/bin/filter/filter_innd.py.dist
+@exec [ -f %B/filter_innd.py ] || cp -p %B/%f %B/filter_innd.py
+@unexec if [ -f %D/news/bin/filter/filter_nnrpd.pl ] && cmp -s %D/news/bin=
/filter/filter_nnrpd.pl %D/news/bin/filter/filter_nnrpd.pl.dist; then rm -f=
 %D/news/bin/filter/filter_nnrpd.pl; fi
+news/bin/filter/filter_nnrpd.pl.dist
+@exec [ -f %B/filter_nnrpd.pl ] || cp -p %B/%f %B/filter_nnrpd.pl
+@unexec if [ -f %D/news/bin/filter/nnrpd_auth.pl ] && cmp -s %D/news/bin/f=
ilter/nnrpd_auth.pl %D/news/bin/filter/nnrpd_auth.pl.dist; then rm -f %D/ne=
ws/bin/filter/nnrpd_auth.pl; fi
+news/bin/filter/nnrpd_auth.pl.dist
+@exec [ -f %B/nnrpd_auth.pl ] || cp -p %B/%f %B/nnrpd_auth.pl
+@unexec if [ -f %D/news/bin/filter/nnrpd_auth.py ] && cmp -s %D/news/bin/f=
ilter/nnrpd_auth.py %D/news/bin/filter/nnrpd_auth.py.dist; then rm -f %D/ne=
ws/bin/filter/nnrpd_auth.py; fi
+news/bin/filter/nnrpd_auth.py.dist
+@exec [ -f %B/nnrpd_auth.py ] || cp -p %B/%f %B/nnrpd_auth.py
+@unexec if [ -f %D/news/bin/filter/startup.tcl ] && cmp -s %D/news/bin/fil=
ter/startup.tcl %D/news/bin/filter/startup.tcl.dist; then rm -f %D/news/bin=
/filter/startup.tcl; fi
+news/bin/filter/startup.tcl.dist
+@exec [ -f %B/startup.tcl ] || cp -p %B/%f %B/startup.tcl
+@unexec if [ -f %D/news/bin/filter/startup_innd.pl ] && cmp -s %D/news/bin=
/filter/startup_innd.pl %D/news/bin/filter/startup_innd.pl.dist; then rm -f=
 %D/news/bin/filter/startup_innd.pl; fi
+news/bin/filter/startup_innd.pl.dist
+@exec [ -f %B/startup_innd.pl ] || cp -p %B/%f %B/startup_innd.pl
 news/bin/getlist
 news/bin/gpgverify
 news/bin/grephistory
@@ -78,7 +130,9 @@
 news/bin/ovdb_recover
 news/bin/ovdb_upgrade
 news/bin/overchan
-news/bin/parsecontrol
+@unexec if [ -f %D/news/bin/parsecontrol ] && cmp -s %D/news/bin/parsecont=
rol %D/news/bin/parsecontrol.dist; then rm -f %D/news/bin/parsecontrol; fi
+news/bin/parsecontrol.dist
+@exec [ -f %B/parsecontrol ] || cp -p %B/%f %B/parsecontrol
 news/bin/pgpverify
 news/bin/procbatch
 news/bin/prunehistory
@@ -104,46 +158,106 @@
 news/bin/startinnfeed
 news/bin/tally.control
 news/bin/writelog
-news/db/active
-news/db/active.times
+@unexec if [ -f %D/news/db/active ] && cmp -s %D/news/db/active %D/news/db=
/active.dist; then rm -f %D/news/db/active; fi
+news/db/active.dist
+@exec [ -f %B/active ] || cp -p %B/%f %B/active
+@unexec if [ -f %D/news/db/active.times ] && cmp -s %D/news/db/active.time=
s %D/news/db/active.times.dist; then rm -f %D/news/db/active.times; fi
+news/db/active.times.dist
+@exec [ -f %B/active.times ] || cp -p %B/%f %B/active.times
 news/db/history
 news/db/history.dir
 news/db/history.hash
 news/db/history.index
-news/db/newsgroups
-news/etc/actsync.cfg
-news/etc/actsync.ign
-news/etc/buffindexed.conf
-news/etc/control.ctl
-news/etc/cycbuff.conf
-news/etc/distrib.pats
-news/etc/expire.ctl
-news/etc/incoming.conf
-news/etc/inn.conf
-news/etc/innfeed.conf
-news/etc/innreport.conf
-news/etc/innwatch.ctl
-news/etc/moderators
-news/etc/motd.news
-news/etc/news2mail.cf
-news/etc/newsfeeds
-news/etc/nnrpd.track
-news/etc/nntpsend.ctl
-news/etc/ovdb.conf
-news/etc/overview.fmt
-news/etc/passwd.nntp
-news/etc/radius.conf
-news/etc/readers.conf
-news/etc/sasl.conf
-news/etc/storage.conf
-news/etc/subscriptions
+@unexec if [ -f %D/news/db/newsgroups ] && cmp -s %D/news/db/newsgroups %D=
/news/db/newsgroups.dist; then rm -f %D/news/db/newsgroups; fi
+news/db/newsgroups.dist
+@exec [ -f %B/newsgroups ] || cp -p %B/%f %B/newsgroups
+@unexec if [ -f %D/news/etc/actsync.cfg ] && cmp -s %D/news/etc/actsync.cf=
g %D/news/etc/actsync.cfg.dist; then rm -f %D/news/etc/actsync.cfg; fi
+news/etc/actsync.cfg.dist
+@exec [ -f %B/actsync.cfg ] || cp -p %B/%f %B/actsync.cfg
+@unexec if [ -f %D/news/etc/actsync.ign ] && cmp -s %D/news/etc/actsync.ig=
n %D/news/etc/actsync.ign.dist; then rm -f %D/news/etc/actsync.ign; fi
+news/etc/actsync.ign.dist
+@exec [ -f %B/actsync.ign ] || cp -p %B/%f %B/actsync.ign
+@unexec if [ -f %D/news/etc/buffindexed.conf ] && cmp -s %D/news/etc/buffi=
ndexed.conf %D/news/etc/buffindexed.conf.dist; then rm -f %D/news/etc/buffi=
ndexed.conf; fi
+news/etc/buffindexed.conf.dist
+@exec [ -f %B/buffindexed.conf ] || cp -p %B/%f %B/buffindexed.conf
+@unexec if [ -f %D/news/etc/control.ctl ] && cmp -s %D/news/etc/control.ct=
l %D/news/etc/control.ctl.dist; then rm -f %D/news/etc/control.ctl; fi
+news/etc/control.ctl.dist
+@exec [ -f %B/control.ctl ] || cp -p %B/%f %B/control.ctl
+@unexec if [ -f %D/news/etc/cycbuff.conf ] && cmp -s %D/news/etc/cycbuff.c=
onf %D/news/etc/cycbuff.conf.dist; then rm -f %D/news/etc/cycbuff.conf; fi
+news/etc/cycbuff.conf.dist
+@exec [ -f %B/cycbuff.conf ] || cp -p %B/%f %B/cycbuff.conf
+@unexec if [ -f %D/news/etc/distrib.pats ] && cmp -s %D/news/etc/distrib.p=
ats %D/news/etc/distrib.pats.dist; then rm -f %D/news/etc/distrib.pats; fi
+news/etc/distrib.pats.dist
+@exec [ -f %B/distrib.pats ] || cp -p %B/%f %B/distrib.pats
+@unexec if [ -f %D/news/etc/expire.ctl ] && cmp -s %D/news/etc/expire.ctl =
%D/news/etc/expire.ctl.dist; then rm -f %D/news/etc/expire.ctl; fi
+news/etc/expire.ctl.dist
+@exec [ -f %B/expire.ctl ] || cp -p %B/%f %B/expire.ctl
+@unexec if [ -f %D/news/etc/incoming.conf ] && cmp -s %D/news/etc/incoming=
.conf %D/news/etc/incoming.conf.dist; then rm -f %D/news/etc/incoming.conf;=
 fi
+news/etc/incoming.conf.dist
+@exec [ -f %B/incoming.conf ] || cp -p %B/%f %B/incoming.conf
+@unexec if [ -f %D/news/etc/inn.conf ] && cmp -s %D/news/etc/inn.conf %D/n=
ews/etc/inn.conf.dist; then rm -f %D/news/etc/inn.conf; fi
+news/etc/inn.conf.dist
+@exec [ -f %B/inn.conf ] || cp -p %B/%f %B/inn.conf
+@unexec if [ -f %D/news/etc/innfeed.conf ] && cmp -s %D/news/etc/innfeed.c=
onf %D/news/etc/innfeed.conf.dist; then rm -f %D/news/etc/innfeed.conf; fi
+news/etc/innfeed.conf.dist
+@exec [ -f %B/innfeed.conf ] || cp -p %B/%f %B/innfeed.conf
+@unexec if [ -f %D/news/etc/innreport.conf ] && cmp -s %D/news/etc/innrepo=
rt.conf %D/news/etc/innreport.conf.dist; then rm -f %D/news/etc/innreport.c=
onf; fi
+news/etc/innreport.conf.dist
+@exec [ -f %B/innreport.conf ] || cp -p %B/%f %B/innreport.conf
+@unexec if [ -f %D/news/etc/innwatch.ctl ] && cmp -s %D/news/etc/innwatch.=
ctl %D/news/etc/innwatch.ctl.dist; then rm -f %D/news/etc/innwatch.ctl; fi
+news/etc/innwatch.ctl.dist
+@exec [ -f %B/innwatch.ctl ] || cp -p %B/%f %B/innwatch.ctl
+@unexec if [ -f %D/news/etc/moderators ] && cmp -s %D/news/etc/moderators =
%D/news/etc/moderators.dist; then rm -f %D/news/etc/moderators; fi
+news/etc/moderators.dist
+@exec [ -f %B/moderators ] || cp -p %B/%f %B/moderators
+@unexec if [ -f %D/news/etc/motd.news ] && cmp -s %D/news/etc/motd.news %D=
/news/etc/motd.news.dist; then rm -f %D/news/etc/motd.news; fi
+news/etc/motd.news.dist
+@exec [ -f %B/motd.news ] || cp -p %B/%f %B/motd.news
+@unexec if [ -f %D/news/etc/news2mail.cf ] && cmp -s %D/news/etc/news2mail=
.cf %D/news/etc/news2mail.cf.dist; then rm -f %D/news/etc/news2mail.cf; fi
+news/etc/news2mail.cf.dist
+@exec [ -f %B/news2mail.cf ] || cp -p %B/%f %B/news2mail.cf
+@unexec if [ -f %D/news/etc/newsfeeds ] && cmp -s %D/news/etc/newsfeeds %D=
/news/etc/newsfeeds.dist; then rm -f %D/news/etc/newsfeeds; fi
+news/etc/newsfeeds.dist
+@exec [ -f %B/newsfeeds ] || cp -p %B/%f %B/newsfeeds
+@unexec if [ -f %D/news/etc/nnrpd.track ] && cmp -s %D/news/etc/nnrpd.trac=
k %D/news/etc/nnrpd.track.dist; then rm -f %D/news/etc/nnrpd.track; fi
+news/etc/nnrpd.track.dist
+@exec [ -f %B/nnrpd.track ] || cp -p %B/%f %B/nnrpd.track
+@unexec if [ -f %D/news/etc/nntpsend.ctl ] && cmp -s %D/news/etc/nntpsend.=
ctl %D/news/etc/nntpsend.ctl.dist; then rm -f %D/news/etc/nntpsend.ctl; fi
+news/etc/nntpsend.ctl.dist
+@exec [ -f %B/nntpsend.ctl ] || cp -p %B/%f %B/nntpsend.ctl
+@unexec if [ -f %D/news/etc/ovdb.conf ] && cmp -s %D/news/etc/ovdb.conf %D=
/news/etc/ovdb.conf.dist; then rm -f %D/news/etc/ovdb.conf; fi
+news/etc/ovdb.conf.dist
+@exec [ -f %B/ovdb.conf ] || cp -p %B/%f %B/ovdb.conf
+@unexec if [ -f %D/news/etc/overview.fmt ] && cmp -s %D/news/etc/overview.=
fmt %D/news/etc/overview.fmt.dist; then rm -f %D/news/etc/overview.fmt; fi
+news/etc/overview.fmt.dist
+@exec [ -f %B/overview.fmt ] || cp -p %B/%f %B/overview.fmt
+@unexec if [ -f %D/news/etc/passwd.nntp ] && cmp -s %D/news/etc/passwd.nnt=
p %D/news/etc/passwd.nntp.dist; then rm -f %D/news/etc/passwd.nntp; fi
+news/etc/passwd.nntp.dist
+@exec [ -f %B/passwd.nntp ] || cp -p %B/%f %B/passwd.nntp
+@unexec if [ -f %D/news/etc/radius.conf ] && cmp -s %D/news/etc/radius.con=
f %D/news/etc/radius.conf.dist; then rm -f %D/news/etc/radius.conf; fi
+news/etc/radius.conf.dist
+@exec [ -f %B/radius.conf ] || cp -p %B/%f %B/radius.conf
+@unexec if [ -f %D/news/etc/readers.conf ] && cmp -s %D/news/etc/readers.c=
onf %D/news/etc/readers.conf.dist; then rm -f %D/news/etc/readers.conf; fi
+news/etc/readers.conf.dist
+@exec [ -f %B/readers.conf ] || cp -p %B/%f %B/readers.conf
+@unexec if [ -f %D/news/etc/sasl.conf ] && cmp -s %D/news/etc/sasl.conf %D=
/news/etc/sasl.conf.dist; then rm -f %D/news/etc/sasl.conf; fi
+news/etc/sasl.conf.dist
+@exec [ -f %B/sasl.conf ] || cp -p %B/%f %B/sasl.conf
+@unexec if [ -f %D/news/etc/storage.conf ] && cmp -s %D/news/etc/storage.c=
onf %D/news/etc/storage.conf.dist; then rm -f %D/news/etc/storage.conf; fi
+news/etc/storage.conf.dist
+@exec [ -f %B/storage.conf ] || cp -p %B/%f %B/storage.conf
+@unexec if [ -f %D/news/etc/subscriptions ] && cmp -s %D/news/etc/subscrip=
tions %D/news/etc/subscriptions.dist; then rm -f %D/news/etc/subscriptions;=
 fi
+news/etc/subscriptions.dist
+@exec [ -f %B/subscriptions ] || cp -p %B/%f %B/subscriptions
 news/include/clibrary.h
 news/include/config.h
 news/include/configdata.h
 news/include/dbz.h
 news/include/libinn.h
 news/include/storage.h
-news/lib/docheckgroups
+@unexec if [ -f %D/news/lib/docheckgroups ] && cmp -s %D/news/lib/docheckg=
roups %D/news/lib/docheckgroups.dist; then rm -f %D/news/lib/docheckgroups;=
 fi
+news/lib/docheckgroups.dist
+@exec [ -f %B/docheckgroups ] || cp -p %B/%f %B/docheckgroups
 news/lib/innreport_inn.pm
 news/lib/innshellvars
 news/lib/innshellvars.pl

--WYTEVAkct0FjGQmd--

--O3RTKUHj+75w1tg5
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (FreeBSD)

iD8DBQE+i1kIfIqKXSsJ/xERArycAJ4scvJIJTXSz13aFxqF0/MhmTCxDACcC6YA
lmXhiAVBcqCZYJe6NDk+XsI=
=0hwA
-----END PGP SIGNATURE-----

--O3RTKUHj+75w1tg5--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030402214128.GA2140>