aboutsummaryrefslogtreecommitdiff
path: root/news/inn
diff options
context:
space:
mode:
authorDaichi GOTO <daichi@FreeBSD.org>2003-09-26 06:32:40 +0000
committerDaichi GOTO <daichi@FreeBSD.org>2003-09-26 06:32:40 +0000
commit5471197f6a21a7f7a9a56fb0cae4f787c13b09c4 (patch)
treedfc86d4f25897bc33a5bf202b6cf0cd40eff0ef6 /news/inn
parente0b5438f887504b82c773157ff22b373c6ff0108 (diff)
downloadports-5471197f6a21a7f7a9a56fb0cae4f787c13b09c4.tar.gz
ports-5471197f6a21a7f7a9a56fb0cae4f787c13b09c4.zip
update: news/inn
- Now config files are not removed - add many knobs - Use USE_OPENSSL hook PR: 57160 Submitted by: Clement Laforet <sheepkiller@cultdeadsheep.org> (maintainer)
Notes
Notes: svn path=/head/; revision=89416
Diffstat (limited to 'news/inn')
-rw-r--r--news/inn/Makefile44
-rw-r--r--news/inn/files/patch-configure15
-rw-r--r--news/inn/files/patch-site::Makefile88
-rw-r--r--news/inn/pkg-install18
-rw-r--r--news/inn/pkg-plist85
5 files changed, 218 insertions, 32 deletions
diff --git a/news/inn/Makefile b/news/inn/Makefile
index 68ab41d41da1..e01149164f3e 100644
--- a/news/inn/Makefile
+++ b/news/inn/Makefile
@@ -7,7 +7,7 @@
PORTNAME= inn
PORTVERSION= 2.4.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= news ipv6
MASTER_SITES= ${MASTER_SITE_ISC}
MASTER_SITE_SUBDIR= inn
@@ -20,6 +20,8 @@ USE_GMAKE= yes
USE_PERL5= yes
USE_OPENSSL= yes
+CONFLICTS= inn-*
+
.if exists(/var/news) && !defined(PACKAGE_BUILDING)
INN_NEWSSPOOL?=/var/news
.elif exists(/var/spool/news) && !defined(PACKAGE_BUILDING)
@@ -30,20 +32,46 @@ INN_NEWSSPOOL?=${PREFIX}/news/spool
INN_NEWSLOG?=/var/log/news
HAS_CONFIGURE= yes
+CONFIGURE_ENV+= LOCALBASE=${LOCALBASE}
CONFIGURE_ARGS+= --mandir=${PREFIX}/man \
--prefix=${PREFIX}/news \
--with-spool-dir=${INN_NEWSSPOOL} \
--with-log-dir=${INN_NEWSLOG} \
--with-perl \
--with-tmp-path=${INN_NEWSSPOOL}/tmp \
- --with-openssl \
+ --with-openssl=${OPENSSLBASE} \
--enable-ipv6
+.if defined(WITH_BERKELEYDB)
+# We don't support other versions for the moment.
+CONFIGURE_ARGS+= --with-berkeleydb
+LIB_DEPENDS+= db4:${PORTSDIR}/databases/db4
+.endif
+
.if defined(WITH_PYTHON)
USE_PYTHON= YES
CONFIGURE_ARGS+= --with-python
.endif
+.if defined(WITH_TCL)
+USE_REINPLACE= yes
+CONFIGURE_ARGS+= --with-tcl=${LOCALBASE}
+BUILD_DEPENDS+= ${LOCALBASE}/include/tcl8.3/tcl.h:${PORTSDIR}/lang/tcl83
+.endif
+
+.if defined (WITH_MAXSOCKET)
+CONFIGURE_ARGS+= --with-max-sockets=${WITH_MAXSOCKET}
+.endif
+
+.if defined(WITH_KEYWORDS)
+CONFIGURE_ARGS+= --enable-keywords
+.endif
+
+.if defined(WITH_SASL)
+CONFIGURE_ARGS+= --with-sasl=${LOCALBASE}
+LIB_DEPENDS+= sasl2:${PORTSDIR}/security/cyrus-sasl2
+.endif
+
.if defined(WITH_TAGGED_HASH)
CONFIGURE_ARGS+= --enable-tagged-hash
DBZ_FILES= dir pag
@@ -56,6 +84,7 @@ PLIST_SUB= SUB_WITH_TAGGED_HASH="@comment "
PLIST_SUB+= SUB_WITHOUT_TAGGED_HASH=""
.endif
+
EXTRA= CONTRIBUTORS HACKING INSTALL LICENSE MANIFEST NEWS README TODO
HEADERS= clibrary.h config.h dbz.h libinn.h storage.h
@@ -81,6 +110,14 @@ MAN8= actsync.8 actsyncd.8 archive.8 auth_smb.8 batcher.8 buffchan.8 \
radius.8 rc.news.8 scanlogs.8 send-nntp.8 send-uucp.8 sendinpaths.8 \
tally.control.8 tdx-util.8 writelog.8
+.include <bsd.port.pre.mk>
+
+post-patch:
+.if defined(WITH_TCL)
+ @${REINPLACE_CMD} -e 's!<tcl.h>!<tcl8.3/tcl.h>!' ${WRKSRC}/innd/innd.h
+ @${REINPLACE_CMD} -e 's!-ltcl!-ltcl83!' ${WRKSRC}/configure
+.endif
+
post-install:
${MKDIR} ${INN_NEWSSPOOL}
.if !defined(NOPORTDOCS)
@@ -97,6 +134,7 @@ post-install:
s+!!PREFIX!!+${PREFIX}+g && ${CHMOD} +x ${PREFIX}/etc/rc.d/innd.sh
@${CHOWN} root:news ${PREFIX}/news/bin/auth/passwd/ckpasswd
@${CHMOD} 4755 ${PREFIX}/news/bin/auth/passwd/ckpasswd
+ @PKG_PREFIX=${PKG_PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} CHECK-CONF
@(if [ ! -f ${PREFIX}/news/db/history ] ; then \
${ECHO} 'Creating empty history database...' ; \
cd ${PREFIX}/news/db ; \
@@ -110,4 +148,4 @@ post-install:
fi)
@${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/news/inn/files/patch-configure b/news/inn/files/patch-configure
new file mode 100644
index 000000000000..64ff492b9865
--- /dev/null
+++ b/news/inn/files/patch-configure
@@ -0,0 +1,15 @@
+--- configure.orig Mon Sep 22 11:31:16 2003
++++ configure Mon Sep 22 11:32:15 2003
+@@ -5828,9 +5828,9 @@
+ fi
+ if test x"$BERKELEY_DB_DIR" = xyes ; then
+ for v in db4 db3 db2 ; do
+- if test -d "/usr/local/include/$v" ; then
+- BERKELEY_DB_LDFLAGS="-L/usr/local/lib"
+- BERKELEY_DB_CFLAGS="-I/usr/local/include/$v"
++ if test -d "${LOCALBASE}/include/$v" ; then
++ BERKELEY_DB_LDFLAGS="-L${LOCALBASE}/lib"
++ BERKELEY_DB_CFLAGS="-I${LOCALBASE}/include/$v"
+ BERKELEY_DB_LIB="-l$v"
+ echo "$ac_t""FreeBSD locations" 1>&6
+ break
diff --git a/news/inn/files/patch-site::Makefile b/news/inn/files/patch-site::Makefile
new file mode 100644
index 000000000000..5a22a277e000
--- /dev/null
+++ b/news/inn/files/patch-site::Makefile
@@ -0,0 +1,88 @@
+--- site/Makefile.orig Sat Jul 12 21:11:02 2003
++++ site/Makefile Sun Sep 21 12:53:00 2003
+@@ -23,29 +23,29 @@
+ PATH_NNRPAUTH = ${PATHFILTER}/nnrpd_auth.pl
+ PATH_NNRPYAUTH = ${PATHFILTER}/nnrpd_auth.py
+
+-PATH_CONFIG = ${PATHETC}/inn.conf
+-PATH_CONTROLCTL = ${PATHETC}/control.ctl
+-PATH_EXPIRECTL = ${PATHETC}/expire.ctl
+-PATH_INNDHOSTS = ${PATHETC}/incoming.conf
+-PATH_MODERATORS = ${PATHETC}/moderators
+-PATH_DISTPATS = ${PATHETC}/distrib.pats
+-PATH_NEWSFEEDS = ${PATHETC}/newsfeeds
+-PATH_READERSCONF = ${PATHETC}/readers.conf
+-PATH_NNRPDTRACK = ${PATHETC}/nnrpd.track
+-PATH_SCHEMA = ${PATHETC}/overview.fmt
+-PATH_NNTPPASS = ${PATHETC}/passwd.nntp
+-PATH_CTLWATCH = ${PATHETC}/innwatch.ctl
+-PATH_ACTSYNC_IGN = ${PATHETC}/actsync.ign
+-PATH_ACTSYNC_CFG = ${PATHETC}/actsync.cfg
+-PATH_MOTD = ${PATHETC}/motd.news
+-PATH_STORAGECONF = ${PATHETC}/storage.conf
+-PATH_CYCBUFFCONFIG = ${PATHETC}/cycbuff.conf
+-PATH_INNFEEDCTL = ${PATHETC}/innfeed.conf
+-PATH_BUFFINDEXED = ${PATHETC}/buffindexed.conf
+-PATH_RADIUS_CONF = ${PATHETC}/radius.conf
+-PATH_OVDB_CONF = ${PATHETC}/ovdb.conf
+-PATH_SASL_CONF = ${PATHETC}/sasl.conf
+-PATH_SUBSCRIPTIONS = ${PATHETC}/subscriptions
++PATH_CONFIG = ${PATHETC}/inn.conf.dist
++PATH_CONTROLCTL = ${PATHETC}/control.ctl.dist
++PATH_EXPIRECTL = ${PATHETC}/expire.ctl.dist
++PATH_INNDHOSTS = ${PATHETC}/incoming.conf.dist
++PATH_MODERATORS = ${PATHETC}/moderators.dist
++PATH_DISTPATS = ${PATHETC}/distrib.pats.dist
++PATH_NEWSFEEDS = ${PATHETC}/newsfeeds.dist
++PATH_READERSCONF = ${PATHETC}/readers.conf.dist
++PATH_NNRPDTRACK = ${PATHETC}/nnrpd.track.dist
++PATH_SCHEMA = ${PATHETC}/overview.fmt.dist
++PATH_NNTPPASS = ${PATHETC}/passwd.nntp.dist
++PATH_CTLWATCH = ${PATHETC}/innwatch.ctl.dist
++PATH_ACTSYNC_IGN = ${PATHETC}/actsync.ign.dist
++PATH_ACTSYNC_CFG = ${PATHETC}/actsync.cfg.dist
++PATH_MOTD = ${PATHETC}/motd.news.dist
++PATH_STORAGECONF = ${PATHETC}/storage.conf.dist
++PATH_CYCBUFFCONFIG = ${PATHETC}/cycbuff.conf.dist
++PATH_INNFEEDCTL = ${PATHETC}/innfeed.conf.dist
++PATH_BUFFINDEXED = ${PATHETC}/buffindexed.conf.dist
++PATH_RADIUS_CONF = ${PATHETC}/radius.conf.dist
++PATH_OVDB_CONF = ${PATHETC}/ovdb.conf.dist
++PATH_SASL_CONF = ${PATHETC}/sasl.conf.dist
++PATH_SUBSCRIPTIONS = ${PATHETC}/subscriptions.dist
+
+ PATH_ACTIVE = ${PATHDB}/active
+ PATH_ACTIVE_TIMES = ${PATHDB}/active.times
+@@ -71,8 +71,8 @@
+ $D$(PATH_NEWSFEEDS) $D$(PATH_INNDHOSTS) \
+ $D$(PATH_NNRPDTRACK) $D$(PATH_NNTPPASS) \
+ $D$(PATH_CONFIG) $D$(PATH_MODERATORS) \
+- $D$(PATH_CONTROLCTL) $D$(PATH_EXPIRECTL) $D$(PATHETC)/nntpsend.ctl \
+- $D$(PATHETC)/innreport.conf \
++ $D$(PATH_CONTROLCTL) $D$(PATH_EXPIRECTL) $D$(PATHETC)/nntpsend.ctl.dist \
++ $D$(PATHETC)/innreport.conf.dist \
+ $D$(PATH_CTLWATCH) $D$(PATH_DISTPATS) $D$(PATH_SCHEMA) \
+ $D$(PATH_ACTSYNC_CFG) $D$(PATH_ACTSYNC_IGN) \
+ $D$(PATH_MOTD) $D$(PATH_STORAGECONF) \
+@@ -81,7 +81,7 @@
+ $D$(PATH_PERL_FILTER_INND) $D$(PATH_PERL_FILTER_NNRPD) \
+ $D$(PATH_PYTHON_FILTER_INND) $D$(PATH_PYTHON_INN_MODULE) \
+ $D$(PATH_TCL_STARTUP) $D$(PATH_TCL_FILTER) \
+- $D$(PATH_NNRPAUTH) $D$(PATHETC)/news2mail.cf $D$(PATH_READERSCONF) \
++ $D$(PATH_NNRPAUTH) $D$(PATHETC)/news2mail.cf.dist $D$(PATH_READERSCONF) \
+ $D$(PATH_RADIUS_CONF) $D$(PATH_NNRPYAUTH) $D$(PATH_OVDB_CONF) \
+ $D$(PATH_SASL_CONF) $D$(PATH_SUBSCRIPTIONS)
+
+@@ -170,9 +170,9 @@
+ $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_RPUB) $? $@
+-$D$(PATHETC)/news2mail.cf: news2mail.cf ; $(COPY_RPUB) $? $@
+-$D$(PATHETC)/innreport.conf: innreport.conf ; $(COPY_RPUB) $? $@
++$D$(PATHETC)/nntpsend.ctl.dist: nntpsend.ctl ; $(COPY_RPUB) $? $@
++$D$(PATHETC)/news2mail.cf.dist: news2mail.cf ; $(COPY_RPUB) $? $@
++$D$(PATHETC)/innreport.conf.dist: innreport.conf ; $(COPY_RPUB) $? $@
+ $D$(PATH_STORAGECONF): storage.conf ; $(COPY_RPUB) $? $@
+ $D$(PATH_CYCBUFFCONFIG): cycbuff.conf ; $(COPY_RPUB) $? $@
+ $D$(PATH_BUFFINDEXED): buffindexed.conf ; $(COPY_RPUB) $? $@
diff --git a/news/inn/pkg-install b/news/inn/pkg-install
index 78f7bdb4cc1f..fa27dc71c03b 100644
--- a/news/inn/pkg-install
+++ b/news/inn/pkg-install
@@ -2,10 +2,28 @@
PKGNAME=$1
[ ! -n PKG_PREFIX ] && exit 1
+PKG_PREFIX=${PKG_PREFIX:-/usr/local}
case $2 in
PRE-INSTALL)
;;
+ CHECK-CONF)
+ NEWSBASE=${PKG_PREFIX}/news
+ echo "Checking for configuration files"
+ for f in $(find ${NEWSBASE}/etc/ -name "*.dist" -type f)
+ do
+ REALFILE=${f%%.dist}
+ echo -n "Checking if ${REALFILE} exists: "
+ if [ -e ${REALFILE} ]
+ then
+ echo "[YES]"
+ else
+ echo "[NO]"
+ echo " Installing ${f} to ${REALFILE}"
+ cp ${f} ${REALFILE}
+ fi
+ done
+ ;;
POST-INSTALL)
NEWSBASE=${PKG_PREFIX}/news
install -d -o news -g news -m 755 \
diff --git a/news/inn/pkg-plist b/news/inn/pkg-plist
index ddf0b439b152..aade727907ab 100644
--- a/news/inn/pkg-plist
+++ b/news/inn/pkg-plist
@@ -126,32 +126,58 @@ news/doc/hook-perl
news/doc/hook-python
news/doc/hook-tcl
news/doc/sample-control
-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 cmp -s %D/news/etc/actsync.cfg %D/news/etc/actsync.cfg.dist; then rm -f %D/news/etc/actsync.cfg ; fi
+news/etc/actsync.cfg.dist
+@unexec if cmp -s %D/news/etc/actsync.ign %D/news/etc/actsync.ign.dist; then rm -f %D/news/etc/actsync.ign ; fi
+news/etc/actsync.ign.dist
+@unexec if cmp -s %D/news/etc/buffindexed.conf %D/news/etc/buffindexed.conf.dist; then rm -f %D/news/etc/buffindexed.conf ; fi
+news/etc/buffindexed.conf.dist
+@unexec if cmp -s %D/news/etc/control.ctl %D/news/etc/control.ctl.dist; then rm -f %D/news/etc/control.ctl ; fi
+news/etc/control.ctl.dist
+@unexec if cmp -s %D/news/etc/cycbuff.conf %D/news/etc/cycbuff.conf.dist; then rm -f %D/news/etc/cycbuff.conf ; fi
+news/etc/cycbuff.conf.dist
+@unexec if cmp -s %D/news/etc/distrib.pats %D/news/etc/distrib.pats.dist; then rm -f %D/news/etc/distrib.pats ; fi
+news/etc/distrib.pats.dist
+@unexec if 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
+@unexec if 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
+@unexec if cmp -s %D/news/etc/inn.conf %D/news/etc/inn.conf.dist; then rm -f %D/news/etc/inn.conf ; fi
+news/etc/inn.conf.dist
+@unexec if cmp -s %D/news/etc/innfeed.conf %D/news/etc/innfeed.conf.dist; then rm -f %D/news/etc/innfeed.conf ; fi
+news/etc/innfeed.conf.dist
+@unexec if cmp -s %D/news/etc/innreport.conf %D/news/etc/innreport.conf.dist; then rm -f %D/news/etc/innreport.conf ; fi
+news/etc/innreport.conf.dist
+@unexec if 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
+@unexec if cmp -s %D/news/etc/moderators %D/news/etc/moderators.dist; then rm -f %D/news/etc/moderators ; fi
+news/etc/moderators.dist
+@unexec if 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
+@unexec if 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
+@unexec if cmp -s %D/news/etc/newsfeeds %D/news/etc/newsfeeds.dist; then rm -f %D/news/etc/newsfeeds ; fi
+news/etc/newsfeeds.dist
+@unexec if cmp -s %D/news/etc/nnrpd.track %D/news/etc/nnrpd.track.dist; then rm -f %D/news/etc/nnrpd.track ; fi
+news/etc/nnrpd.track.dist
+@unexec if 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
+@unexec if 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
+@unexec if 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
+@unexec if cmp -s %D/news/etc/passwd.nntp %D/news/etc/passwd.nntp.dist; then rm -f %D/news/etc/passwd.nntp ; fi
+news/etc/passwd.nntp.dist
+@unexec if cmp -s %D/news/etc/radius.conf %D/news/etc/radius.conf.dist; then rm -f %D/news/etc/radius.conf ; fi
+news/etc/radius.conf.dist
+@unexec if cmp -s %D/news/etc/readers.conf %D/news/etc/readers.conf.dist; then rm -f %D/news/etc/readers.conf; fi
+news/etc/readers.conf.dist
+@unexec if 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
+@unexec if cmp -s %D/news/etc/storage.conf %D/news/etc/storage.conf.dist; then rm -f %D/news/etc/storage.conf ; fi
+news/etc/storage.conf.dist
+@unexec if cmp -s %D/news/etc/subscriptions %D/news/etc/subscriptions.dist; then rm -f %D/news/etc/subscriptions ; fi
+news/etc/subscriptions.dist
news/include/clibrary.h
news/include/conffile.h
news/include/config.h
@@ -196,7 +222,7 @@ news/lib/libstorage.a
%%PORTDOCS%%%%DOCSDIR%%/README
%%PORTDOCS%%%%DOCSDIR%%/TODO
%%PORTDOCS%%@dirrm %%DOCSDIR%%
-@dirrm news/tmp
+@unexec rmdir %D/news/tmp 2>/dev/null || true
@dirrm news/spool/overview
@dirrm news/spool/outgoing
@dirrm news/spool/innfeed
@@ -204,12 +230,13 @@ news/lib/libstorage.a
@dirrm news/spool/incoming
@dirrm news/spool/articles
@dirrm news/spool/archive
+@dirrm news/spool/tmp
@dirrm news/spool
@dirrm news/run
@dirrm news/lib
@dirrm news/include/inn
@dirrm news/include
-@dirrm news/etc
+@unexec rmdir %D/news/etc 2>/dev/null || true
@dirrm news/doc
@dirrm news/db
@dirrm news/bin/rnews.libexec
@@ -219,4 +246,4 @@ news/lib/libstorage.a
@dirrm news/bin/auth/passwd
@dirrm news/bin/auth
@dirrm news/bin
-@dirrm news
+@unexec rmdir %D/news 2>/dev/null ||( echo "===> If you don't plan to use inn later, you can safely remove %D/news. Deinstall process kept these files intact:" | fmt && for i in $(find %D/news -type f); do echo " - $i"; done)