]> arthur.barton.de Git - netatalk.git/commitdiff
Added --enable-debian configure option. Installs per default to /etc/init.d/atalk...
authortkaiser <tkaiser>
Wed, 27 Oct 2004 13:31:01 +0000 (13:31 +0000)
committertkaiser <tkaiser>
Wed, 27 Oct 2004 13:31:01 +0000 (13:31 +0000)
configure.in
distrib/initscripts/Makefile.am
distrib/initscripts/rc.atalk.debian.tmpl [new file with mode: 0644]

index 507fe40124a2e24d959c0b5fbdaaa00030304261..d2d1fb0702fe04cc0224f54555ec142e7ef15b98 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: configure.in,v 1.179.2.3.2.37 2004-09-26 09:17:41 didg Exp $
+dnl $Id: configure.in,v 1.179.2.3.2.37.2.1 2004-10-27 13:31:01 tkaiser Exp $
 dnl configure.in for netatalk
 
 AC_INIT(etc/afpd/main.c)
@@ -515,6 +515,15 @@ AC_ARG_ENABLE(netbsd,
        AC_MSG_RESULT([enabling NetBSD-style rc.d support])
 )
 
+AC_ARG_ENABLE(debian,
+       [  --enable-debian         use debian-style sysv configuration ],[
+       if test "$enableval" = "yes"; then
+               sysv_style=debian
+       fi
+       AC_MSG_RESULT([enabling debian-style sysv support])
+       ]
+)
+
 dnl ----- timelord compilation (disabled by default)
 AC_MSG_CHECKING([whether timelord should be compiled])
 compile_timelord=no
@@ -1001,6 +1010,7 @@ AM_CONDITIONAL(USE_SHADOWPW, test x$shadowpw = xyes)
 AM_CONDITIONAL(USE_TRU64, test x$sysv_style = xtru64)
 AM_CONDITIONAL(USE_SOLARIS, test x$sysv_style = xsolaris)
 AM_CONDITIONAL(USE_GENTOO, test x$sysv_style = xgentoo)
+AM_CONDITIONAL(USE_DEBIAN, test x$sysv_style = xdebian)
 AM_CONDITIONAL(USE_UNDEF, test x$sysv_style = x)
 
 dnl --------------------- generate files
index d0bc36ef96fed1e612705356c054916159135489..ecc150b28ea33151cd1f6973b63480714931e775 100644 (file)
@@ -25,7 +25,8 @@ GENERATED_FILES = \
        rc.papd.netbsd          \
        rc.timelord.netbsd      \
        rc.atalk.sysv           \
-       rc.atalk.gentoo
+       rc.atalk.gentoo         \
+       rc.atalk.debian
 
 TEMPLATES = \
        rc.afpd.netbsd.tmpl             \
@@ -38,7 +39,8 @@ TEMPLATES = \
        rc.papd.netbsd.tmpl             \
        rc.timelord.netbsd.tmpl         \
        rc.atalk.sysv.tmpl              \
-       rc.atalk.gentoo.tmpl
+       rc.atalk.gentoo.tmpl            \
+       rc.atalk.debian.tmpl
 
 CLEANFILES = $(GENERATED_FILES) atalk afpd atalkd papd timelord
 EXTRA_DIST = $(TEMPLATES) rc.atalk.cobalt
@@ -213,6 +215,28 @@ uninstall-startup:
 
 endif
 
+#
+# checking for "Debian" style sysv scripts:
+#
+
+if USE_DEBIAN
+
+sysvdir = /etc/init.d
+sysv_SCRIPTS = atalk
+
+atalk: rc.atalk.debian
+       cp -f rc.atalk.debian atalk
+       chmod a+x atalk
+
+install-data-hook:
+       update-rc.d atalk defaults 90 10
+
+uninstall-startup:
+       rm -f /etc/init.d/atalk
+       update-rc.d atalk remove
+
+endif
+
 #
 # defaults, no init scripts installed
 #
