From 5cb413ea335d37305a9ce13574e55e73f5ea86ab Mon Sep 17 00:00:00 2001 From: bfernhomberg Date: Sun, 29 Feb 2004 15:32:36 +0000 Subject: [PATCH] rework start script for Solaris --- distrib/initscripts/Makefile.am | 49 +++++++++-- distrib/initscripts/rc.atalk.sysv | 99 --------------------- distrib/initscripts/rc.atalk.sysv.tmpl | 116 +++++++++++++++++++++++++ 3 files changed, 160 insertions(+), 104 deletions(-) delete mode 100755 distrib/initscripts/rc.atalk.sysv create mode 100755 distrib/initscripts/rc.atalk.sysv.tmpl diff --git a/distrib/initscripts/Makefile.am b/distrib/initscripts/Makefile.am index eddac171..5c44fb9f 100644 --- a/distrib/initscripts/Makefile.am +++ b/distrib/initscripts/Makefile.am @@ -23,7 +23,9 @@ GENERATED_FILES = \ rc.atalk.suse \ rc.cnid_metad.netbsd \ rc.papd.netbsd \ - rc.timelord.netbsd + rc.timelord.netbsd \ + rc.atalk.sysv + TEMPLATES = \ rc.afpd.netbsd.tmpl \ rc.atalk.redhat.tmpl \ @@ -33,12 +35,12 @@ TEMPLATES = \ rc.atalk.suse.tmpl \ rc.cnid_metad.netbsd.tmpl \ rc.papd.netbsd.tmpl \ - rc.timelord.netbsd.tmpl + rc.timelord.netbsd.tmpl \ + rc.atalk.sysv.tmpl -CLEANFILES = $(GENERATED_FILES) -EXTRA_DIST = $(TEMPLATES) rc.atalk.cobalt rc.atalk.sysv +CLEANFILES = $(GENERATED_FILES) atalk afpd atalkd papd timelord +EXTRA_DIST = $(TEMPLATES) rc.atalk.cobalt -install-data-hook: $(GENERATED_FILES) # # checking for "redhat" style sysv scripts: @@ -53,6 +55,13 @@ atalk: rc.atalk.redhat cp -f rc.atalk.redhat atalk chmod a+x atalk +install-data-hook: + -chkconfig --add atalk + +uninstall: + -chkconfig --del atalk + rm -f /etc/rc.d/init.d/atalk + endif # @@ -68,6 +77,13 @@ atalk: rc.atalk.suse cp -f rc.atalk.suse atalk chmod a+x atalk +install-data-hook: + -insserv atalk + +uninstall: + -insserv -d atalk + rm -f /etc/init.d/atalk + endif # @@ -127,3 +143,26 @@ timelord: rc.timelord.netbsd endif +# +# checking for Solaris init scripts +# + +if USE_SOLARIS + +sysvdir = /etc/init.d +sysv_SCRIPTS = atalk + +atalk: rc.atalk.sysv + cp -f rc.atalk.sysv $@ + chmod a+x $@ + +install-data-hook: + rm -f /etc/rc2.d/S90atalk + -ln -s ../init.d/atalk /etc/rc2.d/S90atalk + rm -f /etc/rc0.d/K04atalk + -ln -s ../init.d/atalk /etc/rc0.d/K04atalk + +uninstall-hook: + rm -f /etc/rc2.d/S90atalk /etc/rc0.d/K04atalk + +endif diff --git a/distrib/initscripts/rc.atalk.sysv b/distrib/initscripts/rc.atalk.sysv deleted file mode 100755 index ad845fe6..00000000 --- a/distrib/initscripts/rc.atalk.sysv +++ /dev/null @@ -1,99 +0,0 @@ -#! /bin/sh -# -# Start/stop the AppleTalk daemons. -# -# AppleTalk daemons. Make sure not to start atalkd in the background: -# its data structures must have time to stablize before running the -# other processes. -# - -# -# kill the named process(es) -# -killproc() { - pid=`/usr/bin/ps -e | - /usr/bin/grep $1 | - /usr/bin/sed -e 's/^ *//' -e 's/ .*//'` - [ "$pid" != "" ] && kill $pid -} - -case "$1" in - -# -# Start the appletalk server processes. -# - -'start') - - echo 'starting appletalk daemons: \c' - if [ -x :SBINDIR:/atalkd ]; then - :SBINDIR:/atalkd; echo ' atalkd\c' - fi - - if [ -x :BINDIR:/nbprgstr ]; then - :BINDIR:/nbprgstr -p 4 `hostname|sed 's/\..*$//'`:Workstation - :BINDIR:/nbprgstr -p 4 `hostname|sed 's/\..*$//'`:netatalk - echo ' nbprgstr\c' - fi - - if [ -x :SBINDIR:/papd ]; then - :SBINDIR:/papd; echo ' papd\c' - fi - - if [ -x :SBINDIR:/cnid_metad ]; then - :SBINDIR:/cnid_metad; echo ' cnid_metad\c' - fi - - if [ -x :SBINDIR:/afpd ]; then - :SBINDIR:/afpd; echo ' afpd\c' - fi - - if [ -x :SBINDIR:/timelord ]; then - :SBINDIR:/timelord; echo ' timelord\c' - fi - - echo '.' - - ;; - -# -# Stop the appletalk server processes. -# - -'stop') - - echo 'stopping appletalk daemons:\c' - - if [ -x :SBINDIR:/papd ]; then - killproc papd; echo ' papd\c' - fi - - if [ -x :SBINDIR:/afpd ]; then - killproc afpd; echo ' afpd\c' - fi - - if [ -x :SBINDIR:/cnid_metad ]; then - killproc cnid_metad; echo ' cnid_metad\c' - fi - - if [ -x :SBINDIR:/timelord ]; then - killproc timelord; echo ' timelord\c' - fi - - # kill atalkd last, since without it the plumbing goes away. - if [ -x :SBINDIR:/atalkd ]; then - killproc atalkd; echo ' atalkd\c' - fi - - echo '.' - ;; - -# -# Usage statement. -# - -*) - echo "usage: $0 {start|stop}" - exit 1 - ;; -esac diff --git a/distrib/initscripts/rc.atalk.sysv.tmpl b/distrib/initscripts/rc.atalk.sysv.tmpl new file mode 100755 index 00000000..709b7dbb --- /dev/null +++ b/distrib/initscripts/rc.atalk.sysv.tmpl @@ -0,0 +1,116 @@ +#! /bin/sh +# +# Start/stop the AppleTalk daemons. +# +# AppleTalk daemons. Make sure not to start atalkd in the background: +# its data structures must have time to stablize before running the +# other processes. +# + +# +# kill the named process(es) +# +killproc() { + pid=`/usr/bin/ps -e | + /usr/bin/grep $1 | + /usr/bin/sed -e 's/^ *//' -e 's/ .*//'` + [ "$pid" != "" ] && kill $pid +} + +. :ETCDIR:/netatalk.conf + + +# +# Start the appletalk server processes. +# + +atalk_startup() { + echo 'starting appletalk daemons: \c' + if [ x"${ATALKD_RUN}" != x"no" ]; then + if [ -x :SBINDIR:/atalkd ]; then + :SBINDIR:/atalkd; echo ' atalkd\c' + fi + + if [ -x :BINDIR:/nbprgstr ]; then +# :BINDIR:/nbprgstr -p 4 `hostname|sed 's/\..*$//'`:Workstation +# :BINDIR:/nbprgstr -p 4 `hostname|sed 's/\..*$//'`:netatalk + :BINDIR:/nbprgstr -p 4 ${ATALK_NAME}:Workstation@${ATALK_ZONE} + :BINDIR:/nbprgstr -p 4 ${ATALK_NAME}:netatalk@${ATALK_ZONE} + + echo ' nbprgstr\c' + fi + + if [ x"${PAPD_RUN}" = x"yes" -a -x :SBINDIR:/papd ]; then + :SBINDIR:/papd; echo ' papd\c' + fi + + if [ x"${TIMELORD_RUN}" = x"yes" -a -x :SBINDIR:/timelord ]; then + :SBINDIR:/timelord; echo ' timelord\c' + fi + fi + + if [ x"${CNID_METAD_RUN}" = x"yes" -a -x :SBINDIR:/cnid_metad ]; then + :SBINDIR:/cnid_metad; echo ' cnid_metad\c' + fi + + if [ x"${AFPD_RUN}" = x"yes" -a -x :SBINDIR:/afpd ]; then + :SBINDIR:/afpd ${AFPD_UAMLIST} -g ${AFPD_GUEST} \ + -c ${AFPD_MAX_CLIENTS} -n ${ATALK_NAME}${ATALK_ZONE}; echo ' afpd\c' + fi + + echo '.' +} + + +case "$1" in + +'start') + if [ x"${ATALK_BGROUND}" = x"yes" ]; then + echo "Starting netatalk in the background ... " + atalk_startup > /dev/null & + else +# echo "Starting netatalk (this may take a while) ..." + atalk_startup + fi + ;; + +# +# Stop the appletalk server processes. +# +'stop') + + echo 'stopping appletalk daemons:\c' + + if [ -x :SBINDIR:/papd ]; then + killproc papd; echo ' papd\c' + fi + + if [ -x :SBINDIR:/afpd ]; then + killproc afpd; echo ' afpd\c' + fi + + if [ -x :SBINDIR:/cnid_metad ]; then + killproc cnid_met; echo ' cnid_metad\c' + fi + + if [ -x :SBINDIR:/timelord ]; then + killproc timelord; echo ' timelord\c' + fi + + # kill atalkd last, since without it the plumbing goes away. + if [ -x :SBINDIR:/atalkd ]; then + killproc atalkd; echo ' atalkd\c' + fi + + echo '.' + ;; + +# +# Usage statement. +# + +*) + echo "usage: $0 {start|stop}" + exit 1 + ;; +esac -- 2.39.2