mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-26 05:02:18 +00:00
- Revert previous USERS fix until reworked and tested
- Revert MAIL_GROUP change for Postfix - Reset maintainership Approved by: tabthorpe (co-mentor), wxs (maintainer)
This commit is contained in:
parent
42deab0664
commit
9435d28edb
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=275631
@ -7,7 +7,7 @@
|
||||
|
||||
PORTNAME= mailman
|
||||
DISTVERSION= 2.1.14
|
||||
PORTREVISION= 3
|
||||
PORTREVISION= 4
|
||||
CATEGORIES?= mail
|
||||
MASTER_SITES= ${MASTER_SITE_GNU} \
|
||||
SF/${PORTNAME}/Mailman%202.1%20%28stable%29/${PORTVERSION}
|
||||
@ -15,7 +15,7 @@ MASTER_SITE_SUBDIR= ${PORTNAME}
|
||||
EXTRACT_SUFX= .tgz
|
||||
DIST_SUBDIR= mailman
|
||||
|
||||
MAINTAINER?= wxs@FreeBSD.org
|
||||
MAINTAINER?= ports@FreeBSD.org
|
||||
COMMENT?= A mailing list manager (MLM) with a user-friendly web front-end
|
||||
|
||||
OPTIONS= SENDMAIL "for use with sendmail" off \
|
||||
@ -27,15 +27,13 @@ OPTIONS= SENDMAIL "for use with sendmail" off \
|
||||
HTDIG "htdig integration patches" off \
|
||||
NAMAZU2 "make private archives searchable with namazu2" off
|
||||
|
||||
USE_AUTOTOOLS= autoconf
|
||||
GNU_CONFIGURE_PREFIX= ${MAILMANDIR}
|
||||
HAS_CONFIGURE= yes
|
||||
USE_PYTHON= yes
|
||||
MAKE_JOBS_SAFE= yes
|
||||
CONFIGURE_ARGS+=--with-python=${PYTHON_CMD} \
|
||||
CONFIGURE_ARGS+= --prefix=${MAILMANDIR} --with-python=${PYTHON_CMD} \
|
||||
--with-username=${MM_USERNAME} \
|
||||
--with-groupname=${MM_GROUPNAME} \
|
||||
--with-mail-gid=${MAIL_GID} --with-cgi-gid=${CGI_GID} \
|
||||
--with-permcheck=no
|
||||
--with-mail-gid=${MAIL_GID} --with-cgi-gid=${CGI_GID}
|
||||
SUB_FILES= pkg-message
|
||||
SUB_LIST+= MAILMANDIR=${MAILMANDIR}
|
||||
USE_RC_SUBR= mailman
|
||||
@ -53,9 +51,6 @@ IMGDIR?= www/icons
|
||||
#
|
||||
# End of user-configurable variables.
|
||||
|
||||
USERS= ${MM_USERNAME}
|
||||
GROUPS= ${MM_GROUPNAME}
|
||||
|
||||
MAILMANDIR= ${PREFIX}/${MM_DIR}
|
||||
PKGINSTALL= ${WRKDIR}/pkg-install
|
||||
PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
|
||||
@ -74,7 +69,7 @@ IMGFILES= PythonPowered.png mailman.jpg mm-icon.png
|
||||
.if defined(WITH_SENDMAIL)
|
||||
.if defined(WITH_EXIM3) || defined(WITH_EXIM4) || defined(WITH_POSTFIX) || \
|
||||
defined(WITH_COURIER)
|
||||
IGNORE= can only have one MTA selected to integrate with
|
||||
BROKEN= choose only one MTA integration
|
||||
.endif
|
||||
MAIL_GID?= mailnull
|
||||
.endif
|
||||
@ -82,7 +77,7 @@ MAIL_GID?= mailnull
|
||||
.if defined(WITH_EXIM3)
|
||||
.if defined(WITH_SENDMAIL) || defined(WITH_EXIM4) || defined(WITH_POSTFIX) || \
|
||||
defined(WITH_COURIER)
|
||||
IGNORE= can only have one MTA selected to integrate with
|
||||
BROKEN= choose only one MTA integration
|
||||
.endif
|
||||
MAIL_GID?= nobody
|
||||
.endif
|
||||
@ -90,7 +85,7 @@ MAIL_GID?= nobody
|
||||
.if defined(WITH_EXIM4)
|
||||
.if defined(WITH_SENDMAIL) || defined(WITH_EXIM3) || defined(WITH_POSTFIX) || \
|
||||
defined(WITH_COURIER)
|
||||
IGNORE= can only have one MTA selected to integrate with
|
||||
BROKEN= choose only one MTA integration
|
||||
.endif
|
||||
MAIL_GID?= mail
|
||||
.endif
|
||||
@ -98,16 +93,16 @@ MAIL_GID?= mail
|
||||
.if defined(WITH_POSTFIX)
|
||||
.if defined(WITH_SENDMAIL) || defined(WITH_EXIM3) || defined(WITH_EXIM4) || \
|
||||
defined(WITH_COURIER)
|
||||
IGNORE= can only have one MTA selected to integrate with
|
||||
BROKEN= choose only one MTA integration
|
||||
.endif
|
||||
MAIL_GID?= nobody
|
||||
MAIL_GID?= mailman
|
||||
EXTRA_PATCHES+= ${FILESDIR}/postfix-verp.diff
|
||||
.endif
|
||||
|
||||
.if defined(WITH_COURIER)
|
||||
.if defined(WITH_SENDMAIL) || defined(WITH_EXIM3) || defined(WITH_EXIM4) || \
|
||||
defined(WITH_POSTFIX)
|
||||
IGNORE= can only have one MTA selected to integrate with
|
||||
BROKEN= choose only one MTA integration
|
||||
.endif
|
||||
MAIL_GID?= courier
|
||||
.endif
|
||||
@ -154,18 +149,29 @@ pre-fetch:
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e 's#%%LOCALBASE%%#${LOCALBASE}#g' \
|
||||
${WRKSRC}/Mailman/Defaults.py.in
|
||||
# Disable username check in configure -- we promise to make the users!
|
||||
@${REINPLACE_CMD} \
|
||||
-e 's#^MM_FIND_\([^_]*\)_NAME.*#MAILMAN_\1=$${\1NAME}#' \
|
||||
${WRKSRC}/configure.in
|
||||
|
||||
pre-configure::
|
||||
# Mailman's configure script needs the "mailman" user/group to exist, so
|
||||
# $PKGINSTALL has to be patched before the do-configure target executes.
|
||||
@${SED} \
|
||||
-e 's#%%USER%%#${MM_USERNAME}#g' \
|
||||
-e 's#%%MAILMANDIR%%#${MAILMANDIR}#g' \
|
||||
${MASTERDIR}/pkg-install > ${PKGINSTALL}
|
||||
-e 's#%%USER%%#${MM_USERNAME}#g' -e 's#%%UID%%#${MM_USERID}#g' \
|
||||
-e 's#%%GROUP%%#${MM_GROUPNAME}#g' -e 's#%%GID%%#${MM_GROUPID}#g' \
|
||||
-e 's#%%MAILMANDIR%%#${MAILMANDIR}#g' ${MASTERDIR}/pkg-install > \
|
||||
${PKGINSTALL}
|
||||
@${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
|
||||
|
||||
post-configure:
|
||||
@${SED} \
|
||||
-e 's#%%USER%%#${MM_USERNAME}#g' -e 's#%%GROUP%%#${MM_GROUPNAME}#g' \
|
||||
-e 's#%%PREFIX%%#${PREFIX}#g' -e 's#%%MAILMANDIR%%#${MAILMANDIR}#g' \
|
||||
${MASTERDIR}/pkg-deinstall > ${PKGDEINSTALL}
|
||||
# port system auditors complain if dir is created prior to install
|
||||
# but configure demands it be there. we delete it now if empty,
|
||||
# so it will be re-created. For existing installs, this is ignored
|
||||
@- ${RMDIR} ${MAILMANDIR} 2> /dev/null
|
||||
|
||||
pre-install:
|
||||
@${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
|
||||
|
||||
post-install:
|
||||
@${RM} -f ${MAILMANDIR}/pythonlib/*.egg-info
|
||||
|
@ -23,6 +23,10 @@ DEINSTALL)
|
||||
echo "---> /usr/bin/crontab -u "%%USER%%" -r"
|
||||
fi
|
||||
|
||||
echo "---> Stopping Mailman's qrunner daemon"
|
||||
%%PREFIX%%/etc/rc.d/mailman.sh stop >/dev/null 2>&1
|
||||
/bin/sleep 2
|
||||
|
||||
echo "---> Preserving the \"last_mailman_version\" file"
|
||||
/bin/cp -f %%MAILMANDIR%%/data/last_mailman_version /var/tmp/
|
||||
|
||||
@ -47,6 +51,10 @@ POST-DEINSTALL)
|
||||
/bin/mv -f /var/tmp/last_mailman_version %%MAILMANDIR%%/data/
|
||||
fi
|
||||
|
||||
echo '---> - If you are not using Mailman any more, you should manually delete'
|
||||
echo '---> - the "%%USER%%" user and "%%GROUP%%" group.'
|
||||
echo '---> - You may delete them with "pw groupdel %%GROUP%%; pw userdel %%USER%%".'
|
||||
|
||||
;;
|
||||
|
||||
esac
|
||||
|
@ -6,11 +6,49 @@ PATH=/bin:/usr/bin:/usr/sbin
|
||||
|
||||
case $2 in
|
||||
|
||||
PRE-INSTALL)
|
||||
echo "---> Starting install script:"
|
||||
|
||||
if [ -z "%%MAILMANDIR%%" -o \
|
||||
-z "%%USER%%" -o -z "%%GROUP%%" -o \
|
||||
-z "%%UID%%" -o -z "%%GID%%" ]; then
|
||||
echo "ERROR: A required pragma was empty"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Create group if required
|
||||
if pw group show "%%GROUP%%" >/dev/null 2>&1; then
|
||||
echo "---> Using existing group \"%%GROUP%%\""
|
||||
else
|
||||
echo "---> Adding group \"%%GROUP%%\" (%%GID%%)"
|
||||
/usr/sbin/pw groupadd %%GROUP%% -g %%GID%% || exit 1
|
||||
fi
|
||||
|
||||
# Create user if required
|
||||
if pw user show "%%USER%%" >/dev/null 2>&1; then
|
||||
echo "---> Using existing user \"%%USER%%\""
|
||||
else
|
||||
echo "---> Adding user \"%%USER%%\" (%%UID%%)"
|
||||
pw useradd "%%USER%%" -u "%%UID%%" -g "%%GROUP%%" -h - \
|
||||
-d "%%MAILMANDIR%%" -s "/sbin/nologin" -c "Mailman Owner" || exit 1
|
||||
fi
|
||||
|
||||
# Create home directory if required
|
||||
if [ -d "%%MAILMANDIR%%" ]; then
|
||||
echo "---> Using existing Mailman directory (%%MAILMANDIR%%)"
|
||||
echo " (There may be existing active mailing lists - this installation will"
|
||||
echo " attempt to preserve them.)"
|
||||
else
|
||||
echo "---> Creating Mailman directory (%%MAILMANDIR%%)"
|
||||
(umask 002 && /bin/mkdir -p "%%MAILMANDIR%%") || exit 1
|
||||
/usr/sbin/chown -R "%%USER%%:%%GROUP%%" "%%MAILMANDIR%%" || exit 1
|
||||
/bin/chmod g+s "%%MAILMANDIR%%" || exit 1
|
||||
fi
|
||||
;;
|
||||
|
||||
POST-INSTALL)
|
||||
echo "---> Starting post-install script:"
|
||||
|
||||
/bin/chmod g+s "%%MAILMANDIR%%" || exit 1
|
||||
|
||||
echo "---> Checking crontab(5) file for user \"%%USER%%\""
|
||||
|
||||
if [ -e /var/cron/allow ]; then
|
||||
|
@ -1,5 +1,4 @@
|
||||
@comment $FreeBSD$
|
||||
@stopdaemon mailman
|
||||
@unexec if cmp -s %D/%%MMDIR%%/Mailman/mm_cfg.py %D/%%MMDIR%%/Mailman/mm_cfg.py.dist; then rm -f %D/%%MMDIR%%/Mailman/mm_cfg.py; fi
|
||||
@unexec rm -f %D/%%MMDIR%%/Mailman/mm_cfg.pyc
|
||||
@exec mkdir -p %D/%%MMDIR%%/archives
|
||||
|
Loading…
Reference in New Issue
Block a user