- Update to version 2.2.1, which includes a fix to a cross-site scripting

vulnerability.
- Add a file, installed to $DOCSDIR, with more explicit post-installation
  instructions.
- Update $PKGMESSAGE to point to this new file.
- Add more explicit warnings in various places that MAIL_GID *must* be set at
  build time if Mailman is to be used with an alternate (non-Sendmail) MTA.
- Bring port in line with other similar ports by NOT explicitly depending on
  Apache.  This is both more maintainable and allows the user greater scope
  in setting up a custom configuration, including the use of an alternative
  web server.  (Also, Mailman _can_ be used without a web server.)
- Clean up which documentation files get installed to $DOCSDIR.
This commit is contained in:
Johann Visagie 2003-02-12 08:10:37 +00:00
parent 7bb746c91e
commit 988d00b519
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=75351
7 changed files with 229 additions and 37 deletions

View file

@ -6,8 +6,7 @@
# #
PORTNAME= mailman PORTNAME= mailman
PORTVERSION= 2.1 PORTVERSION= 2.1.1
PORTREVISION= 3
CATEGORIES= mail CATEGORIES= mail
MASTER_SITES= http://www.list.org/ \ MASTER_SITES= http://www.list.org/ \
${MASTER_SITE_GNU} \ ${MASTER_SITE_GNU} \
@ -18,11 +17,6 @@ EXTRACT_SUFX= .tgz
MAINTAINER= wjv@FreeBSD.org MAINTAINER= wjv@FreeBSD.org
RUN_DEPENDS= lynx:${PORTSDIR}/www/lynx RUN_DEPENDS= lynx:${PORTSDIR}/www/lynx
.if defined(WITH_APACHE13)
RUN_DEPENDS+= ${LOCALBASE}/sbin/httpd:${PORTSDIR}/www/apache13
.else
RUN_DEPENDS+= ${LOCALBASE}/sbin/httpd:${PORTSDIR}/www/apache2
.endif
.if defined(WITH_CHINESE) .if defined(WITH_CHINESE)
RUN_DEPENDS+= ${PYTHONPREFIX_LIBDIR}/encodings/chinesecn/__init__.py:${PORTSDIR}/chinese/pycodec RUN_DEPENDS+= ${PYTHONPREFIX_LIBDIR}/encodings/chinesecn/__init__.py:${PORTSDIR}/chinese/pycodec
.endif .endif
@ -62,6 +56,10 @@ PKGINSTALL= ${WRKDIR}/pkg-install
PKGDEINSTALL= ${WRKDIR}/pkg-deinstall PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
PKGOPTS= ${FILESDIR}/pkg-opts PKGOPTS= ${FILESDIR}/pkg-opts
PLIST_SUB+= MMDIR=${MM_DIR} IMGDIR=${IMGDIR} PLIST_SUB+= MMDIR=${MM_DIR} IMGDIR=${IMGDIR}
DOCFILES= ACKNOWLEDGMENTS BUGS FAQ INSTALL NEWS README README-I18N.en \
README.CONTRIB README.EXIM README.NETSCAPE README.POSTFIX \
README.QMAIL README.SENDMAIL README.USERAGENT TODO UPGRADING
IMGFILES= PythonPowered.png mailman.jpg mm-icon.png
options: options:
@ ${ECHO_MSG} "===> Build options for ${PKGNAME}:" @ ${ECHO_MSG} "===> Build options for ${PKGNAME}:"
@ -71,6 +69,11 @@ post-extract:
.if !defined(BATCH) .if !defined(BATCH)
@ ${TEST} -r ${PKGOPTS} && \ @ ${TEST} -r ${PKGOPTS} && \
(${ECHO_MSG} '-------------------------------------------------------------------------'; \ (${ECHO_MSG} '-------------------------------------------------------------------------'; \
${ECHO_MSG} ' = IMPORTANT NOTICE = '; \
${ECHO_MSG} 'Getting the values of certain build time variables right is CRUCIAL if '; \
${ECHO_MSG} 'you want your Mailman installation to function! Pay specific attention '; \
${ECHO_MSG} 'to the value of MAIL_GID if you use an alternative MTA (not Sendmail). '; \
${ECHO_MSG} ' '; \
${ECHO_MSG} 'Perform a "make options" to see a list of available installation options.'; \ ${ECHO_MSG} 'Perform a "make options" to see a list of available installation options.'; \
${ECHO_MSG} '-------------------------------------------------------------------------') ${ECHO_MSG} '-------------------------------------------------------------------------')
.endif .endif
@ -95,7 +98,8 @@ post-configure:
-e 's#%%PREFIX%%#${PREFIX}#g' -e 's#%%MAILMANDIR%%#${MAILMANDIR}#g' \ -e 's#%%PREFIX%%#${PREFIX}#g' -e 's#%%MAILMANDIR%%#${MAILMANDIR}#g' \
pkg-deinstall > ${PKGDEINSTALL} pkg-deinstall > ${PKGDEINSTALL}
@ ${SED} -e 's#%%MAILMANDIR%%#${MAILMANDIR}#g' \ @ ${SED} -e 's#%%MAILMANDIR%%#${MAILMANDIR}#g' \
-e 's#%%DOCSDIR%%#${DOCSDIR}#g' pkg-message > ${PKGMESSAGE} -e 's#%%DOCSDIR%%#${DOCSDIR}#g' -e 's#%%LOCALBASE%%#${LOCALBASE}#g' \
pkg-message > ${PKGMESSAGE}
pre-install: pre-install:
@ ${SH} ${PKGREQ} INSTALL @ ${SH} ${PKGREQ} INSTALL
@ -107,14 +111,15 @@ post-install:
.endfor .endfor
@ ${CHGRP} -R ${MM_GROUPNAME} ${MAILMANDIR} @ ${CHGRP} -R ${MM_GROUPNAME} ${MAILMANDIR}
@ ${MKDIR} ${PREFIX}/${IMGDIR} @ ${MKDIR} ${PREFIX}/${IMGDIR}
.for imgfile in mailman.jpg mm-icon.png PythonPowered.png .for imgfile in ${IMGFILES}
@ ${CP} ${MAILMANDIR}/icons/${imgfile} ${PREFIX}/${IMGDIR} @ ${CP} ${MAILMANDIR}/icons/${imgfile} ${PREFIX}/${IMGDIR}
.endfor .endfor
@ uudecode -p ${FILESDIR}/powerlogo.gif.uue > \ @ uudecode -p ${FILESDIR}/powerlogo.gif.uue > \
${PREFIX}/${IMGDIR}/powerlogo.gif ${PREFIX}/${IMGDIR}/powerlogo.gif
.if !defined(NOPORTDOCS) .if !defined(NOPORTDOCS)
@ ${MKDIR} ${DOCSDIR} @ ${MKDIR} ${DOCSDIR}
.for docfile in BUGS FAQ INSTALL NEWS README* UPGRADING @ ${INSTALL_DATA} ${FILESDIR}/FreeBSD-post-install-notes ${DOCSDIR}
.for docfile in ${DOCFILES}
@ ${INSTALL_DATA} ${WRKSRC}/${docfile} ${DOCSDIR} @ ${INSTALL_DATA} ${WRKSRC}/${docfile} ${DOCSDIR}
.endfor .endfor
.endif .endif

