Package for Mailman 2.1.2. Based on mail/mailman, some observations of

wip/mailman21, and lots of playing around to make sure it builds binary
packages correctly.
This commit is contained in:
Todd Vierling 2003-09-16 21:11:12 +00:00
parent bad7072b9d
commit d4413e1096
12 changed files with 1604 additions and 0 deletions

9
mailman/DESCR Normal file
View file

@ -0,0 +1,9 @@
Mailman is software to help manage electronic mail discussion lists,
much like Majordomo or Smartmail. Mailman gives each mailing list a unique
web page and allows users to subscribe, unsubscribe, and change their
account options over the web. Even the list manager can administer his or
her list entirely via the web. Mailman has most of the features that
people want in a mailing list management system, including built-in
archiving, mail-to-news gateways, spam filters, bounce detection, digest
delivery, and so on. See the features page (http://www.list.org/features.html)
for more detail.

27
mailman/MESSAGE Normal file
View file

@ -0,0 +1,27 @@
===========================================================================
$NetBSD: MESSAGE,v 1.1.1.1 2003/09/16 21:11:13 tvierling Exp $
Mailman needs to know your mail domain and Web server hostname. Edit
${PREFIX}/lib/mailman/Mailman/mm_cfg.py and insert your hostname
in place of "localhost" in DEFAULT_EMAIL_HOST and DEFAULT_URL_HOST.
You will need to make mailman accessible through your HTTP server.
If you are running Apache, then you may add the following line to httpd.conf:
Include ${PKG_SYSCONFDIR}/mailman.conf
to make mailman and its archive accessible through, respectively,
http://www.domain.com/mailman/
http://www.domain.com/pipermail/
You will also need to add some crontab entries for the user ${MAILMAN_USER}.
You can use ${EXECDIR}/cron/crontab.in as template.
See the files in ${DOCDIR} for how to use mailman,
especially the sections:
4, starting with 'Create a "site-wide" mailing list'.
5, 'Customizing Mailman'
===========================================================================

101
mailman/Makefile Normal file
View file

@ -0,0 +1,101 @@
# $NetBSD: Makefile,v 1.1.1.1 2003/09/16 21:11:13 tvierling Exp $
DISTNAME= mailman-2.1.2
CATEGORIES= mail www
MASTER_SITES= ${MASTER_SITE_GNU:=mailman/}
EXTRACT_SUFX= .tgz
MAINTAINER= bouyer@NetBSD.org
HOMEPAGE= http://www.list.org/
COMMENT= The GNU Mailing List Manager
.include "../../mk/bsd.prefs.mk"
USE_PKGINSTALL= yes
PKG_SYSCONFSUBDIR?= httpd
MESSAGE_SUBST+= PKG_SYSCONFDIR=${PKG_SYSCONFDIR}
MESSAGE_SUBST+= DOCDIR=${DOCDIR}
GNU_CONFIGURE= yes
GNU_CONFIGURE_PREFIX= ${EXECDIR}
MAKE_FLAGS+= DIRSETGID=${TRUE}
EXECDIR= ${PREFIX}/lib/mailman
MAILMAN_DATADIR?= /var/db/mailman
EGDIR= ${PREFIX}/share/examples/mailman
DOCDIR= ${PREFIX}/share/doc/mailman
MAILMAN_USER?= mailman
MAILMAN_GROUP?= mailman
MAILMAN_MAILGROUP?= guest # group of user 'daemon'
MESSAGE_SUBST+= EXECDIR=${EXECDIR}
FILES_SUBST+= EXECDIR=${EXECDIR}
FILES_SUBST+= MAILMAN_USER=${MAILMAN_USER}
FILES_SUBST+= MAILMAN_GROUP=${MAILMAN_GROUP}
FILES_SUBST+= MAILMAN_DATADIR=${MAILMAN_DATADIR}
PLIST_SUBST+= PYVERSSUFFIX=${PYVERSSUFFIX}
PKG_GROUPS= ${MAILMAN_GROUP}
PKG_USERS= ${MAILMAN_USER}:${MAILMAN_GROUP}::Mailman\\ user::${SH}
OWN_DIRS_PERMS+= ${EXECDIR} root ${MAILMAN_GROUP} 755
OWN_DIRS_PERMS+= ${MAILMAN_DATADIR} ${MAILMAN_USER} ${MAILMAN_GROUP} 755
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
PYTHON_VERSIONS_ACCEPTED= 22 21
PYTHON_PATCH_SCRIPTS+= Mailman/Archiver/pipermail.py
PYTHON_PATCH_SCRIPTS+= Mailman/Post.py
PYTHON_PATCH_SCRIPTS+= admin/bin/Release.py
PYTHON_PATCH_SCRIPTS+= admin/bin/faq2ht.py
PYTHON_PATCH_SCRIPTS+= admin/bin/mm2do
PYTHON_PATCH_SCRIPTS+= bin/msgfmt.py
APACHE_GROUP?= www
CONFIGURE_ARGS+= --with-cgi-gid=${APACHE_GROUP}
CONFIGURE_ARGS+= --with-cgi-ext=.cgi
CONFIGURE_ARGS+= --with-groupname=${MAILMAN_GROUP}
CONFIGURE_ARGS+= --with-mail-gid=${MAILMAN_MAILGROUP}
CONFIGURE_ARGS+= --with-python=${PYTHONBIN}
CONFIGURE_ARGS+= --with-username=${MAILMAN_USER}
CONFIGURE_ARGS+= --with-var-prefix=${MAILMAN_DATADIR}
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
post-patch:
@${SED} ${FILES_SUBST_SED} ${FILESDIR}/mailman.conf.dist \
>${WRKDIR}/mailman.conf.dist
${RM} -f ${WRKSRC}/[A-Z]*.orig
pre-install:
${INSTALL} -d -o ${MAILMAN_USER} -g ${MAILMAN_GROUP} -m775 ${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
${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/*
.include "../../lang/python/application.mk"
.include "../../mk/bsd.pkg.mk"

1312
mailman/PLIST Normal file

File diff suppressed because it is too large Load diff

10
mailman/distinfo Normal file
View file

@ -0,0 +1,10 @@
$NetBSD: distinfo,v 1.1.1.1 2003/09/16 21:11:13 tvierling Exp $
SHA1 (mailman-2.1.2.tgz) = 8ec0c02f85981f9410cb9b74cac7331dde54a8f1
Size (mailman-2.1.2.tgz) = 4641165 bytes
SHA1 (patch-aa) = 032d6cba8daa69ddddd78478e3cd84bc69ad1b18
SHA1 (patch-ab) = 39f6294e53110bd1fd09b1e90ab46820f4d48e3f
SHA1 (patch-ac) = da26a9a02d0fc90e7a58edebdb3601a30c865821
SHA1 (patch-ad) = 665884b9dd1789e4abd430c762bdbfd707d48d30
SHA1 (patch-ae) = a63c55b5a95f5d4b90645146595b7a06f71d87ac
SHA1 (patch-af) = 985a619a055151d998cefd0c1b7280a0d55f889e

View file

@ -0,0 +1,30 @@
# $NetBSD: mailman.conf.dist,v 1.1.1.1 2003/09/16 21:11:13 tvierling Exp $
#
# Mailman configuration file fragment for Apache
<IfModule mod_alias.c>
ScriptAlias /mailman/ "@EXECDIR@/cgi-bin/"
Alias /pipermail/ "@MAILMAN_DATADIR@/archives/public/"
Alias /mailman-icons/ "@EXECDIR@/icons/"
</IfModule>
<Directory "@EXECDIR@/cgi-bin">
Options Indexes Includes MultiViews SymLinksIfOwnerMatch
AllowOverride FileInfo AuthConfig Limit
Order allow,deny
Allow from all
</Directory>
<Directory "@EXECDIR@/icons">
Options none
AllowOverride FileInfo AuthConfig Limit
Order allow,deny
Allow from all
</Directory>
<Directory "@MAILMAN_DATADIR@/archives/public/">
Options SymLinksIfOwnerMatch
AllowOverride FileInfo AuthConfig Limit
Order allow,deny
Allow from all
</Directory>

21
mailman/patches/patch-aa Normal file
View file

@ -0,0 +1,21 @@
$NetBSD: patch-aa,v 1.1.1.1 2003/09/16 21:11:13 tvierling Exp $
--- misc/Makefile.in.orig Mon Mar 31 14:27:08 2003
+++ misc/Makefile.in
@@ -40,7 +40,7 @@ DEFS= @DEFS@
OPT= @OPT@
CFLAGS= $(OPT) $(DEFS)
PACKAGEDIR= $(prefix)/Mailman
-DATADIR= $(var_prefix)/data
+DATADIR= $(prefix)/support
ICONDIR= $(prefix)/icons
SCRIPTSDIR= $(prefix)/scripts
@@ -90,6 +90,7 @@ install-packages:
do \
gunzip -c $(srcdir)/$$p.tar.gz | tar xf -; \
(cd $$p ; umask 02 ; PYTHONPATH=$(PYTHONLIBDIR) $(PYTHON) $(SETUPCMD)); \
+ rm -rf $$p; \
done
finish:

37
mailman/patches/patch-ab Normal file
View file

@ -0,0 +1,37 @@
$NetBSD: patch-ab,v 1.1.1.1 2003/09/16 21:11:13 tvierling Exp $
--- Makefile.in.orig Mon Sep 15 14:36:04 2003
+++ Makefile.in
@@ -65,7 +65,7 @@ DIRMODE= 775
EXEMODE= 755
FILEMODE= 644
INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
-DIRSETGID= chmod g+s
+DIRSETGID= :
DATE = $(shell python -c 'import time; print time.strftime("%d-%b-%Y"),')
LANGPACK = README-I18N.en templates messages
@@ -81,22 +81,10 @@ subdirs: $(SUBDIRS)
(cd $$d; $(MAKE)); \
done
-install: doinstall update
+install: doinstall
doinstall: $(SUBDIRS)
@echo "Creating architecture independent directories..."
- @for d in $(VAR_DIRS); \
- do \
- dir=$(DESTDIR)$(var_prefix)/$$d; \
- if test ! -d $$dir; then \
- echo "Creating directory hierarchy $$dir"; \
- $(srcdir)/mkinstalldirs $$dir; \
- chmod $(DIRMODE) $$dir; \
- $(DIRSETGID) $$dir; \
- else true; \
- fi; \
- done
- chmod o-r $(DESTDIR)$(var_prefix)/archives/private
@for d in $(ARCH_INDEP_DIRS); \
do \
dir=$(DESTDIR)$(prefix)/$$d; \

13
mailman/patches/patch-ac Normal file
View file

@ -0,0 +1,13 @@
$NetBSD: patch-ac,v 1.1.1.1 2003/09/16 21:11:13 tvierling Exp $
--- INSTALL.orig Mon Sep 15 15:01:56 2003
+++ INSTALL
@@ -331,7 +331,7 @@ upgrade.
for a generic site list in misc/sitelist.cfg to help you with
this. The template can be applied to your site list by running:
- % bin/config_list -i data/sitelist.cfg mailman
+ % bin/config_list -i support/sitelist.cfg mailman
Before doing this, review the configuration options in the
template (note that many options are not changed by

16
mailman/patches/patch-ad Normal file
View file

@ -0,0 +1,16 @@
$NetBSD: patch-ad,v 1.1.1.1 2003/09/16 21:11:13 tvierling Exp $
--- Mailman/mm_cfg.py.dist.in.orig Mon Sep 15 15:20:02 2003
+++ Mailman/mm_cfg.py.dist.in
@@ -42,3 +42,11 @@ from Defaults import *
##################################################
# Put YOUR site-specific settings below this line.
+
+# IMPORTANT: Edit the following two definitions to provide the domain
+# name of your mail lists, and host name of the Web server.
+# (Leave the add_virtualhost line alone.)
+#
+DEFAULT_EMAIL_HOST = '@MAILHOST@'
+DEFAULT_URL_HOST = '@URLHOST@'
+add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)

13
mailman/patches/patch-ae Normal file
View file

@ -0,0 +1,13 @@
$NetBSD: patch-ae,v 1.1.1.1 2003/09/16 21:11:13 tvierling Exp $
--- Mailman/Defaults.py.in.orig Sun Apr 20 00:02:03 2003
+++ Mailman/Defaults.py.in
@@ -54,7 +54,7 @@ No = no = Off = off = False
# disable Mailman's logo footer altogther, hack
# Mailman/htmlformat.py:MailmanLogo(), which also contains the hardcoded links
# and image names.
-IMAGE_LOGOS = '/icons/'
+IMAGE_LOGOS = '/mailman-icons/'
# The name of the Mailman favicon
SHORTCUT_ICON = 'mm-icon.png'

15
mailman/patches/patch-af Normal file
View file

@ -0,0 +1,15 @@
$NetBSD: patch-af,v 1.1.1.1 2003/09/16 21:11:13 tvierling Exp $
--- Mailman/Makefile.in.orig Mon Sep 15 14:37:14 2003
+++ Mailman/Makefile.in
@@ -68,10 +68,6 @@ install-here:
$(INSTALL) -m $(FILEMODE) $$f $(DESTDIR)$(PACKAGEDIR); \
done
$(INSTALL) -m $(FILEMODE) mm_cfg.py.dist $(DESTDIR)$(PACKAGEDIR)
- if [ ! -f $(DESTDIR)$(PACKAGEDIR)/mm_cfg.py ]; \
- then \
- $(INSTALL) -m $(FILEMODE) mm_cfg.py.dist $(DESTDIR)$(PACKAGEDIR)/mm_cfg.py; \
- fi
install: install-here
for d in $(SUBDIRS); \