pkgsrc/mail/mailman/Makefile
adam a2de057f6a Changes 2.1.12:
* Fix compatibility with Python 2.6.
* Fixed a bug in admin.py which would result in chunked pages of the
  membership list for members whose address begins with a non-alphanumeric
  character to not be visible or retrievable.
* Changed ListAdmin.py to make rejected post messages From: the -owner
  address instead of the -bounces address.
* With MTA = 'Postfix', if the STANZA END for a list being removed is
  missing or munged, the remainder of the aliases and/or virtual-mailman
  file is lost. Fixed.
* Since Mailman 2.1.1, 2.0.x outstanding subscription and held message
  requests have not been migrated properly. This is fixed.
* Changed cron/gate_news to continue processing the remaining lists on
  certain errors that can be caused by configuration of a particular list.
* Fixed a bug in AvoidDuplicates.py that caused it to fail if the address
  in the To: or Cc: header differed in case from the case-preserved member
  address.
* Fixed a problem in SecurityManager that caused it to not find the
  cookie when CheckCookie was not given a user and the user in the cookie
  had a %xx encoded character.
* Fixed a minor fromusenet reporting issue in the contributed mmdsr
  script.
* Fixed a minor issue in cron/gate_news that could cause a list's
  watermark to not be completely updated.
* Fixed an issue that prevented editing the options.html template from
  the web admin interface.
* Fixed a problem in Decorate which could throw a TypeError on conversion
  to unicode of a header/footer that was already unicode because of
  interpolating a unicode value.
* Fixed an issue where list creation would report bad owner email
  instead of bad listname when the list name had non-ascii characters.
* Updated Dutch, Catalan and Polish translations.
2009-06-03 06:55:07 +00:00

132 lines
4.5 KiB
Makefile

