summaryrefslogtreecommitdiffstats
path: root/debian/bcfg2.init
blob: 8da1209d4c56d40e285f9a92b9a7601b19f63140 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/bin/sh
# Start bcfg2 client on startup
#
# bcfg2 - bcfg2 configuration client
#
# chkconfig: 2345 19 81
# description: bcfg2 client for configuration requests
#
### BEGIN INIT INFO
# Provides:          bcfg2
# Required-Start:    $network $named
# Required-Stop:     
# Default-Start:     2 3 4 5
# Default-Stop:      S 0 1 6
# Short-Description: Configuration management client
# Description:       Bcfg2 is a configuration management system that builds
#                    installs configuration files served by bcfg2-server
#                    This is a client that installs the server provided
#                    Configuration.
### END INIT INFO

# This might need some better logic
BCFG2=/usr/sbin/bcfg2

BCFG2_OPTIONS="-q"

# Disabled per default
BCFG2_ENABLED=0

# Include default startup configuration if exists
test -f "/etc/default/bcfg2" && . /etc/default/bcfg2

test "$BCFG2_ENABLED" != "0" || exit 0

# Exit if bcfg2 doesn't exist and is not executable
test -x $BCFG2 || exit 5

# Include lsb functions
. /lib/lsb/init-functions

case "$1" in
  start)
    log_begin_msg "Running configuration management client"
    if test -e /etc/donttouchme; then
      rm -f /etc/donttouchme
      log_success_msg "bcfg2 does not need to run."
    else
      log_progress_msg "bcfg2"
      /usr/sbin/bcfg2 $BCFG2_OPTIONS
      log_end_msg $?
    fi
    ;;
  restart)
    $0 stop
    $0 start
    ;;
  status)
    # Since we are always OK, always return OK as status
    exit 0
    ;;
  stop|force-reload)
    true
    ;;
  *)
    log_success_msg "Usage: $0 {start|stop|restart|force-reload|status}"
    exit 1
esac

exit 0