diff options
author | wjv <wjv@FreeBSD.org> | 2002-02-19 21:58:55 +0800 |
---|---|---|
committer | wjv <wjv@FreeBSD.org> | 2002-02-19 21:58:55 +0800 |
commit | 5798758915a9ad9ed8239f1952a31e1401ef8c9c (patch) | |
tree | 734c0c4e5ec9720dc1b7f27171f10f7c158ba161 /mail/mailman | |
parent | 29823a820001f5fc99060d034fed72ac3366764b (diff) | |
download | freebsd-ports-gnome-5798758915a9ad9ed8239f1952a31e1401ef8c9c.tar.gz freebsd-ports-gnome-5798758915a9ad9ed8239f1952a31e1401ef8c9c.tar.zst freebsd-ports-gnome-5798758915a9ad9ed8239f1952a31e1401ef8c9c.zip |
- Just another checkpoint commit in the cleanup of the Mailman port.
- Add a (non-standard) $PKGOPTS file (currently $FILESDIR/pkg-opts) to
document the user configurable build time variables supported by the port.
Add a target "options" to Makefile to display build time options in a human
readable format. Remove reams of comments from Makefile - superseded by
$PKGOPTS.
- Clean up the killing of running qrunner processes in $PKGDEINSTALL.
- Bump the $PORTREVISION. (Yes, again.)
Diffstat (limited to 'mail/mailman')
-rw-r--r-- | mail/mailman/Makefile | 52 | ||||
-rw-r--r-- | mail/mailman/files/pkg-opts | 27 | ||||
-rw-r--r-- | mail/mailman/pkg-deinstall | 18 | ||||
-rw-r--r-- | mail/mailman/pkg-descr | 32 |
4 files changed, 76 insertions, 53 deletions
diff --git a/mail/mailman/Makefile b/mail/mailman/Makefile index c85c9bf429a4..68ffd9dc80d2 100644 --- a/mail/mailman/Makefile +++ b/mail/mailman/Makefile @@ -7,7 +7,7 @@ PORTNAME= mailman PORTVERSION= 2.0.8 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= mail MASTER_SITES= http://www.list.org/ \ ${MASTER_SITE_GNU} \ @@ -24,38 +24,24 @@ CONFIGURE_ARGS= --prefix=${MAILMANDIR} \ --with-python=${PYTHON_CMD} \ --with-mail-gid=${MAIL_GID} --with-cgi-gid=${CGI_GID} USE_PYTHON= yes +PKGOPTS= ${FILESDIR}/pkg-opts .include <bsd.port.pre.mk> -# These variables may be tweaked if required. However, it is recommended -# that the USERID and GROUPID not be changed. +# The Mailman port supports a number of variables that may be tweaked at +# build time. Getting the values of some of them right is crucial! +# Perform a "make options" to see more information on these variables. # USERNAME?= mailman USERID?= 91 GROUPNAME?= ${USERNAME} GROUPID?= ${USERID} MMDIR?= mailman - -# 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 using -# an alternative MTA installed from ports, you should set MAIL_GID at build -# time according to the following table. (Please contact this port's -# maintainer if you can fill in the blanks, or to report mistakes!) -# -# MTA | MAIL_GID | Submitted by -# Exim | 6 | <wjv> -# Postfix | 65534 | <shamrock@cypherpunks.to> -# Qmail | ??? | -# .if ${OSVERSION} >= 450000 MAIL_GID?= 26 .else MAIL_GID?= 1 .endif - -# By default, this port works with the current port of Apache. If your WWW -# server executes CGI scripts under a different GID, you'll have to set this -# at build time. CGI_GID?= 80 MAILMANDIR= ${PREFIX}/${MMDIR} @@ -64,11 +50,25 @@ PKGINSTALL= ${WRKDIR}/pkg-install PKGDEINSTALL= ${WRKDIR}/pkg-deinstall PLIST_SUB= MMDIR=${MMDIR} MMGRP=${GROUPNAME} +options: + @ ${ECHO_MSG} "===> Build options for ${PKGNAME}:" + @ ${PERL} -ne '/^#/ || /^\s/ && print || \ + print sprintf "* %s [%s]\n %s", split(/\|/)' ${PKGOPTS} + +post-extract: +.if !defined(BATCH) + @ ${TEST} -r ${PKGOPTS} && \ + (${ECHO_MSG} '-------------------------------------------------------------------------'; \ + ${ECHO_MSG} 'Perform a "make options" to see a list of available installation options.'; \ + ${ECHO_MSG} '-------------------------------------------------------------------------') +.endif + pre-configure: @ ${SED} -e 's#%%USER%%#${USERNAME}#g' -e 's#%%UID%%#${USERID}#g' \ -e 's#%%GROUP%%#${GROUPNAME}#g' -e 's#%%GID%%#${GROUPID}#g' \ -e 's#%%MAILMANDIR%%#${MAILMANDIR}#g' pkg-install > \ ${PKGINSTALL} +# Mailman's configure script needs the "mailman" user/group to exist. @ ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL post-configure: @@ -79,29 +79,21 @@ post-configure: @ ${SED} -e 's#%%MAILMANDIR%%#${MAILMANDIR}#g' \ -e 's#%%DOCSDIR%%#${DOCSDIR}#g' pkg-message > ${PKGMESSAGE} -pre-build: -.if !defined(BATCH) - @ ${ECHO_MSG} "-------------------------------------------------------" - @ ${ECHO_MSG} " If you're using an alternative MTA (not Sendmail)" - @ ${ECHO_MSG} " OR an older version of Sendmail, you may have to" - @ ${ECHO_MSG} " set MAIL_GID to the gid under which your MTA is" - @ ${ECHO_MSG} " executing. See the comments in the port's" - @ ${ECHO_MSG} " Makefile for further information." - @ ${ECHO_MSG} "-------------------------------------------------------" -.endif +pre-install: + @ ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL post-install: .for dir in cron scripts @ ${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py ${MAILMANDIR}/${dir} .endfor @ ${CHGRP} -R ${GROUPNAME} ${MAILMANDIR} - @ ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL .if !defined(NOPORTDOCS) @ ${MKDIR} ${DOCSDIR} .for docfile in BUGS FAQ INSTALL NEWS README* UPGRADING @ ${INSTALL_DATA} ${WRKSRC}/${docfile} ${DOCSDIR} .endfor .endif + @ ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL .if !defined(BATCH) @ ${CAT} ${PKGMESSAGE} .endif diff --git a/mail/mailman/files/pkg-opts b/mail/mailman/files/pkg-opts new file mode 100644 index 000000000000..f2f660a6b893 --- /dev/null +++ b/mail/mailman/files/pkg-opts @@ -0,0 +1,27 @@ +# Variable|Default value|Short description +# Multi-line/long description (optional). +# Multi-line/long description lines must start with whitespace! +# +USERNAME|mailman|The username of the Mailman user +USERID|92|The user ID of the Mailman user + It is recommended that you do not change this option. +GROUPNAME|mailman|The group to which the Mailman user will belong +GROUPID|92|The group ID for the Mailman user + It is recommended that you do not change this option. +MMDIR|mailman|Mailman will be installed in ${PREFIX}/${MMDIR} +MAIL_GID|26|The group id under which your MTA performs mail delivery + 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 using an alternative MTA installed from ports, you should set + MAIL_GID at build time according to the following table. (Please + contact this port's maintainer if you can fill in the blanks, or to + report mistakes!) + ---------------------------------------------- + MTA | MAIL_GID | Submitted by + Exim | 6 | <wjv> + Postfix | 65534 | <shamrock@cypherpunks.to> + Qmail | ??? | +GGI_GID|80|The group id under which your web server executes CGI scripts + By default, this port works with the current port of Apache. If your + WWW server executes CGI scripts under a different GID, you'll have to + set this at build time. diff --git a/mail/mailman/pkg-deinstall b/mail/mailman/pkg-deinstall index 2a9ce66c683d..d9aab3139e50 100644 --- a/mail/mailman/pkg-deinstall +++ b/mail/mailman/pkg-deinstall @@ -19,29 +19,29 @@ zero_crontab() { u=$1 - echo -n "Zeroing Mailman user's crontab(5) file... " + echo -n 'Zeroing crontab(5) file belonging to user "%%USER%%"... ' crontab -u ${u} /dev/null || exit - echo "done." + echo 'done.' + echo '(The crontab(5) will be deleted completely when user "%%USER%%" is removed.)' } export PATH=/bin:/usr/bin:/usr/sbin case $2 in - DEINSTALL) zero_crontab %%USER%% - if ps -axwww | grep -q qrunner; then - echo "Killing all running qrunning processes." - killall qrunner + if ps -axwU %%USER%% | grep -q python; then + echo 'Killing all running processes belonging to user "%%USER%%".' + killall -u %%USER%% python sleep 2 fi ;; POST-DEINSTALL) if [ -d %%MAILMANDIR%% ]; then - echo "%%MAILMANDIR%% is not empty - this installation may have active lists" - echo "- The \"%%USER%%\" user and \"%%GROUP%%\" group were therefore not deleted." - echo "- You may delete them with \"pw userdel %%USER%%\"." + echo '%%MAILMANDIR%% is not empty - this installation may have active lists!' + echo '- The "%%USER%%" user and "%%GROUP%%" group were therefore not deleted.' + echo '- You may delete them with "pw userdel %%USER%%".' else delete_account %%USER%% %%GROUP%% fi diff --git a/mail/mailman/pkg-descr b/mail/mailman/pkg-descr index b2b6e98e8bef..9f8660f22be1 100644 --- a/mail/mailman/pkg-descr +++ b/mail/mailman/pkg-descr @@ -1,17 +1,21 @@ -Mailman is software to help manage email discussion lists, much like Majordomo -and Smartmail. Unlike most similar products, Mailman gives each mailing list a -web page, and allows users to subscribe, unsubscribe, etc. over the web. Even -the list manager can administer his or her list entirely from the web. Mailman -also integrates most things people want to do with mailing lists, including -archiving, mail-to-news gateways, integrated bounce handling, spam prevention, -email-based admin commands, direct SMTP delivery (with fast bulk mailing), -support for virtual domains, and more. +Paraphrasing the website: -Mailman runs on most Un*x-like systems, is compatible with most web servers and -browsers, and most SMTP servers. Mailman requires Python version 1.5 or newer. -Python is a free object-oriented scripting language. A few files are written in -C for security purposes. + Mailman is a mailing list manager (MLM); that is, software to help manage + email discussion lists, much like Majordomo, LISTSERV, and the like. + Unlike most similar products, Mailman gives each mailing list a web page + and allows users to subscribe, unsubscribe, and change their preferences + via the web. Even a list manager can administer his or her list(s) + entirely via the web. Mailman integrates many common MLM features, + including web-based archiving (though it also has hooks for external + archivers), mail-to-news gateways, bounce handling, spam prevention, + Majordomo-style email-based list administration, direct SMTP delivery (with + fast bulk mailing), digest delivery, virtual domain support, and more. -The manual is still only a set of READMEs provided in the Mailman distribution. +Mailman is written mostly in Python (with a smattering of C where necessary +for security purposes), and includes hooks to make it easily scriptable and +extensible. It is compatible with most web servers and browsers, and most +mail transfer agents (mail servers). Mailman's documentation may be found on +its website. -WWW: http://www.list.org/ +Author: Barry Warsaw <barry@zope.com> and the Mailman Cabal +WWW: http://www.list.org/ |