View file

@ -1 +1 @@
MD5 (mailman-2.1.tgz) = d486abaa1404e2fe93d72d3cdd9c84af MD5 (mailman-2.1.1.tgz) = 7f7cdc52a40a17a2c7ee91c5f4dd675d

View file

@ -0,0 +1,182 @@
# ----------------------------------------------------------------------
# Post-installation instructions for the FreeBSD port/package of Mailman
# $FreeBSD$
# ----------------------------------------------------------------------
CONTENTS:
* VERY IMPORTANT NOTE
* IMPORTANT NOTE: Using Mailman with alternate MTAs
1) General post-installation instructions
2) Integrating Mailman with your web server
3) Integrating Mailman with various mail servers
3.1) Sendmail
3.2) Exim
3.3) Postfix
3.4) Qmail
VERY IMPORTANT NOTE
The Mailman port has a number of build time options. Getting the values of
some of these right is CRUCIAL if you want your Mailman installation to work!
To see a list of build time options, go to the Mailman port's directory
(/usr/ports/mail/mailman by default) and perform a "make options".
IMPORTANT NOTE: Using Mailman with alternate MTAs
By default, the Mailman port is configured to work with Sendmail. If you
wish to use Mailman with an alternate MTA, you MUST set the value of MAIL_GID
correctly when building the port. Perform a "make options" in the port
directory (as explained above) to see a list of possible values for MAIL_GID.
If you have installed Mailman from a pre-compiled package (e.g. from
a FreeBSD distribution CD), chances are that the package had been built with
the default value for MAIL_GID and will only work with Sendmail. You will
probably have to build the Mailman port yourself to get it to work with your
MTA.
Further down in this document you will find sections dealing with most
popular MTAs.
1) General post-installation instructions
You should find two files named "INSTALL" and "README" in the same
directory as this file. You should read them for general
post-installation instructions. Bear in mind that the installation of
Mailman from the FreeBSD port or package may have already taken care of
many of the steps you may read about in these files. Also, not everything
in these files is necessarily relevant to the FreeBSD port.
2) Integrating Mailman with your web server
You need to set up your webserver to find Mailman's CGI scripts. The
Mailman port works well with either Apache 1.3.x or Apache 2.x as
installed from their respective ports (www/apache13 and www/apache2).
If you're using Apache, you need to add at least two lines to your
httpd.conf. Assuming that you installed the Mailman port in the default
location (/usr/local/mailman), they are:
ScriptAlias /mailman "/usr/local/mailman/cgi-bin"
Alias /pipermail "/usr/local/mailman/archives/public"
If you installed the Mailman port to a non-standard location, replace
"/usr/local/mailman" as appropriate.
If your Apache is configured for multiple virtual servers, ensure that the
above configuration lines appear in all the relevant <VirtualHost>
sections.
Remember to restart your Apache server after you have changed httpd.conf!
No specific instructions exist at this time on how to integrate the
Mailman port with web servers other than Apache. Please submit any such
information to the maintainer of the Mailman port.
3) Integrating Mailman with various mail servers
3.1) Sendmail
No modification of MAIL_GID should be required when building the Mailman
port. The port is designed to work with Sendmail by default.
Review the instructions found in README.SENDMAIL in the same directory
as this file.
No further instructions exist at this time on how to integrate the
Mailman port with Sendmail. Please submit any such information to the
maintainer of the Mailman port.
3.2) Exim
The following instructions assume that Exim has been set up from the
FreeBSD Exim port, and that it runs with a fairly default configuration.
Specifically, it assumes that Exim runs under the default UID and GID as
configured by the FreeBSD port. In other words, that the following
lines appear in Exim's configure file:
exim_user = mailnull
exim_group = mail
For Exim 3.x, the value of MAIL_GID has to be set to 'nobody' (or 65534)
when building the Mailman port.
For Exim 4.x, the value of MAIL_GID has to be set to 'mail' (or 6) when
building the Mailman port.
For example, to build and install the Mailman port for Exim4, perform
the following in /usr/ports/mail/mailman:
# make MAIL_GID=6 install
Next, follow the instructions in REAME.EXIM found in the same directory
as this file. You can add the macros, transport and router found in
README.EXIM verbatim to your Exim's configure file.
Note that README.EXIM as installed with the FreeBSD port of Mailman has
been patched, and should be trusted over a version of the file obtained
from another source. Specifically, when adding the macros found in
README.EXIM, you should set the MAILMAN_USER and MAILMAN_GROUP to the
same values as those for Exim, namely:
MAILMAN_USER=mailnull
MAILMAN_GROUP=mail
Once you have finished editing configure, remember to re-HUP your Exim
server:
# kill -1 `cat /var/run/exim.pid`
Now, start Mailman's qrunner daemon:
# /usr/local/etc/rc.d/mailman.sh start
Troubleshooting: If you ever see an error message such as the following
in your Exim's mainlog, it's a sure sign that Exim and Mailman disagree
about the GID under which mail is delivered:
** testlist@your.host.com R=mailman_router T=mailman_transport:
Child process of mailman_transport transport returned 2 from command:
/usr/local/mailman/mail/mailman
In this case, ensure that you have followed the instructions in this
section to the letter.
3.3) Postfix
The value of MAIL_GID has to be set to 'nobody' (or 65534) when building
the Mailman port. This has been confirmed by the maintainer of the
FreeBSD port of Postfix.
Review the instructions found in README.POSTFIX in the same directory
as this file.
No further instructions exist at this time on how to integrate the
Mailman port with Postfix. Please submit any such information to the
maintainer of the Mailman port.
3.4) Qmail
The maintainer of the Mailman port has no information at this time as to
the required value of MAIL_GID for Mailman to work with Qmail. :-(
Review the instructions found in README.QMAIL in the same directory as
this file.
No further instructions exist at this time on how to integrate the
Mailman port with Qmail. Please submit any such information to the
maintainer of the Mailman port.
-- Johann Visagie <wjv@FreeBSD.org>
(Mailman port maintainer)

View file

@ -0,0 +1,13 @@
--- README.EXIM.orig Fri Oct 18 23:02:15 2002
+++ README.EXIM Tue Jan 28 11:18:24 2003
@@ -77,8 +77,8 @@
# User and group for Mailman, should match your --with-mail-gid
# switch to Mailman's configure script.
- MAILMAN_USER=mailman
- MAILMAN_GROUP=mailman
+ MAILMAN_USER=mailnull
+ MAILMAN_GROUP=mail
Transport for Exim 3

View file

@ -22,7 +22,7 @@
The group name or id under which your MTA performs mail delivery The group name or id under which your MTA performs mail delivery
Getting the value of MAIL_GID right is crucial to getting Mailman to work Getting the value of MAIL_GID right is crucial to getting Mailman to work
with your MTA. By default this port works with sendmail. If you're with your MTA. By default this port works with Sendmail. If you're
using an alternative MTA installed from ports, you should set MAIL_GID at using an alternative MTA installed from ports, you should set MAIL_GID at
build time according to the following table. You may use either the build time according to the following table. You may use either the
group name or the numerical GID. (Please contact this port's maintainer group name or the numerical GID. (Please contact this port's maintainer
@ -46,9 +46,6 @@
* IMGDIR [www/icons] * IMGDIR [www/icons]
Icon images will be installed in ${PREFIX}/${IMGDIR} Icon images will be installed in ${PREFIX}/${IMGDIR}
* WITH_APACHE13 [undefined]
If defined, port depends on Apache 1.3.x instead of 2.x
* WITH_CHINESE [undefined] * WITH_CHINESE [undefined]
Define to include support for Chinese mailing lists Define to include support for Chinese mailing lists

View file

@ -1,26 +1,21 @@
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
Mailman has been installed, but is not quite ready to be used yet! Mailman has been installed, but requires further configuration before use!
You need to configure both Mailman and your MTA to integrate with each
other. At the very least, you'll need to create these aliases:
mailman: you@your.domain.com You will have to configure both your MTA (mail server) and web server to
mailman-owner: mailman integrate with Mailman. If the port's documentation has been installed,
extensive post-installation instructions may be found in:
You will also find README files with MTA-specific hints in %%DOCSDIR%%/FreeBSD-post-install-notes
%%DOCSDIR%%.
You'll need to add at least the following to Apache's httpd.conf to Note (1): If you use an alternate (non-Sendmail) MTA, you MUST be sure
activate Mailman's web interface: that the correct value of MAIL_GID was used when this port or package
was built. Performing a "make options" in the Mailman port directory
will list required values for various mail servers.
ScriptAlias /mailman "%%MAILMANDIR%%/cgi-bin" Note (2): The entire Mailman installation resides under %%MAILMANDIR%%
Alias /pipermail "%%MAILMANDIR%%/archives/public" The command-line scripts necessary to administer Mailman have been
installed in %%MAILMANDIR%%/bin
Remember to reload your mail aliases if required, and to restart your httpd! Note (3): As of version 2.1, Mailman's queue runner runs as a daemon and
is started by a script in %%LOCALBASE%%/etc/rc.d
See INSTALL and UPGRADING in %%DOCSDIR%% for further
post-installation instructions.
Note: The entire Mailman installation resides under %%MAILMANDIR%%.
The command-line scripts necessary to administer Mailman have been installed
in %%MAILMANDIR%%/bin.
---------------------------------------------------------------------------- ----------------------------------------------------------------------------

View file

@ -1341,22 +1341,22 @@
%%MMDIR%%/tests/test_safedict.py %%MMDIR%%/tests/test_safedict.py
%%MMDIR%%/tests/test_security_mgr.py %%MMDIR%%/tests/test_security_mgr.py
%%MMDIR%%/tests/testall.py %%MMDIR%%/tests/testall.py
%%PORTDOCS%%share/doc/mailman/ACKNOWLEDGMENTS
%%PORTDOCS%%share/doc/mailman/BUGS %%PORTDOCS%%share/doc/mailman/BUGS
%%PORTDOCS%%share/doc/mailman/FAQ %%PORTDOCS%%share/doc/mailman/FAQ
%%PORTDOCS%%share/doc/mailman/FreeBSD-post-install-notes
%%PORTDOCS%%share/doc/mailman/INSTALL %%PORTDOCS%%share/doc/mailman/INSTALL
%%PORTDOCS%%share/doc/mailman/NEWS %%PORTDOCS%%share/doc/mailman/NEWS
%%PORTDOCS%%share/doc/mailman/README %%PORTDOCS%%share/doc/mailman/README
%%PORTDOCS%%share/doc/mailman/README-I18N.en %%PORTDOCS%%share/doc/mailman/README-I18N.en
%%PORTDOCS%%share/doc/mailman/README.BSD
%%PORTDOCS%%share/doc/mailman/README.CONTRIB %%PORTDOCS%%share/doc/mailman/README.CONTRIB
%%PORTDOCS%%share/doc/mailman/README.EXIM %%PORTDOCS%%share/doc/mailman/README.EXIM
%%PORTDOCS%%share/doc/mailman/README.LINUX
%%PORTDOCS%%share/doc/mailman/README.MACOSX
%%PORTDOCS%%share/doc/mailman/README.NETSCAPE %%PORTDOCS%%share/doc/mailman/README.NETSCAPE
%%PORTDOCS%%share/doc/mailman/README.POSTFIX %%PORTDOCS%%share/doc/mailman/README.POSTFIX
%%PORTDOCS%%share/doc/mailman/README.QMAIL %%PORTDOCS%%share/doc/mailman/README.QMAIL
%%PORTDOCS%%share/doc/mailman/README.SENDMAIL %%PORTDOCS%%share/doc/mailman/README.SENDMAIL
%%PORTDOCS%%share/doc/mailman/README.USERAGENT %%PORTDOCS%%share/doc/mailman/README.USERAGENT
%%PORTDOCS%%share/doc/mailman/TODO
%%PORTDOCS%%share/doc/mailman/UPGRADING %%PORTDOCS%%share/doc/mailman/UPGRADING
etc/rc.d/mailman.sh etc/rc.d/mailman.sh
@dirrm %%MMDIR%%/tests/msgs @dirrm %%MMDIR%%/tests/msgs