From: HAT Date: Sat, 4 Jun 2011 16:34:36 +0000 (+0900) Subject: Merge remote-tracking branch 'remotes/origin/branch-netatalk-2-1' X-Git-Url: https://arthur.barton.de/gitweb/?a=commitdiff_plain;h=4054f4b3c85ecab060dafd46c0d3632cadbb5803;hp=fa3903158f401ef06aaa524059c64f4412c39c7e;p=netatalk.git Merge remote-tracking branch 'remotes/origin/branch-netatalk-2-1' --- diff --git a/NEWS b/NEWS index 2ede1251..20c32f55 100644 --- a/NEWS +++ b/NEWS @@ -106,6 +106,7 @@ Changes in 2.1.6 * FIX: AppleDouble buffer overrun by extremely long filename * UPD: afpd: return version info with machine type in DSIGetStatus * UPD: dbd: use on-disk temporary rebuild db instead of in-memory db +* UPD: suse: initscript update Changes in 2.1.5 ================ diff --git a/distrib/initscripts/rc.atalk.suse.tmpl b/distrib/initscripts/rc.atalk.suse.tmpl index 886591bc..d99d429e 100755 --- a/distrib/initscripts/rc.atalk.suse.tmpl +++ b/distrib/initscripts/rc.atalk.suse.tmpl @@ -7,29 +7,15 @@ # ### BEGIN INIT INFO # Provides: netatalk -# Required-Start: $network $named $remote_fs $syslog -# Required-Stop: +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Should-Start: $network $named $remote_fs $syslog slpd +# Should-Stop: $remote_fs $network $syslog # Default-Start: 3 5 # Default-Stop: -# Description: AFP over TCP and legacy Appletalk daemons +# Description: AFP over TCP and legacy AppleTalk daemons ### END INIT INFO -test -f /etc/rc.config && { -. /etc/rc.config - -# Determine the base and follow a runlevel link name. -base=${0##*/} -link=${base#*[SK][0-9][0-9]} - -# Force execution if not called by a runlevel directory. -test $link = $base && START_ATALK=yes -test "$START_ATALK" = "yes" || exit 0 - -test -f /etc/rc.status && . /etc/rc.status -# The echo return value for success (defined in /etc/rc.config). -return=$rc_done -} - ATALK_NAME=`hostname|sed 's/\..*$//'` ATALK_UNIX_CHARSET='LOCALE' ATALK_MAC_CHARSET='MAC_ROMAN' @@ -48,44 +34,59 @@ TIMELORD_RUN=no ATALK_ZONE= ATALK_BGROUND=no - +. /etc/rc.status . :ETCDIR:/netatalk.conf # startup code for everything atalk_startup() { if [ x"${ATALKD_RUN}" != x"no" ]; then - echo -n " Starting atalkd:" - :SBINDIR:/atalkd + echo -n " Starting atalkd ... " + :SBINDIR:/atalkd ; my_ec=$? - if [ -x :BINDIR:/nbprgstr ]; then + if [ -x :BINDIR:/nbprgstr -a "$my_ec" = "0" ]; then + echo -n ".. " :BINDIR:/nbprgstr -p 4 ${ATALK_NAME}:Workstation + echo -n ". " :BINDIR:/nbprgstr -p 4 ${ATALK_NAME}:netatalk - fi + if [ "$my_ec" != "0" ] ; then false ; fi + rc_status -v + + rc_reset if [ x"${PAPD_RUN}" = x"yes" -a -x :SBINDIR:/papd ]; then - echo -n " Starting papd:" + echo -n " Starting papd" :SBINDIR:/papd + rc_status -v fi + rc_reset + if [ x"${TIMELORD_RUN}" = x"yes" -a -x :SBINDIR:/timelord ]; then echo -n " Starting timelord" :SBINDIR:/timelord + rc_status -v fi + rc_reset + fi if [ x"${CNID_METAD_RUN}" = x"yes" -a -x :SBINDIR:/cnid_metad ] ; then - echo -n " Starting cnid_metad:" - startproc :SBINDIR:/cnid_metad $CNID_CONFIG + echo -n " Starting cnid_metad " + startproc :SBINDIR:/cnid_metad ${CNID_CONFIG} + rc_status -v fi if [ x"${AFPD_RUN}" = x"yes" -a -x :SBINDIR:/afpd ] ; then - echo -n " Starting afpd:" - echo ${AFPD_UAMLIST} -g ${AFPD_GUEST} \ + echo -n " Starting afpd (" + echo -n ${AFPD_UAMLIST} -g ${AFPD_GUEST} \ -c ${AFPD_MAX_CLIENTS} -n ${ATALK_NAME}${ATALK_ZONE} + echo -n ")" startproc :SBINDIR:/afpd ${AFPD_UAMLIST} -g ${AFPD_GUEST} \ - -c ${AFPD_MAX_CLIENTS} -n ${ATALK_NAME}${ATALK_ZONE} + ${AFPD_OPTIONS} \ + -c ${AFPD_MAX_CLIENTS} -n "${ATALK_NAME}${ATALK_ZONE}" + rc_status -v fi touch /var/lock/subsys/atalk @@ -93,41 +94,53 @@ atalk_startup() { case "$1" in start) + if test ! -z "$UID" -a "$UID" != 0 ; then + echo "you have to be root to start netatalk daemons" + rc_failed + else if [ x"${ATALK_BGROUND}" = x"yes" -a x"${ATALKD_RUN}" != x"no" ]; then - echo "Starting netatalk in the background ... " + echo -n "Starting netatalk in the background ..." atalk_startup >& /dev/null & + rc_status -v else echo "Starting netatalk (this may take a while) ..." atalk_startup fi + fi ;; stop) - echo -n "Shutting down netatalk:" + echo -n "Shutting down netatalk" killproc -TERM :SBINDIR:/papd - if test -x :SBINDIR:/timelord ; then + if test -x :SBINDIR:/timelord ; then killproc -TERM :SBINDIR:/timelord - fi + fi killproc -TERM :SBINDIR:/atalkd + if [ x"${CNID_METAD_RUN}" = x"yes" -a -x :SBINDIR:/cnid_metad ] ; then + killproc -TERM :SBINDIR:/cnid_metad + fi killproc -TERM :SBINDIR:/afpd - if test -x :SBINDIR:/cnid_metad ; then - killproc -TERM :SBINDIR:/cnid_metad - fi - echo -e "$return" + + rc_status -v ;; - restart|reload) - $0 stop && $0 start || return=$rc_failed + restart|reload|force-reload) + $0 stop + $0 start + rc_status ;; status) - echo -n "Checking for service atalk:" - checkproc :SBINDIR:/papd && echo -n "OK" || echo -n "No process" - checkproc :SBINDIR:/afpd && echo -n "OK" || echo "No process" - if test -x :SBINDIR:/timelord ; then - checkproc :SBINDIR:/timelord || return=$rc_failed - fi - if test -x :SBINDIR:/cnid_metad ; then - checkproc :SBINDIR:/cnid_metad || return=$rc_failed - fi - checkproc :SBINDIR:/atalkd && echo "OK" || echo "No process" + echo "Checking for netatalk services" + checkproc :SBINDIR:/papd && echo -n "papd: OK " || echo -n "papd: No process " + checkproc :SBINDIR:/afpd && echo -n " afpd: OK " || echo -n " afpd: No process " + if test -x :SBINDIR:/timelord ; then + checkproc :SBINDIR:/timelord && echo -n " timelord: OK " || echo -n " timelord: No process " + fi + if [ x"${CNID_METAD_RUN}" = x"yes" -a -x :SBINDIR:/cnid_metad ] ; then + checkproc :SBINDIR:/cnid_metad && echo -n " cnid_metad: OK " || echo -n " cnid_metad: No process" + fi +checkproc :SBINDIR:/atalkd && echo "atalkd: OK" || echo "atalkd: No process" + # assume that atalkd is the "main" process ... + checkproc :SBINDIR:/atalkd + rc_status ;; *) echo "Usage: $0 {start|stop|restart|status}" @@ -135,7 +148,4 @@ case "$1" in ;; esac -# Inform the caller not only verbosely and set an exit status. -test "$return" = "$rc_done" || exit 1 -exit 0 - +rc_exit