Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Apr 2026 02:26:49 +0000
From:      Kevin Bowling <kbowling@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: f1872dba837b - main - news/inn{-current}: Modernize the port
Message-ID:  <69f16c69.3eb37.57255bcc@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by kbowling:

URL: https://cgit.FreeBSD.org/ports/commit/?id=f1872dba837b432433900bdf1da926c172922afe

commit f1872dba837b432433900bdf1da926c172922afe
Author:     Kevin Bowling <kbowling@FreeBSD.org>
AuthorDate: 2026-04-28 21:18:25 +0000
Commit:     Kevin Bowling <kbowling@FreeBSD.org>
CommitDate: 2026-04-29 02:26:36 +0000

    news/inn{-current}: Modernize the port
    
    Update to modern ports practices while retaining same functionality.
    
    - Option helpers
    - GNU_CONFIGURE with overrides for existing filesystem layout
    - USES gssapi for krb5, clean up ac_cv_ hacks
    - Fix setuid for SETGID_INEWS and UUCP_RNEWS
    - Add newer config files as @sample: inn-radius.conf, inn-secrets.conf
    - Install all filter scripts as @sample
    - Remove ex script and install empty history as @sample
    - Use find to run bin/.so strip list instead of manual list
    - Clean up inn-current slave port
    - portclippy
---
 news/inn-current/Makefile     |  20 ++-
 news/inn-current/pkg-plist    |  34 ++---
 news/inn/Makefile             | 296 ++++++++++++++++++------------------------
 news/inn/files/pkg-install.in | 110 +++-------------
 news/inn/pkg-plist            |  34 ++---
 5 files changed, 193 insertions(+), 301 deletions(-)

diff --git a/news/inn-current/Makefile b/news/inn-current/Makefile
index 8277148a6dd0..33c032aa7999 100644
--- a/news/inn-current/Makefile
+++ b/news/inn-current/Makefile
@@ -1,24 +1,22 @@
-PORTNAME=		inn-current
-PORTVERSION=		${SNAPSHOT}
-PORTREVISION=		0
+PORTNAME=	inn-current
+PORTVERSION=	${SNAPSHOT}
+PORTREVISION=	1
 MASTER_SITE_SUBDIR=	inn/snapshots
-DISTNAME=		inn-${BRANCH}-${SNAPSHOT}
+DISTNAME=	inn-${BRANCH}-${SNAPSHOT}
 
 BRANCH=		2.8
 SNAPSHOT=	20260121
 
 CONFLICTS=	inn-2.[0-9]*
 
-DISTINFO_FILE=	${.CURDIR}/distinfo
-FILESDIR=	${.CURDIR}/../inn/files
-PATCHDIR=	${.CURDIR}/../inn/files
-PLIST=		${.CURDIR}/pkg-plist
-WRKSRC=		${WRKDIR}/${DISTNAME}
-
 CPE_PRODUCT=	inn
 
 INNLIB_LONG=		9.0.2
 LIBVER_LONG=		3.0.9
 LIBSTORAGEVER_LONG=	3.1.3
 
-.include "${.CURDIR}/../inn/Makefile"
+MASTERDIR=	${.CURDIR}/../inn
+PKGDIR=		${.CURDIR}
+DISTINFO_FILE=	${.CURDIR}/distinfo
+
+.include "${MASTERDIR}/Makefile"
diff --git a/news/inn-current/pkg-plist b/news/inn-current/pkg-plist
index 7991c26c826f..c08382a90d97 100644
--- a/news/inn-current/pkg-plist
+++ b/news/inn-current/pkg-plist
@@ -33,16 +33,16 @@ bin/expireover
 bin/expirerm
 bin/fastrm
 bin/filter/INN.py
-bin/filter/filter_innd.pl
-bin/filter/filter_innd.py
-bin/filter/filter_nnrpd.pl
 bin/filter/nnrpd.py
-bin/filter/nnrpd_access.pl
-bin/filter/nnrpd_access.py
-bin/filter/nnrpd_auth.pl
-bin/filter/nnrpd_auth.py
-bin/filter/nnrpd_dynamic.py
-bin/filter/startup_innd.pl
+@sample %%NEWSBASE%%/bin/filter/filter_innd.pl.sample
+@sample %%NEWSBASE%%/bin/filter/filter_innd.py.sample
+@sample %%NEWSBASE%%/bin/filter/filter_nnrpd.pl.sample
+@sample %%NEWSBASE%%/bin/filter/nnrpd_access.pl.sample
+@sample %%NEWSBASE%%/bin/filter/nnrpd_access.py.sample
+@sample %%NEWSBASE%%/bin/filter/nnrpd_auth.pl.sample
+@sample %%NEWSBASE%%/bin/filter/nnrpd_auth.py.sample
+@sample %%NEWSBASE%%/bin/filter/nnrpd_dynamic.py.sample
+@sample %%NEWSBASE%%/bin/filter/startup_innd.pl.sample
 bin/gencancel
 bin/getlist
 bin/grephistory
@@ -84,7 +84,8 @@ bin/procbatch
 bin/prunehistory
 bin/pullnews
 bin/rc.news
