9de0272d23
Changes in 2.5.4 * An up-to-date control.ctl file is provided with this release. You should manually update your control.ctl file with the new information recorded about Usenet hierarchies. * A test has been improved in innwatch.ctl so that innwatch no longer throttles innd when no overview directory exists. You should manually update your innwatch.ctl file to get this improvement. * Fixed a long-standing limitation on how controlchan and pgpverify were checking the signer of control messages. They now properly handle the case of several UIDs being defined on a single PGP key, as well as the presence of spaces into UIDs. In previous versions of INN, a few valid control messages got ignored because of that limitation (fido.ger.* and grisbi.* were for instance impacted). * As the name of the radius.conf configuration file shipped with INN for the nnrpd authenticator against a RADIUS server conflicts with the libradius package, this file is renamed to inn-radius.conf (innupgrade takes care of the rename during the update). * The attributes hash is now accessible to nnrpd Perl posting filter. As a result, filter_nnrpd.pl can make use of it. Only authentication and access Perl hooks could previously use the attributes hash. Thanks to Steve Crook for this addition. * INN now properly builds fine with flex 2.5.36 (this version introduced a change of type for a variable used by INN). * When using funnel feeds, innfeed log files were open forever, which resulted in empty log files, once rotated by scanlogs. innfeed now reopens its log files upon receiving a HUP signal; this signal is in particular sent by scanlogs during log rotation. Thanks to Florian Schlichting for the patch. * Exploder and process channels are now reopened when "ctlinnd flushlogs" is used. Otherwise, they could hold open an already deleted errlog file. The issue affected in particular controlchan or ninpaths, running as such channels. * Fixed a buffer overflow when using imapfeed with more than a million commands during the same IMAP session. Thanks to David Binderman for the bug report. * Fixed a segfault occurring in innd on systems where time_t is a 64-bit integer. Thanks to S.P. Zeidler for the patch. * Fixed a segfault occurring in nnrpd when a res block was used in readers.conf without the program: key. * Fixed an issue where users were denied posting because of an overlapping buffer copy in a check nnrpd was doing. Thanks to Florian Schlichting for the patch. * Fixed a regression that occurred in INN 2.5.3 regarding the path used by default by pullnews for its configuration file. Instead of looking in the running user's home directory, it was looking in the *pathnews* directory set in inn.conf. Thanks to Tony Evans for the bug report. * When neither wget nor ncftpget nor ncftp was found at configure time, the path to the simpleftp substitution program shipped with INN was not properly set in innshellvars, innshellvars.pl, and the "INN::Config" Perl module. Thanks to Christian Garbs for the bug report. * ckpasswd no longer tries to use the ndbm compatibility layer provided by Berkeley DB if Berkeley DB has been built without ndbm support. Also add support for gdbm libraries in ckpasswd. * Fixed a Perl warning in inncheck; using "defined(@array)" has been deprecated since Perl 5.16. * Fixed the occurrence of an unexpected "cant select" error generated by innd. Thanks to Paul Tomblin for having caught that long-standing issue. * When building INN with Berkeley DB support, no longer add -L/usr/lib to the linker include flags; unconditionally adding it may break the build on systems using lib32 and lib64 directories. * On a fresh INN install, motd.innd and motd.nnrpd are no longer installed by default. Instead, samples for these files are provided in *pathetc*, named differently so that their default contents are not displayed to news clients before they get customised. * Other minor bug fixes and documentation improvements (like the addition in the readers.conf man page of the log: and program: parameters in res blocks, and the include directive).
200 lines
6 KiB
Makefile
200 lines
6 KiB
Makefile
# $NetBSD: Makefile,v 1.118 2014/08/03 17:33:34 spz Exp $
|
|
|
|
DISTNAME= inn-2.5.4
|
|
CATEGORIES= news
|
|
MASTER_SITES= ftp://ftp.isc.org/isc/inn/ \
|
|
ftp://ftp.fu-berlin.de/unix/news/inn/
|
|
|
|
MAINTAINER= spz@NetBSD.org
|
|
HOMEPAGE= http://www.isc.org/software/inn/
|
|
COMMENT= The public release of InterNet News (INN)
|
|
LICENSE= modified-bsd AND gnu-gpl-v2
|
|
|
|
CONFLICTS+= libradius-[0-9]* nntpclnt-[0-9]*
|
|
|
|
.include "Makefile.common"
|
|
|
|
BUILD_DEFS+= INN_DATA_DIR
|
|
BUILD_DEFS+= VARBASE
|
|
|
|
FILES_SUBST+= INN_DATA_DIR=${INN_DATA_DIR}
|
|
|
|
BUILD_DEFS+= INN_PATHBIN
|
|
FILES_SUBST+= INN_PATHBIN=${PREFIX}/${INN_PATHBIN:Q}
|
|
|
|
MESSAGE_SUBST+= INN_PATHBIN=${INN_PATHBIN:Q}
|
|
|
|
PLIST_SUBST+= INN_PATHBIN=${INN_PATHBIN:Q}
|
|
|
|
PKG_SYSCONFSUBDIR= inn
|
|
|
|
GNU_CONFIGURE= YES
|
|
GNU_CONFIGURE_PREFIX= ${INN_PREFIX}
|
|
GNU_CONFIGURE_MANDIR= ${PREFIX}/${PKGMANDIR}
|
|
CONFIGURE_ARGS+= --enable-setgid-inews \
|
|
--enable-largefiles \
|
|
--bindir=${PREFIX}/${INN_PATHBIN} \
|
|
--sbindir=${PREFIX}/${INN_PATHBIN} \
|
|
--sysconfdir=${PKG_SYSCONFDIR} \
|
|
--with-openssl=${SSLBASE:Q} \
|
|
--with-doc-dir=${PREFIX}/share/doc/inn \
|
|
--with-control-dir=${PREFIX}/${INN_PATHBIN}/control \
|
|
--with-filter-dir=${PREFIX}/${INN_PATHBIN}/filter \
|
|
--with-tmp-dir=${INN_DATA_DIR}/tmp \
|
|
--with-db-dir=${INN_DATA_DIR}/db \
|
|
--with-http-dir=${INN_DATA_DIR}/http \
|
|
--with-log-dir=${INN_DATA_DIR}/log \
|
|
--with-run-dir=${INN_DATA_DIR}/run \
|
|
--includedir=${PREFIX}/include \
|
|
--with-spool-dir=${INN_SPOOL:Q} \
|
|
--with-news-user=${INN_USER} \
|
|
--with-news-group=${INN_GROUP}
|
|
CONFIGURE_ENV+= _PATH_AWK=${TOOLS_AWK}
|
|
CONFIGURE_ENV+= _PATH_EGREP=${TOOLS_EGREP}
|
|
CONFIGURE_ENV+= _PATH_SED=${TOOLS_SED}
|
|
CONFIGURE_ENV+= _PATH_SH=${TOOLS_SH}
|
|
CONFIGURE_ENV+= _PATH_SORT=${TOOLS_SORT}
|
|
CONFIGURE_ENV+= GZIP=${TOOLS_GZIP_CMD}
|
|
USE_TOOLS+= awk egrep gzip perl:run sed sh sort yacc
|
|
|
|
LDFLAGS.SunOS+= -lsocket -lnsl
|
|
|
|
DEPENDS+= p5-MIME-tools-[0-9]*:../../mail/p5-MIME-tools
|
|
DEPENDS+= p5-GD-[0-9]*:../../graphics/p5-GD
|
|
DEPENDS+= gnupg-[0-9]*:../../security/gnupg
|
|
|
|
## Please note that USE_DESTDIR=yes only works for this package if the user
|
|
## and group already exist
|
|
|
|
USERGROUP_PHASE= pre-install
|
|
PKG_USERS_VARS+= INN_USER
|
|
PKG_GROUPS_VARS+= INN_GROUP
|
|
|
|
PKG_GROUPS+= ${INN_GROUP}
|
|
PKG_USERS+= ${INN_USER}:${INN_GROUP}
|
|
PKG_GECOS.${INN_USER}= Internet\ News
|
|
PKG_HOME.${INN_USER}= ${INN_DATA_DIR}
|
|
PKG_SHELL.${INN_USER}= ${SH}
|
|
|
|
EXAMPLEDIR= ${PREFIX}/share/examples/inn
|
|
INN_DATADIRS= log log/OLD run tmp db spool http
|
|
INN_SPOOLDIRS= archive articles overview incoming incoming/bad \
|
|
outgoing uniover innfeed
|
|
|
|
INSTALLATION_DIRS+= sbin
|
|
INSTALLATION_DIRS+= bin
|
|
INSTALLATION_DIRS+= ${EXAMPLEDIR}
|
|
INSTALLATION_DIRS+= ${EXAMPLEDIR}/filter
|
|
|
|
MAKE_DIRS+= ${PREFIX}/bin
|
|
MAKE_DIRS+= ${PREFIX}/sbin
|
|
MAKE_DIRS+= ${PREFIX}/lib
|
|
|
|
INN_DIRS+= ${PKG_SYSCONFDIR}
|
|
INN_DIRS+= ${INN_DATA_DIR}
|
|
|
|
OWN_DIRS+= ${PREFIX}/${INN_PATHBIN}
|
|
OWN_DIRS+= ${PREFIX}/${INN_PATHBIN}/filter
|
|
OWN_DIRS+= ${EXAMPLEDIR}
|
|
|
|
.for dir in ${INN_DIRS}
|
|
OWN_DIRS_PERMS+= ${dir} ${INN_USER} ${INN_GROUP} 0775
|
|
.endfor
|
|
.for dir in ${INN_DATADIRS}
|
|
MAKE_DIRS_PERMS+= ${INN_DATA_DIR}/${dir} ${INN_USER} ${INN_GROUP} 0775
|
|
.endfor
|
|
.for dir in ${INN_SPOOLDIRS}
|
|
MAKE_DIRS_PERMS+= ${INN_DATA_DIR}/spool/${dir} \
|
|
${INN_USER} ${INN_GROUP} 0775
|
|
.endfor
|
|
|
|
CFILES= actsync.cfg actsync.ign buffindexed.conf \
|
|
control.ctl control.ctl.local cycbuff.conf \
|
|
distrib.pats distributions \
|
|
expire.ctl incoming.conf inn.conf innfeed.conf \
|
|
innreport.conf innwatch.ctl \
|
|
innshellvars.local innshellvars.pl.local \
|
|
innshellvars.tcl.local \
|
|
localgroups moderators \
|
|
motd.innd motd.nnrpd \
|
|
news2mail.cf newsfeeds nnrpd.track \
|
|
nntpsend.ctl nocem.ctl ovdb.conf passwd.nntp \
|
|
inn-radius.conf readers.conf send-uucp.cf \
|
|
storage.conf subscriptions
|
|
.for file in ${CFILES}
|
|
CONF_FILES_PERMS+= ${EXAMPLEDIR}/${file} ${PKG_SYSCONFDIR}/${file} \
|
|
${INN_USER} ${INN_GROUP} 0664
|
|
.endfor
|
|
|
|
CONF_FILES_PERMS+= ${EXAMPLEDIR}/active.minimal ${INN_DATA_DIR}/db/active ${INN_USER} ${INN_GROUP} 0664
|
|
CONF_FILES_PERMS+= ${EXAMPLEDIR}/newsgroups.minimal ${INN_DATA_DIR}/db/newsgroups ${INN_USER} ${INN_GROUP} 0664
|
|
|
|
DBFILES= active.times history
|
|
|
|
HTTPFILES= innreport.css
|
|
|
|
CONF_FILES_PERMS+= ${EXAMPLEDIR}/innreport.css ${INN_DATA_DIR}/http/innreport.css ${INN_USER} ${INN_GROUP} 0664
|
|
|
|
.for file in ${DBFILES}
|
|
CONF_FILES_PERMS+= ${EXAMPLEDIR}/${file} ${INN_DATA_DIR}/db/${file} \
|
|
${INN_USER} ${INN_GROUP} 0664
|
|
.endfor
|
|
|
|
FILTERFILES= INN.py filter_innd.py nnrpd.py nnrpd_access.py \
|
|
nnrpd_auth.py nnrpd_dynamic.py \
|
|
filter_innd.pl filter_nnrpd.pl nnrpd_access.pl \
|
|
nnrpd_auth.pl startup_innd.pl
|
|
|
|
.for file in ${FILTERFILES}
|
|
CONF_FILES_PERMS+= ${EXAMPLEDIR}/filter/${file} ${INN_PATHBIN}/filter/${file} \
|
|
${INN_USER} ${INN_GROUP} 0664
|
|
.endfor
|
|
|
|
RCD_SCRIPTS= innd
|
|
|
|
PKG_DESTDIR_SUPPORT= destdir
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
.if ${OPSYS} == "SunOS"
|
|
CONFIGURE_ARGS+= --with-sendmail=/usr/lib/sendmail
|
|
.else
|
|
CONFIGURE_ARGS+= --with-sendmail=/usr/sbin/sendmail
|
|
.endif
|
|
|
|
.if ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "arm32"
|
|
GCC_REQD+= 2.95.3
|
|
.endif
|
|
|
|
.include "options.mk"
|
|
|
|
pre-install:
|
|
.for file in ${CFILES} active.minimal newsgroups.minimal
|
|
${INSTALL_DATA} ${WRKSRC}/site/${file} ${DESTDIR}${EXAMPLEDIR}
|
|
.endfor
|
|
.for file in ${DBFILES} ${HTTPFILES}
|
|
${TOUCH} ${WRKSRC}/site/${file}
|
|
${INSTALL_DATA} ${WRKSRC}/site/${file} ${DESTDIR}${EXAMPLEDIR}
|
|
.endfor
|
|
.for file in ${FILTERFILES}
|
|
${INSTALL_DATA} ${WRKSRC}/site/${file} ${DESTDIR}${EXAMPLEDIR}/filter
|
|
.endfor
|
|
|
|
post-install:
|
|
.for file in cnfsstat ctlinnd makehistory innbind
|
|
${RM} -f ${DESTDIR}${PREFIX}/sbin/${file}
|
|
${LN} -s ${DESTDIR}${PREFIX}/${INN_PATHBIN}/${file} \
|
|
${DESTDIR}${PREFIX}/sbin
|
|
.endfor
|
|
${RM} -f ${DESTDIR}${PREFIX}/bin/inews
|
|
${LN} -s ${DESTDIR}${PREFIX}/${INN_PATHBIN}/inews \
|
|
${DESTDIR}${PREFIX}/bin
|
|
${RM} -f ${DESTDIR}${PREFIX}/bin/rnews
|
|
${LN} -s ${DESTDIR}${PREFIX}/${INN_PATHBIN}/rnews \
|
|
${DESTDIR}${PREFIX}/bin
|
|
.for file in libinn.a libstorage.a libinnhist.a
|
|
${CHMOD} 644 ${DESTDIR}${PREFIX}/lib/${file}
|
|
.endfor
|
|
|
|
.include "../../security/openssl/buildlink3.mk"
|
|
.include "../../mk/bsd.pkg.mk"
|