From owner-svn-ports-all@FreeBSD.ORG Mon Mar 31 14:12:43 2014 Return-Path: Delivered-To: svn-ports-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4F7458DF; Mon, 31 Mar 2014 14:12:43 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3B77026E; Mon, 31 Mar 2014 14:12:43 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s2VECheo015594; Mon, 31 Mar 2014 14:12:43 GMT (envelope-from sunpoet@svn.freebsd.org) Received: (from sunpoet@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s2VECgrd015590; Mon, 31 Mar 2014 14:12:42 GMT (envelope-from sunpoet@svn.freebsd.org) Message-Id: <201403311412.s2VECgrd015590@svn.freebsd.org> From: Sunpoet Po-Chuan Hsieh Date: Mon, 31 Mar 2014 14:12:42 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r349753 - in head/ftp/pure-ftpd: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Mar 2014 14:12:43 -0000 Author: sunpoet Date: Mon Mar 31 14:12:42 2014 New Revision: 349753 URL: http://svnweb.freebsd.org/changeset/ports/349753 QAT: https://qat.redports.org/buildarchive/r349753/ Log: - 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 [1] Ari Maniatis [2] Added: head/ftp/pure-ftpd/files/pure-alwaysfail (contents, props changed) Modified: head/ftp/pure-ftpd/Makefile head/ftp/pure-ftpd/files/pure-ftpd.in head/ftp/pure-ftpd/pkg-plist Modified: head/ftp/pure-ftpd/Makefile ============================================================================== --- head/ftp/pure-ftpd/Makefile Mon Mar 31 14:08:09 2014 (r349752) +++ head/ftp/pure-ftpd/Makefile Mon Mar 31 14:12:42 2014 (r349753) @@ -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}/ Added: head/ftp/pure-ftpd/files/pure-alwaysfail ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/ftp/pure-ftpd/files/pure-alwaysfail Mon Mar 31 14:12:42 2014 (r349753) @@ -0,0 +1,4 @@ +#!/bin/sh + +echo auth_ok:0 +echo end Modified: head/ftp/pure-ftpd/files/pure-ftpd.in ============================================================================== --- head/ftp/pure-ftpd/files/pure-ftpd.in Mon Mar 31 14:08:09 2014 (r349752) +++ head/ftp/pure-ftpd/files/pure-ftpd.in Mon Mar 31 14:12:42 2014 (r349753) @@ -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" Modified: head/ftp/pure-ftpd/pkg-plist ============================================================================== --- head/ftp/pure-ftpd/pkg-plist Mon Mar 31 14:08:09 2014 (r349752) +++ head/ftp/pure-ftpd/pkg-plist Mon Mar 31 14:12:42 2014 (r349753) @@ -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