# HG changeset patch # User Pascal Bellard # Date 1345668768 -7200 # Node ID de266016c07cf644349cf49ee7cd884b9400900d # Parent 9bde3249a31f6c9eab818b6fdc12ad2d4539949c netatalk: add init script diff -r 9bde3249a31f -r de266016c07c netatalk/receipt --- a/netatalk/receipt Wed Aug 22 18:30:27 2012 +0200 +++ b/netatalk/receipt Wed Aug 22 22:52:48 2012 +0200 @@ -34,6 +34,7 @@ cp -a $install/usr/sbin $fs/usr cp -a $install/usr/lib/netatalk $fs/usr/lib cp -a $install/etc $fs + cp -a $stuff/etc $fs rm -f $fs/etc/netatalk/uams/*a } diff -r 9bde3249a31f -r de266016c07c netatalk/stuff/etc/init.d/netatalk --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/netatalk/stuff/etc/init.d/netatalk Wed Aug 22 22:52:48 2012 +0200 @@ -0,0 +1,81 @@ +#!/bin/sh +# Start, stop and restart the netatalk deamons on SliTaz, at boot time or +# with the command line. +# +# To start netatalk at boot time, just put the right name in the $RUN_DAEMONS +# variable of /etc/rcS.conf and configure options with /etc/daemons.conf. +# +. /etc/init.d/rc.functions + +NAME=atalkd +DESC="netatalk deamons" +PIDFILE=/var/run/$NAME.pid +AFPD_UAMLIST="-U uams_dhx.so,uams_clrtxt.so,uams_randnum.so" +AFPD_GUEST=nobody +AFPD_MAX_CLIENTS=50 +ATALK_ZONE= +ATALK_NAME=$(hostname -s) +ATALK_BGROUND=no + +. /etc/netatalk/netatalk.conf + +# Start Netatalk servers. +atalk_startup() +{ + if [ "$ATALKD_RUN" = "yes" ]; then + modprobe appletalk + atalkd + pidof atalkd > $PIDFILE + + # register workstation + nbprgstr -p 4 "$ATALK_NAME:Workstation$ATALK_ZONE" + nbprgstr -p 4 "$ATALK_NAME:netatalk$ATALK_ZONE" + + [ "$PAPD_RUN" = "yes" ] && papd + [ "$TIMELORD_RUN" = "yes" ] && timelord + fi + + [ "$AFPD_RUN" = "yes" ] && afpd $AFPD_UAMLIST -g $AFPD_GUEST \ + -c $AFPD_MAX_CLIENTS -n "$ATALK_NAME$ATALK_ZONE" +} + +case "$1" in +start) + if active_pidfile $PIDFILE $NAME ; then + echo "$NAME is already running." + exit 1 + fi + echo -n "Starting $DESC: $NAME... " + if [ "$ATALK_BGROUND" == "yes" ]; then + atalk_startup >/dev/null & + else + atalk_startup + fi + status + ;; +stop) + if ! active_pidfile $PIDFILE $NAME ; then + echo "$NAME is not running." + exit 1 + fi + echo -n "Stopping $DESC: $NAME... " + killall afpd + killall papd + killall timelord + killall atalkd + status + ;; +restart) + $0 start + sleep 2 + $0 stop + ;; +*) + echo "" + echo -e "\033[1mUsage:\033[0m /etc/init.d/`basename $0` [start|stop|restart]" + echo "" + exit 1 + ;; +esac + +exit 0