home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh -e
-
- # Author: Jonathan Riddell <jriddell@ubuntu.com>
- # (C) 2006 Canonical Ltd.
- #
- # Enable or disable Avahi by setting /etc/default/avahi-daemon
- # and restart daemon
- #
- # Argument:
- # 0: disable Avahi
- # 1: enabled Avahi
- # Return 0 on success, or 1 on failure (prints error to stderr)
-
- STATUS_SCRIPT=/usr/share/avahi/avahi_status
- CONF=/etc/default/avahi-daemon
-
- [ -x $STATUS_SCRIPT ] || {
- echo "Error: cannot execute $STATUS_SCRIPT" >&2
- exit 1
- }
-
- set +e
- $STATUS_SCRIPT
- STATUS=$?
- set -e
-
- case "$1" in
- 0)
- NEWVAL=0
- ;;
- 1)
- NEWVAL=1
- ;;
- *)
- echo "Invalid argument (must be 0 or 1)" >&2
- exit 1
- ;;
- esac
-
- [ $STATUS = 0 -o $STATUS = 1 ] || {
- echo "Error: cannot modify custom configuration" >&2
- exit 1
- }
-
- # nothing to do?
- [ $1 != $STATUS ] || exit 0
-
-
- if [ $1 = 0 ]; then
- sed -ri "s/^[[:space:]]*AVAHI_DAEMON_START=1/AVAHI_DAEMON_START=0/i" $CONF
- if [ -x "/etc/init.d/avahi-daemon" ]; then
- if [ -x /usr/sbin/invoke-rc.d ]; then
- invoke-rc.d avahi-daemon stop || exit 0
- else
- /etc/init.d/avahi-daemon stop || exit 0
- fi
- fi
- else
- sed -ri "s/^[[:space:]]*AVAHI_DAEMON_START=0/AVAHI_DAEMON_START=1/i" $CONF
- if [ -x "/etc/init.d/avahi-daemon" ]; then
- if [ -x /usr/sbin/invoke-rc.d ]; then
- invoke-rc.d avahi-daemon start || exit 0
- else
- /etc/init.d/avahi-daemon start || exit 0
- fi
- fi
- fi
-
-