pkgsrc/news/inn/Makefile

131 lines
3.9 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.87 2008/01/18 05:08:52 tnn Exp $
Update "inn" package to version 2.4.3. Changes since version 2.4.1: - Previous versions of INN had an optimization for handling XHDR Newsgroups that used the Xref header from overview. While this does make the command much faster, it doesn't produce accurate results and breaks the NNTP protocol, so this optimization has been removed. - Fixed a bug in innd that allowed it to accept articles with duplicated headers if the header occurred an odd number of times. Modified the programs for rebuilding overview to use the last Xref header if there are multiple ones to avoid problems with spools that contain such invalid articles. - Fixed yet another problem with verifying that a user has permissions to approve posts to a moderated group. Thanks, Jens Schlegel. - Increase the send and receive buffer on the Unix domain socket used by ctlinnd. This should allow longer replies (particularly for innstat) on platforms with very low default Unix domain socket buffer sizes. - rnews's handling of articles with nul characters, NNTP errors, header problems, and deferrals has been significantly improved. - Thomas Parmelan added support to send-uucp for specifying the funnel or exploder site to flush for feeds managed through one and fixed a problem with picking up old stranded work files. - INN is now licensed under a less restrictive license (about as minimally restrictive as possible shy of public domain), and the clause similar to the old BSD advertising clause has been dropped. - make install and make update now always install the newly built binaries, rather than only installing them if the modification times are newer. This is the behavior that people expect. make install now also automatically builds a new (empty) history database if one doesn't already exist. - The embedded Tcl filter code has been disabled (and will be removed entirely in the next major release of INN). It hasn't worked for some time and causes innd crashes if compiled in (even if not used). If someone wants to step forward and maintain it, I recommend starting from scratch and emulating the Perl and Python filters. - ctlinnd should now successfully handle messages from INN up to the maximum allowable packet size in the protocol, fixing problems sites with many active peers were having with innstat output. - Overview generation has been fixed in both makehistory and innd to follow the rules in the latest NNTP draft rather than just replacing special characters with spaces. This means that the unfolding of folded header lines will not introduce additional, incorrect whitespace in the overview data. - nnrpd now uniformly responds with a 480 or 502 status code to attempts to read a newsgroup to which the user does not have access, depending on whether the user has authenticated. Previously, it returned a 411 status code, claiming the group didn't exist, which confuses the reactive authentication capability of news readers. - If a user is not authorized to approve articles (using the A access control in readers.conf), articles that include Approved headers will be rejected even if posted to unmoderated groups. Some other site may consider that group to be moderated. - The configuration parser used for readers.conf and others now correctly handles "#" inside quoted strings and is more robust against unmatched double quotes. - Messages mailed to moderators had two spaces after the colons in the headers, rather than one. This bug has been fixed. - A bug that could cause heap corruption and random crashes in innd if INN were compiled with Python support has been fixed. - Some problems with innd's tracking of article size and enforcement of the configured maximum article size have been fixed. - pgpverify will now correctly verify signatures generated by GnuPG and better supports GnuPG as the PGP implementation. - INN's code should now be more 64-bit clean in its handling of size_t, pointer differences, and casting of pointers, correcting problems that showed up on 64-bit platforms like AMD64. - Improved the error reporting in the history database code, in inews, in controlchan, and in expire. - Many other more minor bug fixes, optimization improvements, and documentation fixes.
2006-03-31 19:58:39 +02:00
DISTNAME= inn-2.4.3
PKGREVISION= 2
CATEGORIES= news
MASTER_SITES= ftp://ftp.isc.org/isc/inn/ \
ftp://ftp.fu-berlin.de/unix/news/inn/
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.isc.org/sw/inn/
COMMENT= The public release of InterNet News (INN)
CONFLICTS+= libradius-[0-9]* nntpclnt-[0-9]*
.include "Makefile.common"
BUILD_DEFS+= INN_DATA_DIR
FILES_SUBST+= INN_DATA_DIR=${INN_DATA_DIR:Q}
GNU_CONFIGURE= YES
GNU_CONFIGURE_PREFIX= ${INN_PREFIX}
GNU_CONFIGURE_MANDIR= ${PREFIX}/${PKGMANDIR}
CONFIGURE_ARGS+= --enable-setgid-inews \
--enable-uucp-rnews \
--with-perl \
--with-openssl=${SSLBASE:Q} \
--with-tmp-dir=${INN_DATA_DIR}/tmp \
--with-db-dir=${INN_DATA_DIR}/db \
--with-etc-dir=${INN_DATA_DIR}/etc \
--with-log-dir=${INN_DATA_DIR}/log \
--with-run-dir=${INN_DATA_DIR}/run \
--with-spool-dir=${INN_SPOOL:Q} \
--with-news-user=${INN_USER:Q} \
--with-news-group=${INN_GROUP:Q}
CONFIGURE_ENV+= _PATH_PERL=${PERL5:Q}
CONFIGURE_ENV+= _PATH_AWK=${TOOLS_AWK:Q}
CONFIGURE_ENV+= _PATH_EGREP=${TOOLS_EGREP:Q}
CONFIGURE_ENV+= _PATH_SED=${TOOLS_SED:Q}
CONFIGURE_ENV+= _PATH_SH=${TOOLS_SH:Q}
CONFIGURE_ENV+= _PATH_SORT=${TOOLS_SORT:Q}
CONFIGURE_ENV+= GZIP=${TOOLS_GZIP_CMD:Q}
USE_TOOLS+= awk egrep gzip perl:run sed sh sort yacc
PKG_GROUPS_VARS+= INN_GROUP
PKG_USERS_VARS+= INN_USER
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}
PKG_SYSCONFDIR.inn= ${INN_DATA_DIR}/etc
EXAMPLEDIR= ${PREFIX}/share/examples/inn
INN_DATADIRS= db etc log log/OLD run spool tmp
INN_SPOOLDIRS= archive articles overview incoming incoming/bad \
outgoing uniover innfeed
OWN_DIRS= ${PREFIX}/etc/nntp
OWN_DIRS_PERMS= ${INN_DATA_DIR} ${INN_USER} ${INN_GROUP} 0775
.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 cycbuff.conf distrib.pats \
expire.ctl incoming.conf inn.conf innfeed.conf \
innreport.conf innwatch.ctl moderators \
motd.news news2mail.cf newsfeeds nnrpd.track \
nntpsend.ctl ovdb.conf overview.fmt passwd.nntp \
radius.conf readers.conf sasl.conf storage.conf
.for file in ${CFILES}
CONF_FILES_PERMS+= ${EXAMPLEDIR}/${file} ${PKG_SYSCONFDIR}/${file} \
${INN_USER} ${INN_GROUP} 0664
.endfor
RCD_SCRIPTS= innd
.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"
post-patch:
${RM} -f ${WRKSRC}/samples/inn.conf.in.orig_dist
post-build:
for DIR in backends expire frontends innd innfeed lib nnrpd \
storage; do \
${SED} -e 's#-b .OLD##' -e 's#-G#-g#' -e 's#-O#-o#' \
${WRKSRC}/$$DIR/Makefile \
> ${WRKSRC}/$$DIR/Makefile.patch; \
${MV} ${WRKSRC}/$$DIR/Makefile.patch \
${WRKSRC}/$$DIR/Makefile; \
done
1998-09-17 17:39:53 +02:00
pre-install:
for DIR in ${INN_DATA_DIR} ${PREFIX}/etc/nntp ${PREFIX}/inn; do \
${INSTALL_DATA_DIR} $$DIR; \
done
post-install:
${RM} -f ${PREFIX}/bin/inews
${LN} -s ../inn/bin/inews ${PREFIX}/bin/inews
${INSTALL_DATA_DIR} ${PREFIX}/include/inn
cd ${PREFIX}/include/inn; \
for FILE in config.h dbz.h libinn.h storage.h; do \
${LN} -s ${INN_PREFIX}/include/$$FILE $$FILE; \
done
${INSTALL_DATA_DIR} ${EXAMPLEDIR}
for FILE in `ls -1 ${WRKSRC}/samples/* | \
${EGREP} -v '(Makefile|.*\.(in|orig)$$)'`; do \
${INSTALL_DATA} $$FILE ${EXAMPLEDIR}; \
done
.include "../../lang/perl5/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"