-@(,uucp,4550) bin/rnews
+%%UUCP_RNEWS%%@(,uucp,4550) bin/rnews
+%%NO_UUCP_RNEWS%%bin/rnews
 bin/rnews.libexec/c7unbatch
 bin/rnews.libexec/decode
 bin/rnews.libexec/encode
@@ -353,14 +354,13 @@ share/man/man8/writelog.8.gz
 @comment --------------------------------------------------------------
 @sample %%DBDIR%%/active.sample
 @sample %%DBDIR%%/active.times.sample
+@sample %%DBDIR%%/history.sample
 @sample %%DBDIR%%/newsgroups.sample
 @comment --------------------------------------------------------------
-%%WITHOUT_TAGGED_HASH%%@postunexec f=history.hash;  if cmp -s %%DBDIR%%/$f %%EXAMPLESDIR%%/db/$f; then rm -f %%DBDIR%%/$f; fi
-%%WITHOUT_TAGGED_HASH%%@postunexec f=history.index; if cmp -s %%DBDIR%%/$f %%EXAMPLESDIR%%/db/$f; then rm -f %%DBDIR%%/$f; fi
-%%WITHOUT_TAGGED_HASH%%@postunexec rm -f %%EXAMPLESDIR%%/db/history.hash  2> /dev/null || true
-%%WITHOUT_TAGGED_HASH%%@postunexec rm -f %%EXAMPLESDIR%%/db/history.index 2> /dev/null || true
-%%WITH_TAGGED_HASH%%@postunexec f=history.pag; if cmp -s %%DBDIR%%/$f %%EXAMPLESDIR%%/db/$f; then rm -f %%DBDIR%%/$f; fi
-%%WITH_TAGGED_HASH%%@postunexec rm -f %%EXAMPLESDIR%%/db/history.pag 2> /dev/null || true
+@sample %%DBDIR%%/history.dir.sample
+%%WITHOUT_TAGGED_HASH%%@sample %%DBDIR%%/history.hash.sample
+%%WITHOUT_TAGGED_HASH%%@sample %%DBDIR%%/history.index.sample
+%%WITH_TAGGED_HASH%%@sample %%DBDIR%%/history.pag.sample
 @sample %%CONFDIR%%/actsync.cfg.sample
 @sample %%CONFDIR%%/actsync.ign.sample
 @sample %%CONFDIR%%/buffindexed.conf.sample
@@ -371,6 +371,8 @@ share/man/man8/writelog.8.gz
 @sample %%CONFDIR%%/distributions.sample
 @sample %%CONFDIR%%/expire.ctl.sample
 @sample %%CONFDIR%%/incoming.conf.sample
+@sample %%CONFDIR%%/inn-radius.conf.sample
+@sample %%CONFDIR%%/inn-secrets.conf.sample
 @sample %%CONFDIR%%/inn.conf.sample
 @sample %%CONFDIR%%/innfeed.conf.sample
 @sample %%CONFDIR%%/innreport.conf.sample
diff --git a/news/inn/Makefile b/news/inn/Makefile
index c652b143d689..d24e813380ad 100644
--- a/news/inn/Makefile
+++ b/news/inn/Makefile
@@ -1,221 +1,171 @@
-PORTNAME?=		inn
-PORTVERSION?=		2.7.3
-PORTREVISION?=		0
-CATEGORIES=		news
-MASTER_SITES=		ISC
+PORTNAME?=	inn
+PORTVERSION?=	2.7.3
+PORTREVISION?=	1
+CATEGORIES=	news
+MASTER_SITES=	ISC
 MASTER_SITE_SUBDIR?=	${PORTNAME}
 
 MAINTAINER=	kbowling@FreeBSD.org
 COMMENT=	InterNetNews -- the Internet meets Netnews
 WWW=		https://www.eyrie.org/~eagle/software/inn/
 
+LICENSE=	GPLv2 ISCL
+LICENSE_COMB=	multi
+LICENSE_FILE_ISCL=	${WRKSRC}/LICENSE
+
 BUILD_DEPENDS=	p5-GD>=0:graphics/p5-GD \
 		p5-MIME-Tools>=0:mail/p5-MIME-Tools
 
 RUN_DEPENDS:=	${BUILD_DEPENDS}
 
-USE_RC_SUBR=	innd
-SUB_FILES=	pkg-install
-
 USES=		cpe gmake libtool perl5 uidfix
 CPE_VENDOR=	isc
+USE_RC_SUBR=	innd
 
