@@ -0,0 +1,118 @@
+#! /bin/sh
+# Copyright (c) 2001, 2002 SuSE GmbH Nuernberg, Germany.
+#
+# Author: Thorsten Kukuk <feedback@suse.de>
+#
+# /etc/init.d/pure-ftpd
+#
+# and symbolic its link
+#
+# /usr/sbin/rcpure-ftpd
+#
+# System startup script for the pure ftp daemon
+#
+### BEGIN INIT INFO
+# Provides: pure-ftpd
+# Required-Start: $remote_fs $syslog
+# Required-Stop: $remote_fs $syslog
+# Default-Start: 3 5
+# Default-Stop: 0 1 2 6
+# Short-Description: Start pure-ftpd ftp server.
+# Description: Start pure-ftpd ftp server.
+### END INIT INFO
+
+FTPD_BIN=/usr/sbin/pure-ftpd
+test -x $FTPD_BIN || exit 5
+
+# Shell functions sourced from /etc/rc.status:
+# rc_check check and set local and overall rc status
+# rc_status check and set local and overall rc status
+# rc_status -v ditto but be verbose in local rc status
+# rc_status -v -r ditto and clear the local rc status
+# rc_failed set local and overall rc status to failed
+# rc_failed <num> set local and overall rc status to <num><num>
+# rc_reset clear local rc status (overall remains)
+# rc_exit exit appropriate to overall rc status
+. /etc/rc.status
+
+# First reset status of this service
+rc_reset
+
+# Return values acc. to LSB for all commands but status:
+# 0 - success
+# 1 - generic or unspecified error
+# 2 - invalid or excess argument(s)
+# 3 - unimplemented feature (e.g. "reload")
+# 4 - insufficient privilege
+# 5 - program is not installed
+# 6 - program is not configured
+# 7 - program is not running
+#
+# Note that starting an already running service, stopping
+# or restarting a not-running service as well as the restart
+# with force-reload (in case signalling is not supported) are
+# considered a success.
+
+case "$1" in
+ start)
+ echo -n "Starting pure-ftpd"
+ FTPD_ARGS=`/usr/sbin/pure-config-args /etc/pure-ftpd/pure-ftpd.conf`
+ startproc $FTPD_BIN $FTPD_ARGS
+ rc_status -v
+ ;;
+ stop)
+ echo -n "Shutting down pure-ftpd"
+ killproc -G -TERM $FTPD_BIN
+ rc_status -v
+ ;;
+ try-restart)
+ $0 status >/dev/null && $0 restart
+ rc_status
+ ;;
+ restart)
+ ## Stop the service and regardless of whether it was
+ ## running or not, start it again.
+ $0 stop
+ $0 start
+ rc_status
+ ;;
+ force-reload)
+ ## Signal the daemon to reload its config. Most daemons
+ ## do this on signal 1 (SIGHUP).
+ ## If it does not support it, restart.
+ echo -n "Reload service pure-ftpd"
+ $0 stop && $0 start
+ rc_status
+ ;;
+ reload)
+ ## Like force-reload, but if daemon does not support
+ ## signalling, do nothing (!)
+ echo -n "Reload service pure-ftpd"
+ rc_failed 3
+ rc_status -v
+ ;;
+ status)
+ echo -n "Checking for pure-ftpd: "
+ ## Check status with checkproc(8), if process is running
+ ## checkproc will return with exit status 0.
+
+ # Status has a slightly different for the status command:
+ # 0 - service running
+ # 1 - service dead, but /var/run/ pid file exists
+ # 2 - service dead, but /var/lock/ lock file exists
+ # 3 - service not running
+
+ # NOTE: checkproc returns LSB compliant status values.
+ checkproc $FTPD_BIN
+ rc_status -v
+ ;;
+ probe)
+ test /etc/pure-ftpd/pure-ftpd.conf -nt /var/run/pure-ftpd.pid && \
+ echo restart
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
+ exit 1
+ ;;
+esac
+rc_exit
|