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 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
|
From: Yaroslav Halchenko <debian@onerussian.com>
Subject: Various changes to the init script provided by upstream to be more appropriate on Debian systems
Created as a diff between release branch of pre 0.18 Debian releases
and vanilla upstream releases
Origin: Debian
Last-Update: 2012-05-19
diff --git a/src/etc/edac.init.in b/src/etc/edac.init.in
old mode 100644
new mode 100755
index 07aab94..4676ffd
--- a/src/etc/edac.init.in
+++ b/src/etc/edac.init.in
@@ -6,22 +6,25 @@
# Produced at Lawrence Livermore National Laboratory.
# Written by Mark Grondona <mgrondona@llnl.gov>
# UCRL-CODE-230739.
+# Modified by Yaroslav Halchenko <debian@onerussian.com> 2007 for Debian OS
###############################################################################
# chkconfig: 345 40 60
###############################################################################
### BEGIN INIT INFO
# Provides: edac
-# Required-Start: $named $time
-# Default-Start: 3 5
-# Default-Stop: 0 1 2 6
-# Description: Initialize EDAC drivers for machine hardware
+# Required-Start: $remote_fs $time
+# Required-Stop: $remote_fs $time
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Initialize EDAC
+# Description: Initialize EDAC: load DIMM labels into EDAC
### END INIT INFO
###############################################################################
unset SERVICE
SERVICE="edac"
-
+DESC="Memory Error Detection and Correction"
prefix="@prefix@"
exec_prefix="@exec_prefix@"
sbindir="@sbindir@"
@@ -45,6 +48,15 @@ done
###############################################################################
+# Load the VERBOSE setting and other rcS variables
+. /lib/init/vars.sh
+
+# Define LSB log_* functions.
+. /lib/lsb/init-functions
+
+
+###############################################################################
+
service_start ()
{
# Start the service. Required by LSB.
@@ -53,21 +65,24 @@ service_start ()
# automatically, thus return successfully, but don't do anything.
#
if [ -n "$EDAC_DRIVER" ]; then
- echo -n "Starting ${SERVICE}: "
+ log_daemon_msg "Enabling ${DESC}" "$SERVICE"
modprobe $EDAC_DRIVER
STATUS=$?
case $STATUS in
- 0) echo success ;;
- 5) echo No EDAC support for this hardware. ;;
- *) echo failure ;;
+ 0) log_end_msg 0 ;;
+ 5) log_failure_msg "No EDAC support for this hardware"; log_end_msg 1 ;;
+ *) log_failure_msg "failure with exit code $STATUS"; log_end_msg 1 ;;
esac
+ else
+ log_daemon_msg "Not enabling ${DESC} since EDAC_DRIVER is not set"
+ log_end_msg 0
fi
- echo -n "Loading ${SERVICE} DIMM labels: "
+ log_daemon_msg "Loading DIMM labels for ${DESC}" "$SERVICE"
$edac_ctl --register-labels --quiet
STATUS=$?
case $STATUS in
- 0) echo success ;;
- *) echo failure ;;
+ 0) log_end_msg 0 ;;
+ *) log_failure_msg "failure with exit code $STATUS"; log_end_msg 1 ;;
esac
}
@@ -75,14 +90,18 @@ service_start ()
service_stop ()
{
- echo -n "Disabling ${SERVICE}: "
if [ -n "$EDAC_DRIVER" ]; then
+
modprobe -r $EDAC_DRIVER
STATUS=$?
- [ $STATUS -eq 0 ] && echo success || echo failure
+ case $STATUS in
+ 0) log_end_msg 0 ;;
+ *) log_failure_msg "failure with exit code $STATUS"; log_end_msg 1 ;;
+ esac
else
- echo "Not supported for this configuration."
- STATUS=6
+ [ "$VERBOSE" != no ] && log_daemon_msg "Not disabling $DESC since EDAC_DRIVER is not set" "$SERVICE"
+ # No need to complaint if no driver is provided
+ # STATUS=6
fi
}
@@ -92,7 +111,8 @@ service_status ()
{
# Print the current status of the service. Required by LSB.
#
- edac-ctl --status
+ log_daemon_msg "Status of $DESC"
+ $edac_ctl --status
STATUS=0
}
@@ -110,11 +130,17 @@ case "$1" in
status)
service_status
;;
+ restart|force-reload)
+ log_daemon_msg "Forcing reload of drivers for $DESC" "${SERVICE}"
+ service_stop || log_end_msg 1
+ service_start && log_end_msg 0 || log_end_msg 1
+ ;;
*)
- COMMANDS="start|stop|status"
- echo "Usage: $0 {${COMMANDS}}"
- exit 2
+ COMMANDS="{start|stop|status|restart|force-reload}"
+ echo "Usage: $0 ${COMMANDS}" >&2
+ exit 3
;;
esac
-exit $STATUS
+# exit $STATUS
+:
|