-CONFLICTS?=	inn-current
-
-OPTIONS_DEFINE=		BERKELEYDB BLACKLISTD GNUPG KERBEROS PYTHON SASL \
-			SQLITE KEYWORDS LARGE_FILES OPENSSL SETGID_INEWS \
-			TAGGED_HASH UUCP_RNEWS DOCS EXAMPLES
-OPTIONS_DEFAULT=	BERKELEYDB BLACKLISTD GNUPG PYTHON SQLITE KEYWORDS \
-			OPENSSL LARGE_FILES SETGID_INEWS UUCP_RNEWS
-OPTIONS_SUB=		yes
-
-KERBEROS_DESC=		Enable Kerberos v5 (for auth_krb5)
-PYTHON_DESC=		Enable support for embedded Python
-SASL_DESC=		Enable SASL (for imapfeed authentication)
-SQLITE_DESC=		Enable SQLite (for ovsqlite overview method)
-TAGGED_HASH_DESC=	Use tagged hash table for history
-LARGE_FILES_DESC=	Support for files larger than 2GB
-KEYWORDS_DESC=		Automatic keyword generation support
-BERKELEYDB_DESC=	Enable BerkeleyDB (for ovdb overview method)
-BLACKLISTD_DESC=	Enable blacklistd support
-OPENSSL_DESC=		Enable OpenSSL (for NNTP over TLS/SSL support)
-GNUPG_DESC=		GnuPG support (for pgpverify control message)
-UUCP_RNEWS_DESC=	Install rnews suitable for use with net/freebsd-uucp
-SETGID_INEWS_DESC=	Enable posting articles locally for all users
-
-BLACKLISTD_CONFIGURE_WITH=	blacklist
-
-.if ${BRANCH:U} == 2.8
-PLIST_SUB+=		SNAPSHOT=""
-.else
-PLIST_SUB+=		SNAPSHOT="@comment "
-.endif
-
+.ifnmake portclippy
 VARBASE?=	/var
+.endif
 
 .include "Makefile.layout"
 
-HAS_CONFIGURE=		yes
+GNU_CONFIGURE=		yes
+GNU_CONFIGURE_PREFIX=	${INN_NEWSBASE}
+# Point to base system mailwrapper to avoid configure failure in jails
+CONFIGURE_ARGS+=	--datarootdir=${INN_SHAREDIR} \
+			--sysconfdir=${INN_CONFDIR} \
+			--with-db-dir=${INN_DBDIR} \
+			--with-log-dir=${INN_LOGDIR} \
+			--with-perl \
+			--with-run-dir=${INN_RUNDIR} \
+			--with-sendmail=/usr/sbin/sendmail \
+			--with-spool-dir=${INN_NEWSSPOOL} \
+			--with-tmp-dir=${INN_TMPDIR}
 CONFIGURE_ENV+=		LOCALBASE=${LOCALBASE}
 CONFIGURE_ENV+=		ac_cv_prog_AWK="${AWK}"
-CONFIGURE_ARGS+=	--mandir=${PREFIX}/share/man		\
-			--prefix=${INN_NEWSBASE}		\
-			--with-spool-dir=${INN_NEWSSPOOL}	\
-			--with-log-dir=${INN_LOGDIR}		\
-			--with-tmp-dir=${INN_TMPDIR}		\
-			--sysconfdir=${INN_CONFDIR}		\
-			--with-run-dir=${INN_RUNDIR}		\
-			--with-db-dir=${INN_DBDIR}		\
-			--datarootdir=${INN_SHAREDIR}		\
-			--with-perl
-
-UUCP_RNEWS_RUN_DEPENDS=	uucp:net/freebsd-uucp
+
+CONFLICTS?=	inn-current
+
+SUB_FILES=	pkg-install
+SUB_LIST+=	EGDIR="${EXAMPLESDIR:C,^${PREFIX},\\$\\${PREFIX},}"
 
 INNLIB_LONG?=		9.0.2
 LIBVER_LONG?=		3.0.9
 LIBSTORAGEVER_LONG?=	3.1.3
-PLIST_SUB+=		LIBVER=${LIBVER_LONG:R:R} LIBVER_LONG=${LIBVER_LONG} \
-			INNLIB=${INNLIB_LONG:R:R} INNLIB_LONG=${INNLIB_LONG} \
-			LIBSTORAGEVER=${LIBSTORAGEVER_LONG:R:R} LIBSTORAGEVER_LONG=${LIBSTORAGEVER_LONG}
 
-.include <bsd.port.options.mk>
-
-.if ${PORT_OPTIONS:MSQLITE}
-USES+=			sqlite
-CONFIGURE_ARGS+=	--with-sqlite3=${LOCALBASE}
-PLIST_SUB+=		SQLITE=""
+CONFIG_FILES+=	actsync.cfg actsync.ign buffindexed.conf control.ctl \
+		control.ctl.local cycbuff.conf distrib.pats distributions \
+		expire.ctl inn-radius.conf inn-secrets.conf incoming.conf \
+		inn.conf innfeed.conf innreport.conf innshellvars.local \
+		innshellvars.pl.local innshellvars.tcl.local innwatch.ctl \
+		localgroups moderators news2mail.cf newsfeeds nocem.ctl \
+		nnrpd.track nntpsend.ctl ovdb.conf passwd.nntp readers.conf \
+		send-uucp.cf storage.conf subscriptions
 
-TO_BE_STRIPPED+=	bin/ovsqlite-server
-CONFIG_FILES+=		ovsqlite.conf
+.if ${BRANCH:U} == 2.8
+PLIST_SUB+=	SNAPSHOT=""
 .else