diff --git a/distrib/initscripts/rc.atalk.debian.tmpl b/distrib/initscripts/rc.atalk.debian.tmpl
new file mode 100644 (file)
index 0000000..8fbcb88
--- /dev/null
@@ -0,0 +1,126 @@
+#!/bin/sh
+#
+# atalk         Netatalk 2.x initscript
+#
+# Author:       Thomas Kaiser <Thomas.Kaiser@phg-online.de>
+#
+# Version:      $Id: rc.atalk.debian.tmpl,v 1.1.4.1 2004-10-27 13:31:04 tkaiser Exp $
+
+set -e
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DESC="Netatalk"
+NAME=atalk
+SCRIPTNAME=/etc/init.d/$NAME
+
+# Guard to prevent execution if netatalk was removed.
+test -x :SBINDIR:/atalkd || exit 0
+
+# Set defaults. Please change these options in :ETCDIR:/netatalk.conf.
+AFPD_UAMLIST="-U uams_dhx.so,uams_clrtxt.so"
+AFPD_GUEST=nobody
+AFPD_MAX_CLIENTS=50
+ATALK_ZONE=
+ATALK_NAME=`/bin/hostname --short`
+ATALK_BGROUND=yes
+CNID_METAD_RUN=yes
+ATALK_MAC_CHARSET='MAC_ROMAN'
+ATALK_UNIX_CHARSET='LOCALE'
+
+# Read in netatalk configuration.
+if [ -f :ETCDIR:/netatalk.conf ]; then
+       . :ETCDIR:/netatalk.conf
+fi
+
+# Start Netatalk servers.
+atalk_startup() {
+       if [ "x$ATALKD_RUN" = "xyes" ]; then
+
+       # Try to load the AppleTalk kernel module
+       /sbin/modprobe appletalk || echo "[could not load appletalk module]"
+
+       # Start atalkd server.
+       :SBINDIR:/atalkd
+
+       # register workstation
+       :BINDIR:/nbprgstr -p 4 "$ATALK_NAME:Workstation$ATALK_ZONE"
+       :BINDIR:/nbprgstr -p 4 "$ATALK_NAME:netatalk$ATALK_ZONE"
+
+       echo -n " atalkd"
+       fi
+       
+       # prepare startup of file services
+       if [ "x${CNID_METAD_RUN}" = "xyes" -a -x :SBINDIR:/cnid_metad ] ; then
+               echo -n " cnid_metad"
+               :SBINDIR:/cnid_metad
+       fi
+       
+       if [ "x$AFPD_RUN" = "xyes" ]; then
+       :SBINDIR:/afpd $AFPD_UAMLIST -g $AFPD_GUEST -c $AFPD_MAX_CLIENTS \
+               -n "$ATALK_NAME$ATALK_ZONE"
+       echo -n " afpd"
+       fi
+
+       if [ "x$ATALKD_RUN" = "xyes" -a "x$PAPD_RUN" = "xyes" ]; then
+       :SBINDIR:/papd
+       echo -n " papd"
+       fi
+
+       if [ "x$TIMELORD_RUN" = "xyes" ]; then
+       :SBINDIR:/timelord
+       echo -n " timelord"
+       fi
+}
+
+case "$1" in
+       start)
+               if test "x${ATALK_BGROUND}" = "xyes"; then
+                       echo "Starting Netatalk services in the background."
+                       atalk_startup >/dev/null &
+               else
+                       echo -n "Starting Netatalk services (this will take a while): "
+                       atalk_startup
+                       echo "."
+               fi
+       ;;
+
+       stop)
+               echo -n "Stopping Netatalk Daemons:"
+               echo -n " afpd"
+               start-stop-daemon --stop --quiet --oknodo --exec :SBINDIR:/afpd
+
+               echo -n " cnid_metad"
+               start-stop-daemon --stop --quiet --oknodo --exec :SBINDIR:/cnid_metad
+       
+               echo -n " papd"
+               start-stop-daemon --stop --quiet --oknodo --exec :SBINDIR:/papd
+       
+               echo -n " timelord"
+               start-stop-daemon --stop --quiet --oknodo --exec :SBINDIR:/timelord
+       
+               echo -n " atalkd"
+               start-stop-daemon --stop --quiet --oknodo --exec :SBINDIR:/atalkd
+       
+               echo "."
+       ;;
+       
+       restart)
+               $0 force-reload
+       ;;
+
+       force-reload)
+               echo -n "Restarting Netatalk Daemons (this will take a while)"
+               $0 stop
+               echo -n "."
+               sleep 2
+               echo -n "."
+               if $0 start; then
+                       echo "done."
+               fi
+       ;;
+  
+       *)
+               echo "Usage: $0 {start|stop|restart|force-reload}" >&2
+               exit 1
+       ;;
+esac