ports/68289: Update ftp/pure-ftpd to 1.0.19 + rcNG'ify + OPTIONS
Joerg Pulz
Joerg.Pulz at frm2.tum.de
Thu Jun 24 19:50:38 UTC 2004
>Number: 68289
>Category: ports
>Synopsis: Update ftp/pure-ftpd to 1.0.19 + rcNG'ify + OPTIONS
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Thu Jun 24 19:50:27 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator: Joerg Pulz
>Release: FreeBSD 5.2.1-RELEASE-p8 i386
>Organization:
TU-Munich / ZWE FRM-II
>Environment:
System: FreeBSD hades.admin.frm2 5.2.1-RELEASE-p8 FreeBSD 5.2.1-RELEASE-p8 #3: Fri Jun 11 08:51:32 CEST 2004 root at hades.admin.frm2:/usr/obj/usr/src/sys/HADES i386
>Description:
Update ftp/pure-ftpd to the current version 1.0.19.
use OPTIONS to to enable/disable LDAP,MySQL,PostgreSQL support
and priviledge separation.
new rc script which utilizes the rcNG system.
small patch to fix core-dumps on 4.x system (from Frank DENIS via ML)
>How-To-Repeat:
>Fix:
--- pure-ftpd.diff begins here ---
diff -urN --exclude=CVS /usr/ports/ftp/pure-ftpd/Makefile pure-ftpd/Makefile
--- /usr/ports/ftp/pure-ftpd/Makefile Thu May 27 18:43:45 2004
+++ pure-ftpd/Makefile Thu Jun 24 21:05:45 2004
@@ -6,7 +6,7 @@
#
PORTNAME= pure-ftpd
-PORTVERSION= 1.0.18
+PORTVERSION= 1.0.19
PORTREVISION= 0
CATEGORIES= ftp ipv6
MASTER_SITES= ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/ \
@@ -23,6 +23,8 @@
MAINTAINER= j at pureftpd.org
COMMENT= A small, easy to set up, fast and very secure FTP server
+USE_RC_SUBR= yes
+RC_DIR?= ${LOCALBASE}/etc/rc.d
USE_BZIP2= yes
USE_REINPLACE= yes
GNU_CONFIGURE= yes
@@ -33,6 +35,13 @@
--with-largefile \
--sysconfdir=${PREFIX}/etc
+OPTIONS= LDAP "With users in LDAP directories" off \
+ MYSQL "With users in MySQL databases" off \
+ PGSQL "With users in PostgreSQL databases" off \
+ WITH_PRIVSEP "With privilege separation" off
+
+.include <bsd.port.pre.mk>
+
# language support requested?
.if defined(WITH_LANG)
CONFIGURE_ARGS+= --with-language="${WITH_LANG}"
@@ -76,8 +85,6 @@
pure-uploadscript.8 pure-pw.8 pure-pwconvert.8 pure-quotacheck.8 \
pure-authd.8
-.include <bsd.port.pre.mk>
-
.if ${OSVERSION} > 500000
PAM_TEMPL?= ${FILESDIR}/pam.conf.5
.else
@@ -98,12 +105,10 @@
CONTRIB= xml_python_processors.txt pure-vpopauth.pl
+PLIST_SUB= RC_DIR=${RC_DIR}
+
pre-fetch:
@${ECHO_MSG} "You can use the following additional options:"
- @${ECHO_MSG} "WITH_LDAP=1 - Support for users in LDAP directories"
- @${ECHO_MSG} "WITH_MYSQL=1 - Support for users in MySQL databases"
- @${ECHO_MSG} "WITH_PGSQL=1 - Support for users in PostgreSQL databases"
- @${ECHO_MSG} "WITH_PRIVSEP=1 - Enable privilege separation"
@${ECHO_MSG} "WITH_CERTFILE=/path - Set different location of certificate file for TLS"
@${ECHO_MSG} "WITH_LANG=lang - Enable compilation of language support, lang is one of"
@${ECHO_MSG} " english, german, romanian, french, french-funny, polish, spanish,"
@@ -128,7 +133,10 @@
@${MKDIR} ${DOCSDIR}
cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${DOCSDIR}
.endif
- ${INSTALL_SCRIPT} ${FILESDIR}/pure-ftpd.sh.sample ${PREFIX}/etc/rc.d/
+ @${SED} -e "s|%%PREFIX%%|${PREFIX}|g" -e "s|%%RC_SUBR%%|${RC_SUBR}|g" \
+ < ${FILESDIR}/pure-ftpd.sh.sample > \
+ ${WRKDIR}/pure-ftpd.sh
+ ${INSTALL_SCRIPT} ${WRKDIR}/pure-ftpd.sh ${RC_DIR}/pure-ftpd.sh
.if defined(PAM_TEMPL)
${MKDIR} ${PAM_DIR}
${INSTALL_DATA} ${PAM_TEMPL} ${PAM_DIR}/${PAM_TARGET}
diff -urN --exclude=CVS /usr/ports/ftp/pure-ftpd/distinfo pure-ftpd/distinfo
--- /usr/ports/ftp/pure-ftpd/distinfo Mon Mar 8 23:33:50 2004
+++ pure-ftpd/distinfo Thu Jun 24 19:56:36 2004
@@ -1,2 +1,2 @@
-MD5 (pure-ftpd-1.0.18.tar.bz2) = 56925bb7a35b07ca70e5453af731acba
-SIZE (pure-ftpd-1.0.18.tar.bz2) = 458995
+MD5 (pure-ftpd-1.0.19.tar.bz2) = 1ff9e9215d3b1fdad36571e892a726d1
+SIZE (pure-ftpd-1.0.19.tar.bz2) = 460292
diff -urN --exclude=CVS /usr/ports/ftp/pure-ftpd/files/patch-src_bsd-getopt_long.c pure-ftpd/files/patch-src_bsd-getopt_long.c
--- /usr/ports/ftp/pure-ftpd/files/patch-src_bsd-getopt_long.c Thu Jan 1 01:00:00 1970
+++ pure-ftpd/files/patch-src_bsd-getopt_long.c Thu Jun 24 21:19:25 2004
@@ -0,0 +1,11 @@
+--- src/bsd-getopt_long.c.orig Sun Jun 20 19:29:34 2004
++++ src/bsd-getopt_long.c Tue Jun 22 15:21:09 2004
+@@ -472,6 +472,8 @@
+ *nargv[pure_optind + 1] != '-') {
+ pure_optarg = nargv[++pure_optind];
+ }
++ } else {
++ pure_optarg = nargv[pure_optind];
+ }
+ }
+ pure_place = EMSG;
diff -urN --exclude=CVS /usr/ports/ftp/pure-ftpd/files/pure-ftpd.sh.sample pure-ftpd/files/pure-ftpd.sh.sample
--- /usr/ports/ftp/pure-ftpd/files/pure-ftpd.sh.sample Sun Jun 22 20:22:29 2003
+++ pure-ftpd/files/pure-ftpd.sh.sample Thu Jun 24 20:42:58 2004
@@ -1,25 +1,29 @@
#!/bin/sh
-if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then
- echo "$0: Cannot determine the PREFIX" >&2
- exit 1
-fi
-
-
-case "$1" in
-start)
- [ -r ${PREFIX}/etc/pure-ftpd.conf ] && \
- ${PREFIX}/sbin/pure-config.pl ${PREFIX}/etc/pure-ftpd.conf > /dev/null && \
- echo -n ' pure-ftp'
- ;;
-stop)
- [ -r /var/run/pure-ftpd.pid ] && \
- kill `cat /var/run/pure-ftpd.pid` > /dev/null && \
- echo -n ' pure-ftp'
- ;;
-*)
- echo "Usage: `basename $0` {start|stop}" >&2
- ;;
-esac
+# PROVIDE: pureftpd
+# REQUIRE: NETWORKING SERVERS
+# BEFORE: DAEMON
+# KEYWORD: FreeBSD shutdown
-exit 0
+#
+# Add the following lines to /etc/rc.conf to enable samba:
+#
+#pureftpd_enable="YES"
+#
+
+. %%RC_SUBR%%
+
+name=pureftpd
+rcvar=`set_rcvar`
+
+command=%%PREFIX%%/sbin/pure-config.pl
+pureftpd_config=${pureftpd_config:-"%%PREFIX%%/etc/pure-ftpd.conf"}
+required_files=${pureftpd_config}
+pidfile=/var/run/pure-ftpd.pid
+procname=pure-ftpd
+
+pureftpd_enable=${pureftpd_enable:-"NO"}
+command_args=${pureftpd_config}
+
+load_rc_config $name
+run_rc_command "$1"
diff -urN --exclude=CVS /usr/ports/ftp/pure-ftpd/pkg-plist pure-ftpd/pkg-plist
--- /usr/ports/ftp/pure-ftpd/pkg-plist Wed Aug 13 12:42:47 2003
+++ pure-ftpd/pkg-plist Thu Jun 24 20:24:52 2004
@@ -5,7 +5,7 @@
etc/pureftpd-ldap.conf.sample
etc/pureftpd-mysql.conf.sample
etc/pureftpd-pgsql.conf.sample
-etc/rc.d/pure-ftpd.sh.sample
+ at unexec %%RC_DIR%%/pure-ftpd.sh stop 2>/dev/null || true
sbin/pure-authd
sbin/pure-config.pl
sbin/pure-ftpd
--- pure-ftpd.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list