-CONFIGURE_ARGS+=	--without-sqlite3
-PLIST_SUB+=		SQLITE="@comment "
+PLIST_SUB+=	SNAPSHOT="@comment "
 .endif
+PLIST_SUB+=	ETCFILES="${CONFIG_FILES}" \
+		INNLIB=${INNLIB_LONG:R:R} \
+		INNLIB_LONG=${INNLIB_LONG} \
+		LIBSTORAGEVER=${LIBSTORAGEVER_LONG:R:R} \
+		LIBSTORAGEVER_LONG=${LIBSTORAGEVER_LONG} \
+		LIBVER=${LIBVER_LONG:R:R} \
+		LIBVER_LONG=${LIBVER_LONG}
+PORTDOCS=	CONTRIBUTORS HACKING INSTALL LICENSE MANIFEST NEWS README TODO
 
-.if ${PORT_OPTIONS:MBERKELEYDB}
-USES+=			bdb
-CONFIGURE_ARGS+=	--with-bdb=${LOCALBASE} \
-			--with-bdb-lib=${LOCALBASE}/lib \
-			--with-bdb-include=${BDB_INCLUDE_DIR}
-.endif
+OPTIONS_DEFINE=		BERKELEYDB BLACKLISTD DOCS EXAMPLES GNUPG KERBEROS \
+			KEYWORDS LARGE_FILES OPENSSL PYTHON SASL SETGID_INEWS \
+			SQLITE TAGGED_HASH UUCP_RNEWS
+OPTIONS_DEFAULT=	BERKELEYDB BLACKLISTD GNUPG KEYWORDS LARGE_FILES \
+			OPENSSL PYTHON SETGID_INEWS SQLITE UUCP_RNEWS
+OPTIONS_SUB=		yes
 
-.if ${PORT_OPTIONS:MKERBEROS}
-.    if exists(${LOCALBASE}/bin/krb5-config)
-LIB_DEPENDS+=		libgssapi_krb5.so:security/krb5
-CONFIGURE_ARGS+=	--with-krb5=${LOCALBASE}
-.    else
-CONFIGURE_ARGS+=	--with-krb5=/usr
-.    endif
-CONFIGURE_ENV+=		ac_cv_search_krb5_parse_name="-lcrypt -lcrypto -lkrb5 -lasn1 -lroken -lhx509"
-CONFIGURE_ENV+=		ac_cv_func_krb5_init_ets=yes
-.else
-CONFIGURE_ARGS+=	--without-krb5
-.endif
+BERKELEYDB_DESC=	Enable BerkeleyDB (for ovdb overview method)
+BLACKLISTD_DESC=	Enable blacklistd support
+GNUPG_DESC=		GnuPG support (for pgpverify control message)
+KERBEROS_DESC=		Enable Kerberos v5 (for auth_krb5)
+KEYWORDS_DESC=		Automatic keyword generation support
+LARGE_FILES_DESC=	Support for files larger than 2GB
+OPENSSL_DESC=		Enable OpenSSL (for NNTP over TLS/SSL support)
+PYTHON_DESC=		Enable support for embedded Python
+SASL_DESC=		Enable SASL (for imapfeed authentication)
+SETGID_INEWS_DESC=	Enable posting articles locally for all users
+SQLITE_DESC=		Enable SQLite (for ovsqlite overview method)
+TAGGED_HASH_DESC=	Use tagged hash table for history
+UUCP_RNEWS_DESC=	Install rnews suitable for use with net/freebsd-uucp
 
-.if ${PORT_OPTIONS:MKEYWORDS}
-CONFIGURE_ARGS+=	--enable-keywords
-.endif
+BERKELEYDB_USES=		bdb
+BERKELEYDB_CONFIGURE_ON=	--with-bdb-include=${BDB_INCLUDE_DIR} \
+				--with-bdb-lib=${LOCALBASE}/lib \
+				--with-bdb=${LOCALBASE}
 
-.if ${PORT_OPTIONS:MLARGE_FILES}
-CONFIGURE_ARGS+=	--enable-largefiles
-.    if ${PORT_OPTIONS:MTAGGED_HASH}
-IGNORE=			cannot be compiled with both LARGE_FILES and TAGGED_HASH: please re-run make config
-.    endif
-.endif
+BLACKLISTD_CONFIGURE_WITH=	blacklist
 
-.if ${PORT_OPTIONS:MPYTHON}
-USES+=			python
-CONFIGURE_ARGS+=	--with-python
-.endif
+# Although pgpverify needs gpgv/gpgv2,
+# checking 'gpg' is the shortest way to check any version of GnuPG installed.
+GNUPG_BUILD_DEPENDS=	gpg:security/gnupg
+GNUPG_RUN_DEPENDS=	gpg:security/gnupg
 
-.if ${PORT_OPTIONS:MSASL}
-CONFIGURE_ARGS+=	--with-sasl=${LOCALBASE}
-LIB_DEPENDS+=		libsasl2.so:security/cyrus-sasl2
-.endif
+KERBEROS_USES=		gssapi
+KERBEROS_CONFIGURE_ON=	--with-krb5=${GSSAPIBASEDIR}
+KERBEROS_CONFIGURE_OFF=	--without-krb5
 
-.if ${PORT_OPTIONS:MTAGGED_HASH}
-CONFIGURE_ARGS+=	--enable-tagged-hash
-DBZ_FILES=		dir pag
-PLIST_SUB+=		WITH_TAGGED_HASH=""
-PLIST_SUB+=		WITHOUT_TAGGED_HASH="@comment "
-.else
-DBZ_FILES=		dir hash index
-PLIST_SUB+=		WITH_TAGGED_HASH="@comment "
-PLIST_SUB+=		WITHOUT_TAGGED_HASH=""
-.endif
-SUB_LIST+=		DBZ_FILES="${DBZ_FILES}"
+KEYWORDS_CONFIGURE_ENABLE=	keywords
 
-.if ${PORT_OPTIONS:MOPENSSL}
-USES+=		ssl
-CONFIGURE_ARGS+=	--with-openssl=${OPENSSLBASE}
-.endif
+LARGE_FILES_PREVENTS=		TAGGED_HASH
+LARGE_FILES_PREVENTS_MSG=	cannot be compiled with both LARGE_FILES and \
+				TAGGED_HASH
+LARGE_FILES_CONFIGURE_ENABLE=	largefiles
 
-.if ${PORT_OPTIONS:MGNUPG}
-# Although pgpverify needs gpgv/gpgv2,
-# checking 'gpg' is the shortest way to check any version of GnuPG installed.
-BUILD_DEPENDS+=		gpg:security/gnupg
-RUN_DEPENDS+=		gpg:security/gnupg
-.endif
+OPENSSL_USES=		ssl
+OPENSSL_CONFIGURE_ON=	--with-openssl=${OPENSSLBASE}
 
-.if ${PORT_OPTIONS:MSETGID_INEWS}
-PLIST_SUB+=		MODE_INEWS="2555"
-.else
-PLIST_SUB+=		MODE_INEWS=""
-.endif
-PORTDOCS=	CONTRIBUTORS HACKING INSTALL LICENSE MANIFEST NEWS README TODO
+PYTHON_USES=		gettext-runtime python
+PYTHON_CONFIGURE_ON=	--with-python
 
-TO_BE_STRIPPED+=	bin/actsync bin/archive bin/auth/passwd/auth_krb5 \
-	bin/auth/passwd/ckpasswd bin/auth/passwd/radius bin/auth/resolv/domain \
-	bin/auth/resolv/ident bin/batcher bin/buffchan bin/buffindexed_d \
-	bin/convdate bin/ctlinnd bin/cvtbatch bin/expire bin/expireover \
-	bin/fastrm bin/filechan bin/getlist bin/grephistory bin/imapfeed \
-	bin/inews bin/innbind bin/innconfval bin/innd bin/inndf bin/innfeed \
-	bin/innxbatch bin/innxmit bin/makedbz bin/makehistory bin/ninpaths \
-	bin/nnrpd bin/nntpget bin/ovdb_init bin/ovdb_monitor bin/ovdb_server \
-	bin/ovdb_stat bin/overchan bin/prunehistory bin/rnews \
-	bin/rnews.libexec/decode bin/rnews.libexec/encode bin/shlock \
-	bin/shrinkfile bin/sm bin/tdx-util bin/tinyleaf \
-	lib/libinn.so.${INNLIB_LONG} lib/libinnhist.so.${LIBVER_LONG} \
-	lib/libstorage.so.${LIBSTORAGEVER_LONG}
+SASL_LIB_DEPENDS=	libsasl2.so:security/cyrus-sasl2
+SASL_CONFIGURE_ON=	--with-sasl=${LOCALBASE}
 
-CONFIG_FILES+=	actsync.cfg actsync.ign buffindexed.conf control.ctl \
-	control.ctl.local cycbuff.conf distrib.pats distributions expire.ctl \
-	localgroups incoming.conf inn.conf innfeed.conf innreport.conf \
-	innshellvars.local innshellvars.pl.local innshellvars.tcl.local \
-	innwatch.ctl moderators news2mail.cf newsfeeds nocem.ctl nnrpd.track \
-	nntpsend.ctl ovdb.conf passwd.nntp readers.conf send-uucp.cf \
-	storage.conf subscriptions
+SETGID_INEWS_CONFIGURE_ENABLE=	setgid-inews
+SETGID_INEWS_PLIST_SUB=		MODE_INEWS="2555"
+SETGID_INEWS_PLIST_SUB_OFF=	MODE_INEWS=""
 
