- Make the port PREFIX-clean
- Install examples and docs into standard directories - Do not depend on apache13 - it should run with other Web servers, too - Move all other dependencies to RUN_DEPENDS - Look for dependendcies (including ezmlm-idx) in LOCALBASE - Remove obsoleted patches - fix typo in the config file - Bump PORTREVISION PR: ports/42218 Submitted by: Sergei Kolobov <sergei@kolobov.com> Approved by: maintainer
This commit is contained in:
parent
c306aae65e
commit
3a16317b30
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=85619
4 changed files with 39 additions and 109 deletions
|
@ -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}
|
||||
|
|
|
@ -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>';
|
|
@ -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
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue