aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
Diffstat (limited to 'mail')
-rw-r--r--mail/ezmlm-web/Makefile42
-rw-r--r--mail/ezmlm-web/files/patch-aa66
-rw-r--r--mail/ezmlm-web/pkg-message19
-rw-r--r--mail/ezmlm-web/pkg-plist21
4 files changed, 39 insertions, 109 deletions
diff --git a/mail/ezmlm-web/Makefile b/mail/ezmlm-web/Makefile
index fb3aae6b1987..f8895efc72ab 100644
--- a/mail/ezmlm-web/Makefile
+++ b/mail/ezmlm-web/Makefile
@@ -7,41 +7,53 @@
PORTNAME= ezmlm-web
PORTVERSION= 2.1
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= mail www
MASTER_SITES= ftp://rucus.ru.ac.za/pub/mail/ezmlm/
MAINTAINER= guy-ezmlm@rucus.ru.ac.za
COMMENT= CGI script that lets you manage ezmlm-idx mailing lists through the web
-BUILD_DEPENDS= ${LOCALBASE}/${EZMLM_DIR}/bin/ezmlm-idx:${PORTSDIR}/mail/ezmlm-idx \
- ${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/Mail/Ezmlm.pm:${PORTSDIR}/mail/p5-Mail-Ezmlm
-RUN_DEPENDS= ${LOCALBASE}/sbin/apachectl:${PORTSDIR}/www/apache13 \
- ${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/Mail/Address.pm:${PORTSDIR}/mail/p5-Mail-Tools
+RUN_DEPENDS= ezmlm-idx:${PORTSDIR}/mail/ezmlm-idx \
+ ${SITE_PERL}/Mail/Ezmlm.pm:${PORTSDIR}/mail/p5-Mail-Ezmlm \
+ ${SITE_PERL}/Mail/Address.pm:${PORTSDIR}/mail/p5-Mail-Tools
# Change these to suit your setup. You can do this via the environment
# CGI_BIN is the location relative to ${PREFIX} of your webservers' cgi-bin
# EZMLM_DIR is the base relative to ${PREFIX} in which ezmlm was installed
#
CGI_BIN?= www/cgi-bin.default
-EZMLM_DIR?=
USE_PERL5= YES
-PLIST_SUB= CGI_BIN=${CGI_BIN:S/$/\//:S/^\///} EZMLM_DIR=${EZMLM_DIR:S/$/\//:S/^\///}
+USE_REINPLACE= YES
+PLIST_SUB= CGI_BIN=${CGI_BIN}
+
+EXAMPLES= htaccess.sample webusers.sample index.c
+DOCS= CHANGES README TODO UPGRADING
do-build:
- @cd ${WRKSRC}; ${MAKE} index; ${MV} index ezmlm-web
+ cd ${WRKSRC} && ${CC} ${CFLAGS} -o ezmlm-web index.c
+
+post-patch:
+ ${REINPLACE_CMD} -e 's|/etc/ezmlm|${PREFIX}/etc/ezmlm|' \
+ -e 's|/usr/local|${PREFIX}|g' -e 's|prefex|prefix|g' \
+ ${WRKSRC}/ezmlm-web.cgi ${WRKSRC}/ezmlmwebrc ${WRKSRC}/index.c
do-install:
- ${MKDIR} ${PREFIX}/${CGI_BIN} ${PREFIX}/${EZMLM_DIR}
- ${INSTALL_SCRIPT} ${WRKSRC}/ezmlm-web.cgi ${PREFIX}/${EZMLM_DIR}/bin
- ${INSTALL_DATA} ${WRKSRC}/ezmlmwebrc ${PREFIX}/${EZMLM_DIR}/etc/ezmlm/ezmlmwebrc.sample
+ ${MKDIR} ${PREFIX}/${CGI_BIN} ${PREFIX}/etc/ezmlm
+ ${INSTALL_SCRIPT} ${WRKSRC}/ezmlm-web.cgi ${PREFIX}/bin
+ ${INSTALL_DATA} ${WRKSRC}/ezmlmwebrc ${PREFIX}/etc/ezmlm/ezmlmwebrc.sample
${INSTALL_PROGRAM} -o alias -g qmail -m 4755 ${WRKSRC}/ezmlm-web ${PREFIX}/${CGI_BIN}
- ${MKDIR} ${PREFIX}/share/ezmlm-web
-.for file in CHANGES README index.c htaccess.sample webusers.sample
- ${INSTALL_MAN} ${WRKSRC}/${file} ${PREFIX}/share/ezmlm-web
+ ${MKDIR} ${EXAMPLESDIR}
+.for file in ${EXAMPLES}
+ ${INSTALL_MAN} ${WRKSRC}/${file} ${EXAMPLESDIR}
.endfor
-
+.if !defined(NOPORTDOCS)
+ ${MKDIR} ${DOCSDIR}
+.for file in ${DOCS}
+ ${INSTALL_DATA} ${WRKSRC}/${file} ${DOCSDIR}
+.endfor
+.endif
post-install:
@${SED} 's!%%PREFIX%%!${PREFIX}!g; s!%%EZMLM_DIR%%!${PREFIX}${EZMLM_DIR:S/^\///}!g' ${PKGMESSAGE}
@${ECHO}
diff --git a/mail/ezmlm-web/files/patch-aa b/mail/ezmlm-web/files/patch-aa
deleted file mode 100644
index d4feb9e5b64f..000000000000
--- a/mail/ezmlm-web/files/patch-aa
+++ /dev/null
@@ -1,66 +0,0 @@
---- ezmlm-web.cgi.orig Mon Sep 25 21:58:08 2000
-+++ ezmlm-web.cgi Wed Sep 19 09:19:05 2001
-@@ -76,6 +76,10 @@
- require "$opt_C"; # Command Line
- } elsif(-e "$HOME_DIR/.ezmlmwebrc") {
- require "$HOME_DIR/.ezmlmwebrc"; # User
-+} elsif(-e "/usr/local/etc/ezmlm/ezmlmwebrc") {
-+ require "/usr/local/etc/ezmlm/ezmlmwebrc"; # FreeBSD
-+} elsif(-e "/usr/local/etc/ezmlmwebrc") {
-+ require "/usr/local/etc/ezmlmwebrc"; # FreeBSD alt
- } elsif(-e "/etc/ezmlm/ezmlmwebrc") {
- require "/etc/ezmlm/ezmlmwebrc"; # System
- } elsif(-e "./ezmlmwebrc") {
-@@ -281,13 +285,13 @@
- print $q->startform;
- print $q->hidden(-name=>'state', -default=>'select');
- print '<CENTER><TABLE BORDER="0" CELLPADDING="10"><TR><TD ALIGN="center" VALIGN="top" ROWSPAN="2">';
-- print $q->scrolling_list(-name=>'list', -size=>$scrollsize, -values=>\@lists) if defined(@lists);
-+ print $q->scrolling_list(-name=>'list', -size=>$scrollsize, -values=>\@lists) if (@lists);
-
- print '</TD><TD ALIGN="left" VALIGN="top">', $LANGUAGE{'chooselistinfo'};
-
-- print $q->submit(-name=>'action', -value=>"[$BUTTON{'create'}]"), ' ' if (!defined($opt_c));
-- print $q->submit(-name=>'action', -value=>"[$BUTTON{'edit'}]"), ' ' if(defined(@lists));
-- print $q->submit(-name=>'action', -value=>"[$BUTTON{'delete'}]") if(defined(@lists));
-+ print $q->submit(-name=>'action', -value=>"[$BUTTON{'create'}]"), ' ' if ($opt_c);
-+ print $q->submit(-name=>'action', -value=>"[$BUTTON{'edit'}]"), ' ' if(@lists);
-+ print $q->submit(-name=>'action', -value=>"[$BUTTON{'delete'}]") if(@lists);
- print '</TD></TR><TR><TD> </TD></TR></TABLE></CENTER>';
- print $q->endform;
- }
-@@ -332,10 +336,10 @@
- print '<CENTER><TABLE ALIGN="center" CELLPADDING="10"><TR><TD ROWSPAN="2" VALIGN="top" ALIGN="center">';
- print $q->hidden(-name=>'state', -default=>'edit');
- print $q->hidden(-name=>'list', -default=>$Q::list);
-- print $q->scrolling_list(-name=>'delsubscriber', -size=>$scrollsize, -values=>\@subscribers, -labels=>&pretty_names, -multiple=>'true') if defined(@subscribers);
-+ print $q->scrolling_list(-name=>'delsubscriber', -size=>$scrollsize, -values=>\@subscribers, -labels=>&pretty_names, -multiple=>'true') if (@subscribers);
- print '</TD><TD VALIGN="top" ALIGN="left">';
-- print ' ', ($#subscribers + 1), ' ', $LANGUAGE{'subscribers'}, '<BR>' if defined(@subscribers);
-- print $q->submit(-name=>'action', -value=>"[$BUTTON{'deleteaddress'}]"), '<P>' if defined(@subscribers);
-+ print ' ', ($#subscribers + 1), ' ', $LANGUAGE{'subscribers'}, '<BR>' if (@subscribers);
-+ print $q->submit(-name=>'action', -value=>"[$BUTTON{'deleteaddress'}]"), '<P>' if (@subscribers);
- print $q->textfield(-name=>'addsubscriber', -size=>'40'), ' <IMG SRC="', $HELP_ICON_URL, '" ALT="', $HELPER{'addaddress'}, '"><BR>';
- print $q->filefield(-name=>'addfile', -size=>20, -maxlength=>100), ' <IMG SRC="', $HELP_ICON_URL, '" ALT="', $HELPER{'addaddressfile'}, '"><br>' if ($FILE_UPLOAD);
- print $q->submit(-name=>'action', -value=>"[$BUTTON{'addaddress'}]"), '<P>';
-@@ -447,7 +451,7 @@
- die "File upload must be of type text/*" unless($q->uploadInfo($q->param('addfile'))->{'Content-Type'} =~ m{^text/});
-
- # Handle file uploads of addresses
-- my($fh) = $q->upload('addfile');
-+ my($fh) = $q->param('addfile');
- return unless (defined($fh));
- while (<$fh>) {
- next if (/^\s*$/ or /^#/); # blank, comments
-@@ -563,9 +567,9 @@
- print '<CENTER><TABLE ALIGN="center" CELLPADDING="10"><TR><TD ROWSPAN="2" VALIGN="top" ALIGN="center">';
- print $q->hidden(-name=>'state', -default=>$part);
- print $q->hidden(-name=>'list', -default=>$Q::list), "\n";
-- print $q->scrolling_list(-name=>'delsubscriber', -size=>$scrollsize, -values=>\@subscribers, -multiple=>'true', -labels=>&pretty_names) if defined(@subscribers);
-+ print $q->scrolling_list(-name=>'delsubscriber', -size=>$scrollsize, -values=>\@subscribers, -multiple=>'true', -labels=>&pretty_names) if (@subscribers);
- print '</TD></TR><TR><TD VALIGN="top" ALIGN="left">';
-- print $q->submit(-name=>'action', -value=>"[$BUTTON{'deleteaddress'}]"), '<P>' if defined(@subscribers);
-+ print $q->submit(-name=>'action', -value=>"[$BUTTON{'deleteaddress'}]"), '<P>' if (@subscribers);
- print $q->textfield(-name=>'addsubscriber', -size=>'40'), ' <IMG SRC="', $HELP_ICON_URL, '" ALT="', $HELPER{'addaddress'}, '"><BR>';
- print $q->filefield(-name=>'addfile', -size=>20, -maxlength=>100), ' <IMG SRC="', $HELP_ICON_URL, '" ALT="', $HELPER{'addaddressfile'}, '"><br>' if ($FILE_UPLOAD);
- print $q->submit(-name=>'action', -value=>"[$BUTTON{'addaddress'}]"), '<P>';
diff --git a/mail/ezmlm-web/pkg-message b/mail/ezmlm-web/pkg-message
index 1d952f1d677d..e69de29bb2d1 100644
--- a/mail/ezmlm-web/pkg-message
+++ b/mail/ezmlm-web/pkg-message
@@ -1,19 +0,0 @@
-
-NB!! By default no security is enabled on ezmlm-web.
-
-The effectively means that at the moment, anyone can go to
- http://<your host>/cgi-bin/ezmlm-web
-and alter any of your primary mailing lists.
-
-If this is not what you want (and it probably isn't :), you need to
-either create a <File> directive in you apache configuration, or
-use a .htaccess file, or provide some other means of security.
-
-Have a look at the README file in %%PREFIX%%/share/ezmlm-web for
-more information. There are also some sample files there.
-
-In order to make ezmlm-web work properly, you will have to create
-a configuration file for it in %%EZMLM_DIR%%/etc/ezmlm.
-A sample ezmlmwebrc (ezmlmwebrc.sample) file is provided in that
-directory. This sample will work `as is', but allows you to customise
-ezmlm-web to your liking. At a minimum just cp ezmlmwebrc.sample ezmlmwebrc
diff --git a/mail/ezmlm-web/pkg-plist b/mail/ezmlm-web/pkg-plist
index ece3aa6e9b1f..c649dda6db4c 100644
--- a/mail/ezmlm-web/pkg-plist
+++ b/mail/ezmlm-web/pkg-plist
@@ -1,9 +1,12 @@
-share/ezmlm-web/CHANGES
-share/ezmlm-web/README
-share/ezmlm-web/index.c
-share/ezmlm-web/htaccess.sample
-share/ezmlm-web/webusers.sample
-@dirrm share/ezmlm-web
-%%EZMLM_DIR%%bin/ezmlm-web.cgi
-%%EZMLM_DIR%%etc/ezmlm/ezmlmwebrc.sample
-%%CGI_BIN%%ezmlm-web
+bin/ezmlm-web.cgi
+%%CGI_BIN%%/ezmlm-web
+etc/ezmlm/ezmlmwebrc.sample
+%%PORTDOCS%%%%DOCSDIR%%/CHANGES
+%%PORTDOCS%%%%DOCSDIR%%/README
+%%PORTDOCS%%%%DOCSDIR%%/TODO
+%%PORTDOCS%%%%DOCSDIR%%/UPGRADING
+share/examples/ezmlm-web/htaccess.sample
+share/examples/ezmlm-web/index.c
+share/examples/ezmlm-web/webusers.sample
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
+@dirrm share/examples/ezmlm-web