blob: 669c19ca08dbbcd93b431714130d0b9f000e632c [file] [log] [blame]
#! /bin/sh
# Copyright (c) 2004 Author: Thorsten Kukuk <kukuk@suse.de>
#
# /etc/init.d/ypbind
#
# and symbolic its link
#
# /usr/sbin/rcypbind
#
# System startup script for the ypbind daemon
#
### BEGIN INIT INFO
# Provides: ypbind
# Required-Start: $remote_fs $portmap
# Should-Start: ypserv slpd
# Required-Stop: portmap
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: Start ypbind (necessary for a NIS client)
# Description: ypbind finds the server for NIS domains and maintains
# the NIS binding information.
### END INIT INFO
# Need to use status function
. /etc/init.d/functions
YPBIND_BIN=/usr/sbin/ypbind
pidfile=/var/run/ypbind.pid
YPDOMAINNAME_bin=/usr/bin/ypdomainname
[ -f /etc/default/ypbind ] && . /etc/default/ypbind
case "$1" in
start)
echo -n "Starting ypbind"
## If the domainname is not set, skip starting of ypbind
## and return with "program not configured"
$YPDOMAINNAME_bin >/dev/null 2>&1
if [ $? -ne 0 -o -z "`$YPDOMAINNAME_bin 2>/dev/null`" ]; then
if [ -f /etc/defaultdomain ]; then
XDOMAINNAME=`cat /etc/defaultdomain`
$YPDOMAINNAME_bin "$XDOMAINNAME"
fi
$YPDOMAINNAME_bin >/dev/null 2>&1
if [ $? -ne 0 -o -z "`$YPDOMAINNAME_bin 2>/dev/null`" ]; then
# Tell the user this has skipped
echo -n " . . . . . . . . . . No domainname set"
# service is not configured
exit 1
fi
fi
## If we don't have a /etc/yp.conf file, skip starting of
## ypbind and return with "program not configured"
## if you add the -broadcast Option later, comment this out.
if [ ! -f /etc/yp.conf -a "$YPBIND_BROADCAST" != "yes" ] ; then
# Tell the user this has skipped
echo -n " . . . . . . . . . . ${attn}/etc/yp.conf not found${norm}"
# service is not configured
exit 1
fi
# evaluate the OPTIONS for ypbind-mt
OPTIONS=""
test "$YPBIND_LOCAL_ONLY" = "yes" && OPTIONS="-local-only $OPTIONS"
test "$YPBIND_BROADCAST" = "yes" && OPTIONS="-broadcast $OPTIONS"
test "$YPBIND_BROKEN_SERVER" = "yes" && OPTIONS="-broken-server $OPTIONS"
start-stop-daemon --start --quiet --pidfile $pidfile --exec $YPBIND_BIN -- $YPBIND_OPTIONS $OPTIONS
if [ $? -eq 0 ]; then
notfound=1
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do
ypwhich >/dev/null 2>&1 && { notfound=0 ; break; };
echo -n " ."
sleep 1;
done
if [ $notfound -eq 1 ]; then
echo -n " ${warn}No NIS server found${norm}";
fi
else
exit 1
fi
;;
stop)
echo -n "Shutting down ypbind"
start-stop-daemon --stop --quiet --pidfile $pidfile
# Remove static data, else glibc will continue to use NIS
rm -f /var/yp/binding/* /var/run/ypbind.pid
;;
restart)
$0 stop
sleep 1
$0 start
;;
reload | force-reload)
echo -n "Reload service ypbind"
start-stop-daemon --stop --quiet --signal 1 --pidfile $pidfile
;;
status)
echo -n "Checking for ypbind: "
status $YPBIND_BIN
;;
*)
echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
exit 1
;;
esac