-SUB_LIST+=	EGDIR="${EXAMPLESDIR:C,^${PREFIX},\\$\\${PREFIX},}"
-PLIST_SUB+=	ETCFILES="${CONFIG_FILES}"
+SQLITE_USES=		sqlite
+SQLITE_CONFIGURE_ON=	--with-sqlite3=${LOCALBASE}
+SQLITE_CONFIGURE_OFF=	--without-sqlite3
+SQLITE_VARS=		CONFIG_FILES+=ovsqlite.conf
+
+TAGGED_HASH_CONFIGURE_ENABLE=	tagged-hash
+TAGGED_HASH_SUB_LIST=		DBZ_FILES="dir pag"
+TAGGED_HASH_SUB_LIST_OFF=	DBZ_FILES="dir hash index"
+TAGGED_HASH_PLIST_SUB=		WITH_TAGGED_HASH="" \
+				WITHOUT_TAGGED_HASH="@comment "
+TAGGED_HASH_PLIST_SUB_OFF=	WITH_TAGGED_HASH="@comment " \
+				WITHOUT_TAGGED_HASH=""
+
+UUCP_RNEWS_RUN_DEPENDS=		uucp:net/freebsd-uucp
+UUCP_RNEWS_CONFIGURE_ENABLE=	uucp-rnews
 
 .include <bsd.port.pre.mk>
 
-GID?=	${.MAKE.GID}
+GID?=		${.MAKE.GID}
 
 post-patch:
 	@${REINPLACE_CMD} -E 's!\$$[{(]PATHETC[})]!${EXAMPLESDIR}!g' \
 	                  ${WRKSRC}/site/Makefile
-	@${REINPLACE_CMD} -e '/^#pragma/d' ${WRKSRC}/*/*.c
 .if ${PORT_OPTIONS:MBERKELEYDB}
 	@${REINPLACE_CMD} -e 's!-ldb!-ldb-${BDB_VER}!' ${WRKSRC}/configure
 .endif
-	@${ECHO_CMD} '/^$$D$$(PATH_HISTORY)' >  ${WRKDIR}/ex.script
-	@${ECHO_CMD} '+'                     >> ${WRKDIR}/ex.script
-	@${ECHO_CMD} 'mark t'                >> ${WRKDIR}/ex.script
-	@${ECHO_CMD} '/^$$'                  >> ${WRKDIR}/ex.script
-	@${ECHO_CMD} "'t, d"                 >> ${WRKDIR}/ex.script
-	@${ECHO_CMD} 'wq!'                   >> ${WRKDIR}/ex.script
-	@cd ${WRKDIR} && ex ${WRKSRC}/site/Makefile < ex.script > /dev/null
 
 pre-install:
-#	@${SETENV} "PKG_PREFIX=${PREFIX}" ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
 	@${MKDIR} ${STAGEDIR}${INN_DBDIR} \
 		${STAGEDIR}${EXAMPLESDIR} \
 		${STAGEDIR}${EXAMPLESDIR}/db
-	@${REINPLACE_CMD} -e '/^RUNASUSER	*=/s/news/${UID}/'	\
-		-e '/^RUNASGROUP	*=/s/news/${GID}/'	\
-		-e '/^RNEWSGROUP	*=/s/news/${GID}/'	\
+	@${REINPLACE_CMD} -e '/^RUNASUSER	*=/s/=.*/=	${UID}/'	\
+		-e '/^RUNASGROUP	*=/s/=.*/=	${GID}/'	\
+		-e '/^RNEWSGROUP	*=/s/=.*/=	${GID}/'	\
 		${WRKSRC}/Makefile.global
 
 post-build:
@@ -223,19 +173,31 @@ post-build:
 	    | ${XARGS} ${REINPLACE_CMD} -e 's/^pathhost:.*/pathhost:               host.example.com/'
 
 post-install:
-.for FILE in ${TO_BE_STRIPPED}
-	-${TEST} -f ${STAGEDIR}${INN_NEWSBASE}/${FILE} && \
-		${STRIP_CMD} ${STAGEDIR}${INN_NEWSBASE}/${FILE}
-.endfor
+	${FIND} ${STAGEDIR}${INN_NEWSBASE} -type f \
+	    \( -perm +111 -o -name '*.so.*' \) ! -name '*.a' \
+	    -exec ${STRIP_CMD} {} + 2>/dev/null || ${TRUE}
 	${MKDIR} ${STAGEDIR}${INN_NEWSSPOOL}
 	${MKDIR} ${STAGEDIR}${INN_CONFDIR}
 .for FILE in ${CONFIG_FILES}
 	${CP} -p ${STAGEDIR}${EXAMPLESDIR}/${FILE} ${STAGEDIR}${INN_CONFDIR}/${FILE}.sample
 .endfor
 	${MKDIR} ${STAGEDIR}${INN_DBDIR}
-.for FILE in active active.times newsgroups
+.for FILE in active active.times history newsgroups
 	${MV} ${STAGEDIR}${INN_DBDIR}/${FILE} \
 		${STAGEDIR}${INN_DBDIR}/${FILE}.sample
