Sophie

Sophie

distrib > Mandriva > 2009.1 > x86_64 > media > contrib-updates-src > by-pkgid > b9d928fab779ced1a2419b2d1a3c1fce > files > 7

kdenetwork3-3.5.10-5.3mdv2009.1.src.rpm

#!/bin/sh
#
# Startup script for LISa
#
# chkconfig: 345 92 8
# description: Starts and stops the LAN Information Server used \
#              to provide a LAN browser.
# processname: lisa
#
# based on rclisa Version 0.1
# 2001 by Marcus Thiesen (marcus@thiesenweb.de) for SuSE Linux 7.1
# This is free and comes with absolutely no WARRANTY
# adapted for Mandrake 8.0 by Patrick Alberts (mandrake@alberts.org)
# Updated for Mandrake 9.0 by Buchan Milne (bgmilne@linux-mandrake.com)
#
### BEGIN INIT INFO
# Provides: lisa
# Required-Start: $network
# Required-Stop: $network
# Default-Start: 3 5
# Short-Description: LISa LAN Information Server
# Description:  Starts and stops the LAN Information Server used
#               to provide a LAN browser.
### END INIT INFO

CONFIG_FILE=/etc/lisarc

prog="lisa"

# Source function library.
if [ -f /etc/init.d/functions ] ; then
	. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
	. /etc/rc.d/init.d/functions
else
	exit 0
fi
      
# Get config.
. /etc/sysconfig/network

# Check that networking is up.
if [ ${NETWORKING} = "no" ]
then
        exit 0
fi

# check how we were called
case "$1" in
	start)
	PID=`pidof -s lisa`
	if [ -z "$PID" ]; then
	if [ -e /opt/kde3/bin/lisa ]; then
		
		#check for config file and generate one if needed:
		if [ ! -e $CONFIG_FILE ];then	
		gprintf "No config file, generating one, please run kcontrol as root to customise\n"
			# See http://lisa-home.sourceforge.net/ for more details
			# on the config file format.
			# PingAddresses/AllowedAddresses should only be route 
			# entries that are not gateways,loopback or multicast:
			IPNMS_ALL=`/sbin/route -n |awk 'BEGIN {ORS=";"};$4=="U"&&$8!="lo"&&$1!~/224.0.0.0/ {print $1"/"$3}'`
			# BroadcastNetwork should be only the internal subnet,
			# take first route from above:
			IPNMS=`/sbin/route -n |awk ' $4=="U"&&$8!="lo"&&$1!~/224.0.0.0/&&$8!~/ppp.*/ {print $1"/"$3}'|head -n1`
			echo "SecondWait=-1"> $CONFIG_FILE
			echo "SearchUsingNmblookup=1">> $CONFIG_FILE
			echo "DeliverUnnamedHosts=0" >>$CONFIG_FILE
			echo "FirstWait=30" >> $CONFIG_FILE
			echo "MaxPingsAtOnce=256" >>$CONFIG_FILE 
			echo "UpdatePeriod=300" >> $CONFIG_FILE
			#echo "PingAddresses=$IPNMS_ALL">> $CONFIG_FILE 
			echo "AllowedAddresses=$IPNMS_ALL" >> $CONFIG_FILE
			echo "BroadcastNetwork=$IPNMS" >>$CONFIG_FILE
			#echo "PingNames=" >> $CONFIG_FILE
		fi
			
		if [ -e $CONFIG_FILE ]; then
			action "Starting %s: " "$prog" /bin/true
			/opt/kde3/bin/lisa -c $CONFIG_FILE >/dev/null 2>&1
		else
			action "No configuration available, not starting LISa" /bin/false
		fi
			
	else
	        action "Starting %s: binaries not found " "$prog" /bin/false
	fi
	else
	        action "Starting %s: already running (%s) " "$PID" "$prog" /bin/false
	fi
        touch /var/lock/subsys/lisa
	;;

	stop)
	PID=`pidof -s lisa`
	if [ "$PID" ]; then
	        action "Stopping %s: " "$prog" kill -3 $PID
        fi
        rm -f /var/lock/subsys/lisa
	;;

	status)
	PID=`pidof -s lisa`
	if [ "$PID" ]; then
	gprintf "%s is running! ($PID)\n" "$prog"
	/usr/bin/kill -s SIGUSR1 $PID
	sleep 3
	else
	gprintf "%s is not running!\n" "$prog" ;
	fi
	;;

	restart)
	$0 stop && $0 start
	;;

	refresh)
	PID=`pidof -s lisa`
	if [ "$PID" ]; then
	gprintf "Sending %s a SIGHUP ($PID)\n" "$prog"
	kill -SIGHUP $PID;
	else
	gprintf "%s is not running!\n" "$prog" ;
	fi
	;;

	*)
	gprintf "usage: %s {start|stop|status|refresh|restart}\n" $0
	;;
esac

exit 0