tools/init.debian

Tue, 31 Aug 2021 20:48:37 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Tue, 31 Aug 2021 20:48:37 +0200
changeset 774
92e1e8f175a2
parent 744
b8ccc85675a0
permissions
-rw-r--r--

Split batch, adjust mash step volume. In the duplicated log_brew handle the missing values. In save product, round the mash step sg to 4 decimals. In prod_edit, ingredients are stored as strings, not arrays. This triggered a memory corruption that only happened in rare circumstances. Don't fix mash step fields in the javascript, it is already done during load from the database. Calculation of the mash volume is rounded to 6 decimals. Enter mash step Brix/Plato value, the SG result is rounded to 4 decimals.

574
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 #! /bin/sh
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
2 ### BEGIN INIT INFO
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
3 # Provides: bmsd
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 # Required-Start: $local_fs $remote_fs $network $syslog
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
5 # Required-Stop: $local_fs $remote_fs $network $syslog
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6 # Should-Start: mosquitto
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
7 # Should-Stop: mosquitto
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
8 # Default-Start: 2 3 4 5
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
9 # Default-Stop: 0 1 6
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
10 # Short-Description: Brewery Management Daemon
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
11 # Description: This program is the central daemon to collect data
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
12 # from and control remote devices in a brewery. It is
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
13 # the production and inventory database.
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
14 ### END INIT INFO
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
15
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
16 # Author: Michiel Broek <mbroek@mbse.eu>
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
17
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
18 # Do NOT "set -e"
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
19
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
20 # PATH should only include /usr/* if it runs after the mountnfs.sh script
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
21 PATH=/sbin:/usr/sbin:/bin:/usr/bin
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
22 DESC="Brewery Management Daemon"
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
23 NAME=bmsd
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
24 DAEMON=/var/lib/bms/bin/$NAME
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
25 #DAEMON_ARGS="--options args"
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
26 PIDFILE=/var/lib/bms/.bms/run/$NAME.pid
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
27 SCRIPTNAME=/etc/init.d/$NAME
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
28
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
29 # Exit if the package is not installed
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
30 [ -x "$DAEMON" ] || exit 0
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
31
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
32 # Read configuration variable file if it is present
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
33 [ -r /etc/default/$NAME ] && . /etc/default/$NAME
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
34
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
35 # Load the VERBOSE setting and other rcS variables
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
36 . /lib/init/vars.sh
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
37
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
38 # Define LSB log_* functions.
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
39 # Depend on lsb-base (>= 3.2-14) to ensure that this file is present
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
40 # and status_of_proc is working.
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
41 . /lib/lsb/init-functions
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
42
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
43 #
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
44 # Function that starts the daemon/service
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
45 #
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
46 do_start()
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
47 {
575
fd9e4838648f Improved init script for Debian systems
Michiel Broek <mbroek@mbse.eu>
parents: 574
diff changeset
48 # Return
fd9e4838648f Improved init script for Debian systems
Michiel Broek <mbroek@mbse.eu>
parents: 574
diff changeset
49 # 0 if daemon has been started
fd9e4838648f Improved init script for Debian systems
Michiel Broek <mbroek@mbse.eu>
parents: 574
diff changeset
50 # 1 if daemon was already running
fd9e4838648f Improved init script for Debian systems
Michiel Broek <mbroek@mbse.eu>
parents: 574
diff changeset
51 # other if daemon could not be started or a failure occured
fd9e4838648f Improved init script for Debian systems
Michiel Broek <mbroek@mbse.eu>
parents: 574
diff changeset
52 start-stop-daemon --start --chuid brewery --exec $DAEMON
574
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
53 }
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
54
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
55 #
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
56 # Function that stops the daemon/service
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
57 #
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
58 do_stop()
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
59 {
575
fd9e4838648f Improved init script for Debian systems
Michiel Broek <mbroek@mbse.eu>
parents: 574
diff changeset
60 # Return
fd9e4838648f Improved init script for Debian systems
Michiel Broek <mbroek@mbse.eu>
parents: 574
diff changeset
61 # 0 if daemon has been stopped
fd9e4838648f Improved init script for Debian systems
Michiel Broek <mbroek@mbse.eu>
parents: 574
diff changeset
62 # 1 if daemon was already stopped
fd9e4838648f Improved init script for Debian systems
Michiel Broek <mbroek@mbse.eu>
parents: 574
diff changeset
63 # other if daemon could not be stopped or a failure occurred
fd9e4838648f Improved init script for Debian systems
Michiel Broek <mbroek@mbse.eu>
parents: 574
diff changeset
64 start-stop-daemon --stop --retry=TERM/30/KILL/5 --pidfile $PIDFILE --exec $DAEMON
574
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
65 }
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
66
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
67 #
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
68 # Function that sends a SIGHUP to the daemon/service
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
69 #
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
70 do_reload() {
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
71 #
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
72 # If the daemon can reload its configuration without
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
73 # restarting (for example, when it is sent a SIGHUP),
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
74 # then implement that here.
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
75 #
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
76 return 0
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
77 }
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
78
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
79 case "$1" in
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
80 start)
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
81 [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
82 do_start
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
83 case "$?" in
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
84 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
85 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
86 esac
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
87 ;;
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
88 stop)
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
89 [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
90 do_stop
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
91 case "$?" in
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
92 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
93 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
94 esac
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
95 ;;
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
96 status)
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
97 status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
98 ;;
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
99 #reload|force-reload)
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
100 #
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
101 # If do_reload() is not implemented then leave this commented out
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
102 # and leave 'force-reload' as an alias for 'restart'.
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
103 #
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
104 #log_daemon_msg "Reloading $DESC" "$NAME"
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
105 #do_reload
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
106 #log_end_msg $?
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
107 #;;
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
108 restart|force-reload)
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
109 #
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
110 # If the "reload" option is implemented then remove the
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
111 # 'force-reload' alias
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
112 #
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
113 log_daemon_msg "Restarting $DESC" "$NAME"
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
114 do_stop
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
115 case "$?" in
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
116 0|1)
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
117 do_start
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
118 case "$?" in
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
119 0) log_end_msg 0 ;;
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
120 1) log_end_msg 1 ;; # Old process is still running
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
121 *) log_end_msg 1 ;; # Failed to start
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
122 esac
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
123 ;;
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
124 *)
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
125 # Failed to stop
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
126 log_end_msg 1
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
127 ;;
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
128 esac
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
129 ;;
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
130 *)
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
131 echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
132 exit 3
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
133 ;;
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
134 esac
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
135
b436e3d8d83a Added init script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
136 :

mercurial