+.endfor
+	${TOUCH} ${STAGEDIR}${INN_DBDIR}/history.dir.sample
+.if ${PORT_OPTIONS:MTAGGED_HASH}
+	${TOUCH} ${STAGEDIR}${INN_DBDIR}/history.pag.sample
+.else
+	${TOUCH} ${STAGEDIR}${INN_DBDIR}/history.hash.sample
+	${TOUCH} ${STAGEDIR}${INN_DBDIR}/history.index.sample
+.endif
+.for FILE in filter_innd.pl filter_innd.py filter_nnrpd.pl nnrpd_access.pl \
+	nnrpd_access.py nnrpd_auth.pl nnrpd_auth.py nnrpd_dynamic.py \
+	startup_innd.pl
+	${MV} ${STAGEDIR}${INN_NEWSBASE}/bin/filter/${FILE} \
+		${STAGEDIR}${INN_NEWSBASE}/bin/filter/${FILE}.sample
 .endfor
 	${MKDIR} ${STAGEDIR}${DOCSDIR}
 .for FILE in ${PORTDOCS}
diff --git a/news/inn/files/pkg-install.in b/news/inn/files/pkg-install.in
index a1bd0deffa88..d87f85ec9979 100644
--- a/news/inn/files/pkg-install.in
+++ b/news/inn/files/pkg-install.in
@@ -1,102 +1,30 @@
 #!/bin/sh
 
-PKGNAME=$1
-[ ! -n ${PKG_PREFIX} ] && exit 1
-PREFIX=${PKG_PREFIX}
-
-DBDIR="%%DBDIR%%"
-ETCDIR="%%ETCDIR%%"
-RUNDIR="%%RUNDIR%%"
-TMPDIR="%%TMPDIR%%"
-NEWSBASE="%%NEWSBASE%%"
-NEWSSPOOL="%%NEWSSPOOL%%"
-DBZ_FILES="%%DBZ_FILES%%"
-
-EGDIR="%%EGDIR%%"
+# Initialize the history database on fresh installs.
+# INN requires history index files (history.dir, history.hash/pag, etc.)
+# that are created by makedbz from the empty history file.
 
 case $2 in
-    PRE-INSTALL)
-	echo "===>  Checking for old database files"
-	if [ ! -d ${DBDIR} ]; then
-		mkdir -p ${DBDIR}
-		mkdir -p ${EGDIR}/db
-		chown news:news ${DBDIR}
-	fi
-	;;
-    CHECK-CONF)
-	ETCDIR=${3}
-	echo "Checking for configuration files"
-	for f in $(find ${EGDIR} -type f -mindepth 1 -maxdepth 1 -execdir echo "{}" \;)
-		do
-			REALFILE=${ETCDIR}/${f}
-			EGFILE=${EGDIR}/${f}
-			echo -n "Checking if ${REALFILE} exists:   "
-			if [ -e ${REALFILE} ]
-				then
-					echo "[YES]"
-				else
-					echo "[NO]  Installing ${EGFILE} to ${REALFILE}"
-					cp -p ${EGFILE} ${REALFILE}
-			fi
-		done
-	;;
     POST-INSTALL)
-        install -d -o news -g news -m 755 \
-	    ${RUNDIR} \
-	    ${NEWSSPOOL} \
-	    ${NEWSSPOOL}/archive \
-	    ${NEWSSPOOL}/articles \
-	    ${NEWSSPOOL}/incoming \
-	    ${NEWSSPOOL}/incoming/bad \
-	    ${NEWSSPOOL}/innfeed \
-	    ${NEWSSPOOL}/outgoing \
-	    ${NEWSSPOOL}/overview \
-	    ${TMPDIR}
-
-	if [ ${3:-""} = "PORTMODE" ]; then
-		fc=`ls ${EGDIR}/db/* 2>/dev/null | wc -l`
-
-		if [ -d ${EGDIR}/db -a $fc -eq 0 ]; then
-			for f in ${DBDIR}/*; do
-				cp -pR ${f} ${EGDIR}/db
-			done
-		else
-			mkdir -p ${EGDIR}/db
-			for f in ${DBDIR}/*; do
-				touch ${EGDIR}/db/${f##*/}
-			done
+	DBDIR="%%DBDIR%%"
+	NEWSBASE="%%NEWSBASE%%"
+	DBZ_FILES="%%DBZ_FILES%%"
+
+	if [ ! -f ${DBDIR}/history.dir ]; then
+		echo "===>  Creating empty history database"
+		cd ${DBDIR}
+		if [ ! -f history ]; then
+			touch history
 		fi
