Revision: 129078 https://trac.macports.org/changeset/129078 Author: devans@macports.org Date: 2014-12-04 16:15:58 -0800 (Thu, 04 Dec 2014) Log Message: ----------- sympa: update to version 6.1.23, switch from perl5.12 to perl5.16, dependencies, configuration, drop outdated patches, variants, use notes instead of post activate ui_msg and simplify note content, fix livecheck (#44405). Modified Paths: -------------- trunk/dports/mail/sympa/Portfile Removed Paths: ------------- trunk/dports/mail/sympa/files/patch-Makefile.in trunk/dports/mail/sympa/files/patch-configure.in trunk/dports/mail/sympa/files/patch-src_alias_manager.pl trunk/dports/mail/sympa/files/patch-sympa.generic Modified: trunk/dports/mail/sympa/Portfile =================================================================== --- trunk/dports/mail/sympa/Portfile 2014-12-05 00:04:11 UTC (rev 129077) +++ trunk/dports/mail/sympa/Portfile 2014-12-05 00:15:58 UTC (rev 129078) @@ -4,8 +4,7 @@ PortSystem 1.0 name sympa -version 5.4.7 -revision 2 +version 6.1.23 categories mail license GPL-2 maintainers nomaintainer @@ -22,298 +21,87 @@ master_sites http://www.sympa.org/distribution/ \ http://www.sympa.org/distribution/old/ -checksums md5 74fb5b0c972919a2813cd6aca2d9224f -default_variants +server +checksums rmd160 0c65549bc01e154081554a7d9ff8bb11db1d0ccc \ + sha256 3d15aa8816dafcc4017cc06e52def44d5461498a05e9ef7634498b0993234ae4 -patchfiles patch-configure.in \ - patch-Makefile.in \ - patch-sympa.generic \ - patch-src_alias_manager.pl - depends_lib path:bin/mysql_config5:mysql5 \ port:apache2 \ port:mod_fcgid \ port:openssl \ port:postfix \ - port:p5.12-libwww-perl \ - port:p5.12-archive-zip \ - port:p5.12-convert-asn1 \ - port:p5.12-pathtools \ - port:p5.12-dbi \ - port:p5.12-dbd-mysql \ - port:p5.12-mailtools \ - port:p5.12-io-stringy \ - port:p5.12-mime-tools \ - port:p5.12-mime-charset \ - port:p5.12-mime-encwords \ - port:p5.12-crypt-openssl-x509 \ - port:p5.12-fcgi \ - port:p5.12-libintl-perl \ - port:p5.12-template-toolkit \ - port:p5.12-crypt-ciphersaber \ - port:p5.12-mhonarc \ - port:p5.12-regexp-common \ - port:p5.12-xml-libxml \ - port:p5.12-io-socket-ssl \ - port:p5.12-soap-lite \ - port:p5.12-perl-ldap \ - port:p5.12-html-format \ - port:p5.12-html-stripscripts-parser + port:p5.16-archive-zip \ + port:p5.16-authcas \ + port:p5.16-cgi \ + port:p5.16-cgi-fast \ + port:p5.16-crypt-ciphersaber \ + port:p5.16-crypt-openssl-x509 \ + port:p5.16-data-password \ + port:p5.16-dbd-mysql \ + port:p5.16-dbi \ + port:p5.16-digest-md5 \ + port:p5.16-file-copy-recursive \ + port:p5.16-html-format \ + port:p5.16-html-stripscripts-parser \ + port:p5.16-html-tree \ + port:p5.16-io-stringy \ + port:p5.16-io-socket-ssl \ + port:p5.16-libintl-perl \ + port:p5.16-libwww-perl \ + port:p5.16-mailtools \ + port:p5.16-mail-dkim \ + port:p5.16-mhonarc \ + port:p5.16-mime-base64 \ + port:p5.16-mime-charset \ + port:p5.16-mime-encwords \ + port:p5.16-mime-lite-html \ + port:p5.16-mime-tools \ + port:p5.16-net-dns \ + port:p5.16-net-netmask \ + port:p5.16-perl-ldap \ + port:p5.16-soap-lite \ + port:p5.16-template-toolkit \ + port:p5.16-term-progressbar \ + port:p5.16-time-hires \ + port:p5.16-unicode-linebreak \ + port:p5.16-xml-libxml -configure.args --with-bindir=${prefix}/bin/${name} \ - --with-sbindir=${prefix}/bin/${name} \ - --with-libexecdir=${prefix}/libexec/${name} \ - --with-libdir=${prefix}/lib/${name} \ -\ - --with-cgidir=${prefix}/share/${name}/cgi-bin \ - --with-localedir=${prefix}/share/locale \ - --with-scriptdir=${prefix}/share/${name}/script \ - --with-sampledir=${prefix}/share/${name}/sample \ - --with-docdir=${prefix}/share/doc/${name} \ - --with-datadir=${prefix}/share/${name} \ -\ - --with-confdir=${prefix}/etc/${name} \ - --with-etcdir=${prefix}/etc/${name} \ - --with-initdir=${prefix}/share/${name} \ -\ - --with-expldir=${prefix}/var/${name}/expl \ - --with-piddir=${prefix}/var/${name} \ - --with-lockdir=${prefix}/var/${name}/lock \ - --with-spooldir=${prefix}/var/${name}/spool \ -\ - --with-mandir=${prefix}/man \ - --with-perl=${prefix}/bin/perl5.12 \ - --with-openssl=${prefix}/bin/openssl \ -\ +configure.args --with-perl=${prefix}/bin/perl5.16 \ --with-user=www \ --with-group=www \ - --with-sendmail_aliases=${prefix}/etc/${name}/sympa_aliases \ - --with-virtual_aliases=${prefix}/etc/${name}/sympa_virtual \ + --enable-fhs \ + --with-aliases_file=${prefix}/etc/${name}/sympa_aliases \ --with-newaliases=${prefix}/bin/newaliases \ --with-postmap=${prefix}/sbin/postmap -variant postgresql { - depends_lib-append port:p5.12-dbd-pg - depends_lib-delete port:p5.12-dbd-mysql -} - -variant server { -# This variant doesn't do anything in this port, it only exists to trigger the server -# variant in the mysql5 port. -} - # Create a startupitem to start/stop the server - startupitem.create yes - startupitem.start "${prefix}/share/${name}/sympa" - startupitem.stop "${prefix}/share/${name}/sympa" +startupitem.create yes +startupitem.start "${prefix}/share/${name}/sympa" +startupitem.stop "${prefix}/share/${name}/sympa" - -pre-destroot { -# Use sympa.generic startup script and fix paths - reinplace "s|PATH=/usr/bin:/bin:/usr/sbin:/sbin|PATH=${prefix}/bin:${prefix}/sbin:/usr/bin:/bin:/usr/sbin:/sbin|g" \ - "${worksrcpath}/src/etc/script/sympa.generic" - - reinplace "s|/dist/sympa/run|${prefix}/var/${name}|g" \ - "${worksrcpath}/src/etc/script/sympa.generic" - - system "mv ${worksrcpath}/src/etc/script/sympa.generic ${worksrcpath}/src/etc/script/sympa" -} - post-destroot { -# Flag wwsympa.fcgi as executable - system "chmod ug+x ${destroot}${prefix}/share/sympa/cgi-bin/wwsympa.fcgi" -# Create empty directories named in sympa.conf & wwsympa.conf not created by Sympa install - xinstall -m 755 -d ${destroot}${prefix}/var/${name}/expl - xinstall -m 755 -d ${destroot}${prefix}/var/log/${name} - # Incoming spool directories - xinstall -m 755 -d ${destroot}${prefix}/var/${name}/spool/msg - xinstall -m 755 -d ${destroot}${prefix}/var/${name}/spool/bounce - # Storage directories - xinstall -m 755 -d ${destroot}${prefix}/var/${name}/arc - xinstall -m 755 -d ${destroot}${prefix}/var/${name}/bounce - -# Create sympa.log and sympa_aliases files - system "touch ${destroot}${prefix}/var/log/${name}/${name}.log" - system "touch ${destroot}${prefix}/etc/${name}/sympa_aliases" - system "chown www:www ${destroot}${prefix}/bin/${name}/*" - system "chown www:www ${destroot}${prefix}/etc/${name}/*" - -# Fix alias_manager.pl since the alias_wrapper seems not to work - reinplace "s|${prefix}/bin/${name}/aliaswrapper|${prefix}/bin/newaliases|g" \ - "${destroot}${prefix}/bin/${name}/alias_manager.pl" - -# Keep these empty directories - destroot.keepdirs \ - ${destroot}${prefix}/var/${name}/expl \ - ${destroot}${prefix}/var/log/${name} \ - ${destroot}${prefix}/var/${name}/spool/msg \ - ${destroot}${prefix}/var/${name}/spool/bounce \ - ${destroot}${prefix}/var/${name}/arc \ - ${destroot}${prefix}/var/${name}/bounce - -# Fix permissions for arc directory - system "chown www:www ${destroot}${prefix}/var/${name}/arc" - -# Set sympa.conf variables (this file uses tabs as separators) - reinplace "s|#openssl /usr/local/bin/openssl|openssl ${prefix}/bin/openssl|g" \ - "${destroot}${prefix}/etc/sympa/sympa.conf" - - reinplace "s|#db_type mysql|db_type mysql|g" \ - "${destroot}${prefix}/etc/sympa/sympa.conf" - - reinplace "s|#db_name sympa|db_name sympa|g" \ - "${destroot}${prefix}/etc/sympa/sympa.conf" - - reinplace "s|#db_host localhost|db_host localhost|g" \ - "${destroot}${prefix}/etc/sympa/sympa.conf" - - reinplace "s|#db_user sympa|db_user sympa|g" \ - "${destroot}${prefix}/etc/sympa/sympa.conf" - - system "echo 'db_options mysql_socket=${prefix}/var/run/mysql5/mysqld.sock' >> ${destroot}${prefix}/etc/sympa/sympa.conf" - -# Set wwsympa.conf variables - reinplace "s|${prefix}/arc|${prefix}/var/${name}/arc|g" \ - "${destroot}${prefix}/etc/${name}/wwsympa.conf" - - reinplace "s|${prefix}/bounce|${prefix}/var/${name}/bounce|g" \ - "${destroot}${prefix}/etc/${name}/wwsympa.conf" - - reinplace "s|/usr/bin/mhonarc|${prefix}/bin/mhonarc|g" \ - "${destroot}${prefix}/etc/${name}/wwsympa.conf" - - reinplace "s|#openssl /usr/local/bin/openssl|openssl ${prefix}/bin/openssl|g" \ - "${destroot}${prefix}/etc/${name}/wwsympa.conf" + xinstall -m 644 ${worksrcpath}/INSTALL ${destroot}${prefix}/share/doc/${name} } -post-activate { +notes " -# get rid of .turd files created by destroot.keepdirs because they cause problems in Sympa queues - system "rm ${prefix}/var/${name}/spool/msg/.turd_sympa" - system "rm ${prefix}/var/${name}/spool/bounce/.turd_sympa" - system "rm ${prefix}/var/${name}/bounce/.turd_sympa" - system "rm ${prefix}/var/${name}/arc/.turd_sympa" +** You can find documentation at: +** http://www.sympa.org/manual_6.1/index -ui_msg "\n **** To complete Sympa installation **** +######################################################### +# CHECK YOU HAVE ALL THE NEEDED MODULES: +# * Check the required perl modules are installed: +# ${prefix}/sbin/sympa_wizard.pl --check +# +# FIRST INSTALLATION: +# * Check the INSTALL file. +# ${prefix}/share/doc/sympa/INSTALL +# * Run the wizard to define some required parameters that can't be guessed. +# ${prefix}/sbin/sympa_wizard.pl +# +# UPGRADING +# * Run this script to upgrade your data structures: +# ${prefix}/sbin/sympa.pl --upgrade +####################################################### +" -You must read the documentation at ${prefix}/share/doc/${name}/index.html for full -Sympa configuration information, however the installation steps are roughly as shown below. - - -1) Setup MySQL and prepare it for Sympa (for PostgreSQL, see documentation) - Configure MySQL (new MySQL installs) - sudo -u mysql ${prefix}/lib/mysql5/bin/mysql_install_db - - Start MySQL: - sudo ${prefix}/share/mysql5/mysql/mysql.server start - - Set MySQL to start at system boot (optional) - sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist - - Set a MySQL root password: - Follow the instructions that were given after you executed 'mysql_install_db' above. - - Create a Sympa MySQL user ... - mysql5 -u root -p (login with new root password when prompted) - mysql> grant CREATE,INSERT,SELECT,DELETE,UPDATE on sympa.* to sympa@localhost; - mysql> grant CREATE,INSERT,SELECT,DELETE,UPDATE on sympa.* to sympa; - mysql> quit; - - Create the Sympa database: - cat ${prefix}/share/sympa/script/create_db.mysql | mysql5 -u root -p sympa - - Verify Sympa DB: - mysql5 -u root -p - mysql> use sympa; - mysql> show tables; - mysql> exit; - - NOTE: MySQL must start before Apache because of wwsympa.fcgi - - -2) Setup Apache 2 & FastCGI - cd ${prefix}/apache2/conf - sudo cp httpd.conf.sample httpd.conf - - Modify the ${prefix}/apache2/conf/httpd.conf file - - Add directives and ScriptAlias: - IPCCommTimeout 120 - MaxProcessCount 2 - - <Location /sympa> - SetHandler fcgid-script - </Location> - - ScriptAlias /sympa ${prefix}/share/sympa/cgi-bin/wwsympa.fcgi - - Start Apache 2: (Turn off personal web sharing first!) - sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist - - - NOTE: The Apache user and group must be the same as the file wwsympa.fcgi. - Sympa files are owned by user/group 'www' so the apache user and group - must be www unless you chown Sympa files to something else. - - -3) Enable Postfix (not covered), setup Sympa robot aliases, & list alias config - Robot aliases: - sympa: \"| ${prefix}/bin/sympa/queue sympa@mydomain.org\" - listmaster: \"| ${prefix}/bin/sympa/queue listmaster@mydomain.org\" - bounce+*: \"| ${prefix}/bin/sympa/bouncequeue sympa@mydomain.org\" - sympa-request: <sympa administrator's address> - sympa-owner: <sympa administrator's address> - - Activate the robot aliases with the command \"sudo newaliases\" - - List alias config: (automatic list aliases) - Add these statements to /etc/postfix/main.cf - alias_maps = hash:/etc/aliases,hash:${prefix}/etc/${name}/sympa_aliases - alias_database = hash:/etc/aliases,hash:${prefix}/etc/${name}/sympa_aliases - - Activate the new configuration with the command \"sudo postfix reload\" - - -4) Edit ${prefix}/etc/sympa/sympa.conf variables - domain - listmaster - email - db_password - wwsympa_url - - -5) Edit ${prefix}/etc/sympa/wwsympa.conf variables - title - default_home - - -6) Add a statement to OS X's syslog.conf file to support Sympa log files - - local1.* ${prefix}/var/log/sympa/sympa.log - - -7) Start the Sympa daemon - sudo launchctl load -w /Library/LaunchDaemons/org.macports.sympa.plist - - -8) Have Sympa generate a listmaster password - Go to http://localhost/sympa. Click the \"First login ?\" link, then - enter the listmaster address you set in the sympa.conf file, and - click \"Send me my password\" and retrieve the password in your inbox. - - -9) Login to WWSympa at http://localhost/sympa with the listmaster address - and then change the password and setup your lists. - -------------------------------------------------- -File Locations: - -Executable files -> ${prefix}/bin/${name} -CGI directory -> ${prefix}/share/${name}/cgi-bin -Configuration files -> ${prefix}/etc/${name} -Sample files -> ${prefix}/share/${name}/sample -Documentation directory -> ${prefix}/share/doc/${name} -Expl (also spool/pid/bounce/archive) directories -> ${prefix}/var/${name} -\n" - -} +livecheck.regex "${name}-(\\d+(?:\\.\\d+)*)${extract.suffix}" Deleted: trunk/dports/mail/sympa/files/patch-Makefile.in =================================================================== --- trunk/dports/mail/sympa/files/patch-Makefile.in 2014-12-05 00:04:11 UTC (rev 129077) +++ trunk/dports/mail/sympa/files/patch-Makefile.in 2014-12-05 00:15:58 UTC (rev 129078) @@ -1,30 +0,0 @@ ---- Makefile.in.org 2006-04-14 02:15:06.000000000 -0700 -+++ Makefile.in 2006-04-14 02:16:58.000000000 -0700 -@@ -515,18 +515,6 @@ - rpm: build_rh_rpm build_mdk_rpm - - warning: -- @echo "######################## W A R N I N G ######################"; \ -- echo "## If it is the first time you install Sympa on this server :"; \ -- echo "## It may take a while...."; \ -- echo "## The reason is that Sympa requires many Perl modules that"; \ -- echo "## are not distributed with the standard Perl distribution."; \ -- echo "## We'll try to install these modules automatically..."; \ -- echo "## If some modules cannot be installed automatically, (probably" ; \ -- echo "## because of the 'make test'), try downloading them from the"; \ -- echo "## CPAN website (http://search.cpan.org) and install them manually."; \ -- echo "#############################################################"; \ -- echo -n "Please hit <Enter> to proceed"; \ -- if [ "$(DESTDIR)" = "" ]; then read rep; fi - - checkperl: - @if [ $(PERL_VERSION) = '5.006' ]; then \ -@@ -540,7 +528,7 @@ - echo "#############################################################################"; \ - if [ "$(DESTDIR)" = "" ]; then read rep; fi \ - fi -- @if [ ! -f $(SUIDPERL) ]; then \ -+ @if [ -f $(SUIDPERL) ]; then \ - echo "#################################################################################"; \ - echo "## wwsympa.fcgi that provides Sympa's web interface needs to run as user $(USER)"; \ - echo "## There are many options to do so : "; \ Deleted: trunk/dports/mail/sympa/files/patch-configure.in =================================================================== --- trunk/dports/mail/sympa/files/patch-configure.in 2014-12-05 00:04:11 UTC (rev 129077) +++ trunk/dports/mail/sympa/files/patch-configure.in 2014-12-05 00:15:58 UTC (rev 129078) @@ -1,12 +0,0 @@ ---- configure.in.org 2006-04-05 01:22:07.000000000 -0700 -+++ configure.in 2006-04-14 02:10:09.000000000 -0700 -@@ -146,9 +146,6 @@ - AC_ARG_WITH(perl, [ --with-perl=FULLPATH set full path to Perl interpreter (default /usr/bin/perl)], [PERL="$withval"]) - AC_SUBST(PERL) - --AC_PATH_PROG(SUIDPERL, suidperl, /usr/bin/suidperl) --AC_SUBST(SUIDPERL) -- - AC_PATH_PROG(SUDO, sudo, /usr/bin/sudo) - AC_SUBST(SUDO) - Deleted: trunk/dports/mail/sympa/files/patch-src_alias_manager.pl =================================================================== --- trunk/dports/mail/sympa/files/patch-src_alias_manager.pl 2014-12-05 00:04:11 UTC (rev 129077) +++ trunk/dports/mail/sympa/files/patch-src_alias_manager.pl 2014-12-05 00:15:58 UTC (rev 129078) @@ -1,11 +0,0 @@ ---- src/alias_manager.pl Tue Aug 9 09:02:35 2005 -+++ src/alias_manager.pl Sat Feb 18 01:51:52 2006 -@@ -43,7 +43,7 @@ - my $tmp_alias_file = $Conf{'tmpdir'}.'/sympa_aliases.'.time; - - --my $alias_wrapper = '--MAILERPROGDIR--/aliaswrapper'; -+my $alias_wrapper = '--LIBEXECDIR--/aliaswrapper'; - my $lock_file = '--EXPL_DIR--/alias_manager.lock'; - my $default_domain; - my $path_to_queue = '--MAILERPROGDIR--/queue'; Deleted: trunk/dports/mail/sympa/files/patch-sympa.generic =================================================================== --- trunk/dports/mail/sympa/files/patch-sympa.generic 2014-12-05 00:04:11 UTC (rev 129077) +++ trunk/dports/mail/sympa/files/patch-sympa.generic 2014-12-05 00:15:58 UTC (rev 129078) @@ -1,11 +0,0 @@ ---- src/etc/script/sympa.generic.org 2004-12-10 01:23:03.000000000 -0800 -+++ src/etc/script/sympa.generic 2006-04-04 17:03:00.000000000 -0700 -@@ -111,7 +111,7 @@ - echo "Stopping Sympa subsystem: " - if [ -f $pidfilepath/sympa ]; then - kill `cat $pidfilepath/sympa.pid` -- kill `cat $pidfilepath/sympa-distribution.pid` -+# kill `cat $pidfilepath/sympa-distribution.pid` - kill `cat $pidfilepath/archived.pid` - kill `cat $pidfilepath/bounced.pid` - kill `cat $pidfilepath/task_manager.pid`