# $Id: Portfile,v 1.3 2004/09/11 15:37:46 rshaw Exp $ PortSystem 1.0 name mailman version 2.1.5 categories mail maintainers rshaw@opendarwin.org description Mailman, the GNU Mailing List Manager long_description Mailman is free software for managing electronic \ mail discussion and e-newsletter lists. Mailman is \ integrated with the web, making it easy for users to \ manage their accounts and for list owners to \ administer their lists. Mailman supports built-in \ archiving, automatic bounce processing, content \ filtering, digest delivery, spam filters, and more. homepage http://www.list.org/ master_sites sourceforge extract.suffix .tgz checksums md5 f5f56f04747cd4aff67427e7a45631af platforms darwin depends_build bin:python:python23 depends_run bin:postfix:postfix \ bin:httpd:apache platform darwin { depends_run-append path:/Library/StartupItems/DarwinPortsStartup:DarwinPortsStartup } # Mailman installation directories set execdir ${prefix}/libexec/${name} set sharedir ${prefix}/share/${name} set datadir ${prefix}/var/${name} set docdir ${prefix}/share/doc/${name} set confdir ${prefix}/etc/httpd # Mailman user/group name set mmuser mailman set mmgroup mailman # CGI group name (should match apache Portfile) set cgigroup www patchfiles patch-Defaults.py.in \ patch-mm_cfg.py.dist.in configure.pre_args --exec-prefix=${execdir} \ --prefix=${sharedir} \ --with-var-prefix=${datadir} configure.args --with-username=${mmuser} \ --with-groupname=${mmgroup} \ --with-mail-gid=${mmgroup} \ --with-cgi-gid=${cgigroup} \ --with-cgi-ext=.cgi \ --without-permcheck pre-destroot { addgroup ${mmgroup} adduser ${mmuser} gid=[existsgroup ${mmgroup}] xinstall -d -m 02775 -o root -g ${mmgroup} ${destroot}${execdir} xinstall -d -m 02775 -o root -g ${mmgroup} ${destroot}${sharedir} xinstall -d -m 02775 -o ${mmuser} -g ${mmgroup} ${destroot}${datadir} } post-destroot { # Create dummy files to retain empty directory tree xinstall -d -m 02775 ${destroot}${datadir}/lists/.turd system "find ${destroot}${datadir} -type d -empty | xargs -n1 -I% touch %/.turd" # Cleanup permissions & ownership foreach dir [exec find ${destroot}${sharedir} -type d ! -perm 02775] { ui_info "${dir}: setting permissions to 02775" file attributes $dir -permissions 02775 } # Install startup script xinstall -d -m 0755 ${destroot}${prefix}/etc/rc.d system "ln -s ../../[strsed ${sharedir} "g|^${prefix}/||"]/scripts/mailman \ ${destroot}${prefix}/etc/rc.d/mailman.sh" # Install Apache configuration file xinstall -d -m 0755 ${destroot}${confdir} xinstall -m 0644 ${filespath}/${name}.conf.in \ ${destroot}${confdir}/${name}.conf reinplace "s|@EXECDIR@|${execdir}|" ${destroot}${confdir}/${name}.conf reinplace "s|@DATADIR@|${datadir}|" ${destroot}${confdir}/${name}.conf reinplace "s|@SHAREDIR@|${sharedir}|" ${destroot}${confdir}/${name}.conf reinplace "s|@CONFDIR@|${confdir}|" \ ${destroot}${sharedir}/Mailman/mm_cfg.py.dist \ ${destroot}${sharedir}/Mailman/mm_cfg.py # Install documentation files xinstall -d -m 0755 ${destroot}${docdir} foreach file [glob ${worksrcpath}/\[A-IN-Z\]*] { xinstall -m 0644 ${file} ${destroot}${docdir} } # Check installation under destroot system "cd ${destroot}${sharedir} && \ DESTDIR=${destroot} PYTHONPATH=.:./pythonlib ./bin/check_perms" } post-install { # Notify the user what needs to be done after installation ui_msg "------------------------------------------------------------" ui_msg "Be sure to verify the email and URL host settings in the" ui_msg "Mailman configuration file (they may have been guessed" ui_msg "incorrectly during the configuration step):" ui_msg " " ui_msg " ${sharedir}/Mailman/mm_cfg.py" ui_msg " " ui_msg "configuration file to enable Mailman web access:" ui_msg "Be sure to add the following line to your Apache httpd.conf" ui_msg "configuration file to enable Mailman web access:" ui_msg " " ui_msg " Include ${prefix}/etc/httpd/${name}.conf" ui_msg " " ui_msg "Be sure to setup the crontab entries for the '${mmuser}'" ui_msg "user. Mailman runs a number of cron jobs for its basic" ui_msg "functionality." ui_msg " " ui_msg " cd ${sharedir}/cron" ui_msg " sudo crontab -u ${mmuser} crontab.in" ui_msg " " ui_msg "Also, be sure to read the following files for details" ui_msg "on creating your site-wide list, setting your site and" ui_msg "list creator passwords, and creating your first list:" ui_msg " " ui_msg " ${docdir}/INSTALL" ui_msg " ${docdir}/README" ui_msg " " ui_msg "Finally, either restart your system to start up the" ui_msg "Mailman queue runner, or use the following to start" ui_msg "it running immediately:" ui_msg " " ui_msg " sudo ${prefix}/etc/rc.d/mailman.sh start" ui_msg "------------------------------------------------------------" }