-
-		# Fix permissions
-
-		for f in ${ETCDIR}/*.ctl ${ETCDIR}/readers.conf; do
-			chmod 640 ${f}
+		chown news:news history
+		chmod 644 history
+		su -fm news -c "${NEWSBASE}/bin/makedbz -i"
+		for s in ${DBZ_FILES}; do
+			mv history.n.${s} history.${s}
+			cp -p history.${s} history.${s}.sample
 		done
-	else
-		fc=`ls ${DBDIR}/* 2>/dev/null | wc -l`
-
-		if [ -d ${DBDIR} -a $fc -eq 0 ]; then
-			for f in ${EGDIR}/db/*; do
-				cp -pR ${f} ${DBDIR}
-			done
-			(if [ ! -f ${DBDIR}/history ] ; then
-				echo 'Creating empty history database...'
-				cd ${DBDIR}
-				touch history
-				chmod 644 history
-				chown news:news history
-				su -fm news -c "${NEWSBASE}/bin/makedbz -i"
-				for s in ${DBZ_FILES} ; do
-					mv history.n.${s} history.${s}
-				done
-			fi)
-		fi
+		cp -p history.dir history.dir.sample
 	fi
-
-	;;
-    *)
-	echo "Unexpected Argument $2!!!"
-	exit 1
 	;;
 esac
 exit 0
diff --git a/news/inn/pkg-plist b/news/inn/pkg-plist
index 7991c26c826f..c08382a90d97 100644
--- a/news/inn/pkg-plist
+++ b/news/inn/pkg-plist
@@ -33,16 +33,16 @@ bin/expireover
 bin/expirerm
 bin/fastrm
 bin/filter/INN.py
-bin/filter/filter_innd.pl
-bin/filter/filter_innd.py
-bin/filter/filter_nnrpd.pl
 bin/filter/nnrpd.py
-bin/filter/nnrpd_access.pl
-bin/filter/nnrpd_access.py
-bin/filter/nnrpd_auth.pl
-bin/filter/nnrpd_auth.py
-bin/filter/nnrpd_dynamic.py
-bin/filter/startup_innd.pl
+@sample %%NEWSBASE%%/bin/filter/filter_innd.pl.sample
+@sample %%NEWSBASE%%/bin/filter/filter_innd.py.sample
+@sample %%NEWSBASE%%/bin/filter/filter_nnrpd.pl.sample
+@sample %%NEWSBASE%%/bin/filter/nnrpd_access.pl.sample
+@sample %%NEWSBASE%%/bin/filter/nnrpd_access.py.sample
+@sample %%NEWSBASE%%/bin/filter/nnrpd_auth.pl.sample
+@sample %%NEWSBASE%%/bin/filter/nnrpd_auth.py.sample
+@sample %%NEWSBASE%%/bin/filter/nnrpd_dynamic.py.sample
+@sample %%NEWSBASE%%/bin/filter/startup_innd.pl.sample
 bin/gencancel
 bin/getlist
 bin/grephistory
@@ -84,7 +84,8 @@ bin/procbatch
 bin/prunehistory
 bin/pullnews
 bin/rc.news
-@(,uucp,4550) bin/rnews
+%%UUCP_RNEWS%%@(,uucp,4550) bin/rnews
+%%NO_UUCP_RNEWS%%bin/rnews
 bin/rnews.libexec/c7unbatch
 bin/rnews.libexec/decode
 bin/rnews.libexec/encode
@@ -353,14 +354,13 @@ share/man/man8/writelog.8.gz
 @comment --------------------------------------------------------------
 @sample %%DBDIR%%/active.sample
 @sample %%DBDIR%%/active.times.sample
+@sample %%DBDIR%%/history.sample
 @sample %%DBDIR%%/newsgroups.sample
 @comment --------------------------------------------------------------
-%%WITHOUT_TAGGED_HASH%%@postunexec f=history.hash;  if cmp -s %%DBDIR%%/$f %%EXAMPLESDIR%%/db/$f; then rm -f %%DBDIR%%/$f; fi
-%%WITHOUT_TAGGED_HASH%%@postunexec f=history.index; if cmp -s %%DBDIR%%/$f %%EXAMPLESDIR%%/db/$f; then rm -f %%DBDIR%%/$f; fi
-%%WITHOUT_TAGGED_HASH%%@postunexec rm -f %%EXAMPLESDIR%%/db/history.hash  2> /dev/null || true
-%%WITHOUT_TAGGED_HASH%%@postunexec rm -f %%EXAMPLESDIR%%/db/history.index 2> /dev/null || true
-%%WITH_TAGGED_HASH%%@postunexec f=history.pag; if cmp -s %%DBDIR%%/$f %%EXAMPLESDIR%%/db/$f; then rm -f %%DBDIR%%/$f; fi
-%%WITH_TAGGED_HASH%%@postunexec rm -f %%EXAMPLESDIR%%/db/history.pag 2> /dev/null || true
+@sample %%DBDIR%%/history.dir.sample
+%%WITHOUT_TAGGED_HASH%%@sample %%DBDIR%%/history.hash.sample
+%%WITHOUT_TAGGED_HASH%%@sample %%DBDIR%%/history.index.sample
+%%WITH_TAGGED_HASH%%@sample %%DBDIR%%/history.pag.sample
 @sample %%CONFDIR%%/actsync.cfg.sample
 @sample %%CONFDIR%%/actsync.ign.sample
 @sample %%CONFDIR%%/buffindexed.conf.sample
@@ -371,6 +371,8 @@ share/man/man8/writelog.8.gz
 @sample %%CONFDIR%%/distributions.sample
 @sample %%CONFDIR%%/expire.ctl.sample
 @sample %%CONFDIR%%/incoming.conf.sample
+@sample %%CONFDIR%%/inn-radius.conf.sample
+@sample %%CONFDIR%%/inn-secrets.conf.sample
 @sample %%CONFDIR%%/inn.conf.sample
 @sample %%CONFDIR%%/innfeed.conf.sample
 @sample %%CONFDIR%%/innreport.conf.sample


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69f16c69.3eb37.57255bcc>