diff options
author | sunpoet <sunpoet@FreeBSD.org> | 2014-03-31 22:12:42 +0800 |
---|---|---|
committer | sunpoet <sunpoet@FreeBSD.org> | 2014-03-31 22:12:42 +0800 |
commit | 687d66f2a1add74bb2da6330897523e41b37d70a (patch) | |
tree | a5545cc3b4ff9d801a92e4d27db4958b47d059f2 /ftp | |
parent | b5b4a58672af2e1767684994e95e93b2b5b0b041 (diff) | |
download | freebsd-ports-gnome-687d66f2a1add74bb2da6330897523e41b37d70a.tar.gz freebsd-ports-gnome-687d66f2a1add74bb2da6330897523e41b37d70a.tar.zst freebsd-ports-gnome-687d66f2a1add74bb2da6330897523e41b37d70a.zip |
- Add pure-authd support in rc script [1][2]
- Indent rc script
- Cosmetic change
- Bump PORTREVISION for package change
PR: ports/163339 [1], ports/180992 [2] (based on)
Submitted by: Gabor HALASZ <halasz.g@freemail.hu> [1]
Ari Maniatis <ari@ish.com.au> [2]
Diffstat (limited to 'ftp')
-rw-r--r-- | ftp/pure-ftpd/Makefile | 2 | ||||
-rw-r--r-- | ftp/pure-ftpd/files/pure-alwaysfail | 4 | ||||
-rw-r--r-- | ftp/pure-ftpd/files/pure-ftpd.in | 91 | ||||
-rw-r--r-- | ftp/pure-ftpd/pkg-plist | 1 |
4 files changed, 69 insertions, 29 deletions
diff --git a/ftp/pure-ftpd/Makefile b/ftp/pure-ftpd/Makefile index 2ff3d7d9957c..508ea35ab3d6 100644 --- a/ftp/pure-ftpd/Makefile +++ b/ftp/pure-ftpd/Makefile @@ -3,6 +3,7 @@ PORTNAME= pure-ftpd PORTVERSION= 1.0.36 +PORTREVISION= 1 CATEGORIES= ftp ipv6 MASTER_SITES= http://download.pureftpd.org/pub/pure-ftpd/releases/ \ ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/ \ @@ -105,6 +106,7 @@ post-install: ${INSTALL_DATA} ${WRKSRC}/pureftpd-pgsql.conf ${STAGEDIR}${PREFIX}/etc/pureftpd-pgsql.conf.sample ${INSTALL_DATA} ${WRKSRC}/configuration-file/pure-ftpd.conf ${STAGEDIR}${PREFIX}/etc/pure-ftpd.conf.sample ${INSTALL_SCRIPT} ${WRKSRC}/configuration-file/pure-config.pl ${STAGEDIR}${PREFIX}/sbin/ + ${INSTALL_SCRIPT} ${FILESDIR}/pure-alwaysfail ${STAGEDIR}${PREFIX}/sbin/ ${MKDIR} ${STAGEDIR}${DOCSDIR}/ cd ${WRKSRC}/ && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}/ ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/ diff --git a/ftp/pure-ftpd/files/pure-alwaysfail b/ftp/pure-ftpd/files/pure-alwaysfail new file mode 100644 index 000000000000..d5a4864c4f2a --- /dev/null +++ b/ftp/pure-ftpd/files/pure-alwaysfail @@ -0,0 +1,4 @@ +#!/bin/sh + +echo auth_ok:0 +echo end diff --git a/ftp/pure-ftpd/files/pure-ftpd.in b/ftp/pure-ftpd/files/pure-ftpd.in index c8a389076788..a0538b74e2e8 100644 --- a/ftp/pure-ftpd/files/pure-ftpd.in +++ b/ftp/pure-ftpd/files/pure-ftpd.in @@ -1,19 +1,26 @@ #!/bin/sh - +# # $FreeBSD$ # + # PROVIDE: pureftpd # REQUIRE: NETWORKING SERVERS # BEFORE: DAEMON # KEYWORD: shutdown -# + # Add the following lines to /etc/rc.conf to enable pure-ftpd: # -# pureftpd_enable="YES" +# pureftpd_enable="yes" +# +# Add the following lines to /etc/rc.conf to enable pure-authd daemon: # -# For launch uploadscript daemon define -# pureftpd_upload_enable="YES" -# pureftpd_uploadscript="/full/path/to/launch_script" +# pureftpd_authd_enable="yes" +# pureftpd_authdscript="/full/path/to/auth_script" +# +# Add the following lines to /etc/rc.conf to enable uploadscript daemon: +# +# pureftpd_upload_enable="yes" +# pureftpd_uploadscript="/full/path/to/upload_script" . /etc/rc.subr @@ -23,42 +30,68 @@ rcvar=pureftpd_enable load_rc_config $name command=%%PREFIX%%/sbin/pure-config.pl -command_upload=%%PREFIX%%/sbin/pure-uploadscript -pureftpd_uploadscript=${pureftpd_uploadscript:-"/usr/bin/touch"} -pureftpd_config=${pureftpd_config:-"%%PREFIX%%/etc/pure-ftpd.conf"} -required_files=${pureftpd_config} +command_args="${pureftpd_config} -g${pidfile}" pidfile=/var/run/pure-ftpd.pid -pidfile2=/var/run/pure-uploadscript.pid procname=pure-ftpd - -pureftpd_enable=${pureftpd_enable:-"NO"} -command_args="${pureftpd_config} -g${pidfile}" +pureftpd_config=${pureftpd_config:-"%%PREFIX%%/etc/pure-ftpd.conf"} +pureftpd_enable=${pureftpd_enable:-"no"} +required_files=${pureftpd_config} +# authd +command_authd=%%PREFIX%%/sbin/pure-authd +command_authd_args="-B -r ${pureftpd_authdscript} -s ${pureftpd_authsocket}" +pidfile_authd=/var/run/pure-authd.pid +pureftpd_authdscript=${pureftpd_authdscript:-"%%PREFIX%%/sbin/pure-alwaysfail"} +pureftpd_authsocket=`%%PREFIX%%/sbin/pure-config.pl ${pureftpd_config} | grep -o ' -lextauth:[^ ]*' | cut -d: -f2` +# uploadscript +command_upload=%%PREFIX%%/sbin/pure-uploadscript command_upload_args="-B -r ${pureftpd_uploadscript}" +pidfile_uploadscript=/var/run/pure-uploadscript.pid +pureftpd_uploadscript=${pureftpd_uploadscript:-"/usr/bin/touch"} +start_precmd=start_precmd start_postcmd=start_postcmd stop_postcmd=stop_postcmd +start_precmd() +{ + if test -n ${pureftpd_authd_enable:-""} && checkyesno pureftpd_authd_enable && test -x ${pureftpd_authdscript}; then + echo "Starting ${command_authd}." + ${command_authd} ${command_authd_args} + fi +} + start_postcmd() { - if test -n ${pureftpd_upload_enable:-""} && checkyesno pureftpd_upload_enable; then - echo "Starting ${command_upload}." - ${command_upload} ${command_upload_args} - fi + if test -n ${pureftpd_upload_enable:-""} && checkyesno pureftpd_upload_enable; then + echo "Starting ${command_upload}." + ${command_upload} ${command_upload_args} + fi } stop_postcmd() { - if test -n ${pureftpd_upload_enable:-""} && checkyesno pureftpd_upload_enable; then - pid=$(check_pidfile ${pidfile2} ${command_upload}) - if [ -z ${pid} ]; then - echo "Upload script not running? (check ${pidfile2})." - return 1 - fi - echo "Stopping ${command_upload}." - kill -${sig_stop:-TERM} ${pid} - [ $? -ne 0 ] && [ -z "$rc_force" ] && return 1 - wait_for_pids ${pid} - fi + if test -n ${pureftpd_authd_enable:-""} && checkyesno pureftpd_authd_enable; then + pid=$(check_pidfile ${pidfile_authd} ${pidfile_authd} ${command_authd}) + if [ -z ${pid} ]; then + echo "pure-authd not running? (check ${pidfile_authd})." + return 1 + fi + echo "Stopping ${command_authd}." + kill -${sig_stop:-TERM} ${pid} + [ $? -ne 0 ] && [ -z "$rc_force" ] && return 1 + wait_for_pids ${pid} + fi + if test -n ${pureftpd_upload_enable:-""} && checkyesno pureftpd_upload_enable; then + pid=$(check_pidfile ${pidfile_uploadscript} ${command_upload}) + if [ -z ${pid} ]; then + echo "Upload script not running? (check ${pidfile_uploadscript})." + return 1 + fi + echo "Stopping ${command_upload}." + kill -${sig_stop:-TERM} ${pid} + [ $? -ne 0 ] && [ -z "$rc_force" ] && return 1 + wait_for_pids ${pid} + fi } run_rc_command "$1" diff --git a/ftp/pure-ftpd/pkg-plist b/ftp/pure-ftpd/pkg-plist index 4d04ae8d4813..ac8b7270ec14 100644 --- a/ftp/pure-ftpd/pkg-plist +++ b/ftp/pure-ftpd/pkg-plist @@ -14,6 +14,7 @@ man/man8/pure-pwconvert.8.gz man/man8/pure-quotacheck.8.gz man/man8/pure-statsdecode.8.gz man/man8/pure-uploadscript.8.gz +sbin/pure-alwaysfail sbin/pure-authd sbin/pure-config.pl sbin/pure-ftpd |