]> arthur.barton.de Git - netatalk.git/commitdiff
rework start script for Solaris
authorbfernhomberg <bfernhomberg>
Sun, 29 Feb 2004 15:32:36 +0000 (15:32 +0000)
committerbfernhomberg <bfernhomberg>
Sun, 29 Feb 2004 15:32:36 +0000 (15:32 +0000)
distrib/initscripts/Makefile.am
distrib/initscripts/rc.atalk.sysv [deleted file]
distrib/initscripts/rc.atalk.sysv.tmpl [new file with mode: 0755]

index eddac1712104cc79f510db276b7064607309f747..5c44fb9fe4aaacb18256b647990720ef4aa7dd29 100644 (file)
@@ -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 (executable)
index ad845fe..0000000
+++ /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 (executable)
index 0000000..709b7db
--- /dev/null
@@ -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