# $NetBSD: Makefile,v 1.58 2009/06/03 06:55:07 adam Exp $
DISTNAME= mailman-2.1.12
CATEGORIES= mail www
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=mailman/}
EXTRACT_SUFX= .tgz
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.list.org/
COMMENT= The GNU Mailing List Manager
.include "../../mk/bsd.prefs.mk"
PKG_SYSCONFSUBDIR?= httpd
MESSAGE_SUBST+= PKG_SYSCONFDIR=${PKG_SYSCONFDIR}
MESSAGE_SUBST+= DOCDIR=${DOCDIR}
GNU_CONFIGURE= yes
GNU_CONFIGURE_PREFIX= ${EXECDIR}
MAKE_FLAGS+= DIRSETGID=${TRUE:Q}
EXECDIR= ${PREFIX}/lib/mailman
MAILMAN_DATADIR?= ${VARBASE}/db/mailman
EGDIR= ${PREFIX}/share/examples/mailman
DOCDIR= ${PREFIX}/share/doc/mailman
MAILMAN_USER?= mailman
MAILMAN_GROUP?= mailman
MAILMAN_CGIGROUP?= ${APACHE_GROUP}
MAILMAN_MAILGROUP?= daemon # group sendmail runs under;
# use 'nobody' for postfix
MAILMAN_CGIEXT?= .cgi
MESSAGE_SUBST+= EXECDIR=${EXECDIR}
MESSAGE_SUBST+= MAILMAN_USER=${MAILMAN_USER}
PLIST_SUBST+= PYVERSSUFFIX=${PYVERSSUFFIX:Q}
PLIST_SUBST+= MAILMAN_CGIEXT=${MAILMAN_CGIEXT:S/none//}
PKG_GROUPS_VARS+= MAILMAN_GROUP MAILMAN_CGIGROUP MAILMAN_MAILGROUP
PKG_USERS_VARS+= MAILMAN_USER
PKG_GROUPS= ${MAILMAN_GROUP}
PKG_USERS= ${MAILMAN_USER}:${MAILMAN_GROUP}
PKG_GECOS.${MAILMAN_USER}= Mailman user
PKG_SHELL.${MAILMAN_USER}= ${SH}
REQD_DIRS_PERMS+= ${EXECDIR} root ${MAILMAN_GROUP} 775
OWN_DIRS_PERMS+= ${MAILMAN_DATADIR} ${MAILMAN_USER} ${MAILMAN_GROUP} 775
MAKE_DIRS_PERMS+= ${MAILMAN_DATADIR}/archives ${MAILMAN_USER} ${MAILMAN_GROUP} 775
MAKE_DIRS_PERMS+= ${MAILMAN_DATADIR}/archives/public ${MAILMAN_USER} ${MAILMAN_GROUP} 775
MAKE_DIRS_PERMS+= ${MAILMAN_DATADIR}/archives/private ${MAILMAN_USER} ${MAILMAN_GROUP} 771
MAKE_DIRS_PERMS+= ${MAILMAN_DATADIR}/data ${MAILMAN_USER} ${MAILMAN_GROUP} 775
MAKE_DIRS_PERMS+= ${MAILMAN_DATADIR}/lists ${MAILMAN_USER} ${MAILMAN_GROUP} 775
MAKE_DIRS_PERMS+= ${MAILMAN_DATADIR}/locks ${MAILMAN_USER} ${MAILMAN_GROUP} 775
MAKE_DIRS_PERMS+= ${MAILMAN_DATADIR}/logs ${MAILMAN_USER} ${MAILMAN_GROUP} 775
MAKE_DIRS_PERMS+= ${MAILMAN_DATADIR}/qfiles ${MAILMAN_USER} ${MAILMAN_GROUP} 775
MAKE_DIRS_PERMS+= ${MAILMAN_DATADIR}/spam ${MAILMAN_USER} ${MAILMAN_GROUP} 775
CONF_FILES+= ${EGDIR}/mailman.conf ${PKG_SYSCONFDIR}/mailman.conf
CONF_FILES+= ${EXECDIR}/Mailman/mm_cfg.py.dist ${EXECDIR}/Mailman/mm_cfg.py
RCD_SCRIPTS= mailman
INSTALL_TEMPLATES+= ${FILESDIR}/INSTALL
DEINSTALL_TEMPLATES+= ${FILESDIR}/DEINSTALL
PYTHON_PATCH_SCRIPTS+= Mailman/Archiver/pipermail.py
PYTHON_PATCH_SCRIPTS+= Mailman/Post.py
PYTHON_PATCH_SCRIPTS+= bin/msgfmt.py
CONFIGURE_ARGS+= --with-cgi-gid=${MAILMAN_CGIGROUP:Q}
.if ${MAILMAN_CGIEXT} != "none"
CONFIGURE_ARGS+= --with-cgi-ext=${MAILMAN_CGIEXT:Q}
.endif
CONFIGURE_ARGS+= --with-groupname=${MAILMAN_GROUP:Q}
CONFIGURE_ARGS+= --with-mail-gid=${MAILMAN_MAILGROUP:Q}
CONFIGURE_ARGS+= --with-python=${PYTHONBIN:Q}
CONFIGURE_ARGS+= --with-username=${MAILMAN_USER:Q}
CONFIGURE_ARGS+= --with-var-prefix=${MAILMAN_DATADIR:Q}
CONFIGURE_ARGS+= --without-permcheck
# Put in externally invalid defaults (MESSAGE directs how to fix it)
CONFIGURE_ARGS+= --with-mailhost=localhost
CONFIGURE_ARGS+= --with-urlhost=localhost
# dont create egg-info files in pythonlib
INSTALL_ENV+= PKGSRC_PYTHON_NO_EGG=defined
BUILD_DEFS+= MAILMAN_DATADIR
BUILD_DEFS+= MAILMAN_CGIEXT
SUBST_CLASSES+= paths
SUBST_FILES.paths= ${WRKDIR}/mailman.conf.dist
SUBST_SED.paths+= -e 's,@EXECDIR@,${EXECDIR},g'
SUBST_SED.paths+= -e 's,@MAILMAN_DATADIR@,${MAILMAN_DATADIR},g'
SUBST_STAGE.paths= post-patch
PYCOMPILEALL= ${BUILDLINK_PREFIX.${PYPACKAGE}}/${PYLIB}/compileall.py
# mailman depends a lot on it and will bitch if changed.
CHECK_PERMS= no
REPLACE_PYTHON+= cron/senddigests
post-extract:
${CP} ${FILESDIR}/mailman.conf.dist ${WRKDIR}/mailman.conf.dist
post-patch:
${RM} -f ${WRKSRC}/[A-Z]*.orig
pre-install:
${INSTALL} -d -o ${MAILMAN_USER} -g ${MAILMAN_GROUP} -m 775 ${EXECDIR}
${INSTALL_DATA_DIR} ${DOCDIR}
${INSTALL_DATA_DIR} ${EXECDIR}/support
post-install:
cd ${WRKSRC} && for i in [A-IN-U]*; do \
${INSTALL_DATA} $$i ${DOCDIR}/; \
done
cd ${WRKSRC}/doc && for i in \
mailman-*.ps mailman-*.pdf mailman-*.txt; do \
${INSTALL_DATA} $$i ${DOCDIR}/; \
done
${INSTALL_DATA_DIR} ${EGDIR}
${INSTALL_DATA} ${WRKDIR}/mailman.conf.dist ${EGDIR}/mailman.conf
${CHOWN} -R root:${MAILMAN_GROUP} ${EXECDIR}
${CHMOD} -R g+w ${EXECDIR}
${CHMOD} g+s ${EXECDIR}/cgi-bin/*
${PYTHONBIN} ${PYCOMPILEALL} ${PREFIX}/lib/mailman/bin ${PREFIX}/lib/mailman/cron ${PREFIX}/lib/mailman/scripts
.include "../../lang/python/application.mk"
.include "../../mk/bsd.pkg.mk"