# HG changeset patch # User Michiel Broek # Date 1576671739 -3600 # Node ID b436e3d8d83a8f47a8186c0bc10aa2a114d90dff # Parent c4c891d5c4f84f23538ea1301a31e139fc1a7f2d Added init script diff -r c4c891d5c4f8 -r b436e3d8d83a .hgignore --- a/.hgignore Sun Dec 15 16:49:29 2019 +0100 +++ b/.hgignore Wed Dec 18 13:22:19 2019 +0100 @@ -16,6 +16,5 @@ *.o */filelist icons/* -tools/* www/log/* Makefile.bak diff -r c4c891d5c4f8 -r b436e3d8d83a tools/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tools/Makefile Wed Dec 18 13:22:19 2019 +0100 @@ -0,0 +1,27 @@ +# Makefile for the mbsePi-apps/thermferm. + +include ../Makefile.global + +OTHER = Makefile bmsd.init + +############################################################################# + +.c.o: + ${CC} ${CFLAGS} ${INCLUDES} ${DEFINES} -c $< + +all: + + +clean: + rm -f filelist Makefile.bak + +install: + ${INSTALL} -c -g root -o root -m 0755 bmsd.init /etc/init.d/bmsd + [ -x /bin/systemctl ] && /bin/systemctl daemon-reload + +filelist: Makefile + BASE=`pwd`; \ + BASE=`basename $${BASE}`; \ + (for f in ${SRCS} ${HDRS} ${OTHER} ;do echo ${PACKAGE}-${VERSION}/$${BASE}/$$f; done) >filelist + +depend: diff -r c4c891d5c4f8 -r b436e3d8d83a tools/bmsd.init --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tools/bmsd.init Wed Dec 18 13:22:19 2019 +0100 @@ -0,0 +1,130 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: bmsd +# Required-Start: $local_fs $remote_fs $network $syslog +# Required-Stop: $local_fs $remote_fs $network $syslog +# Should-Start: mosquitto +# Should-Stop: mosquitto +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Brewery Management Daemon +# Description: This program is the central daemon to collect data +# from and control remote devices in a brewery. It is +# the production and inventory database. +### END INIT INFO + +# Author: Michiel Broek + +# Do NOT "set -e" + +# PATH should only include /usr/* if it runs after the mountnfs.sh script +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC="Brewery Management Daemon" +NAME=bmsd +DAEMON=/var/lib/bms/bin/$NAME +#DAEMON_ARGS="--options args" +PIDFILE=/var/lib/bms/.bms/run/$NAME.pid +SCRIPTNAME=/etc/init.d/$NAME + +# Exit if the package is not installed +[ -x "$DAEMON" ] || exit 0 + +# Read configuration variable file if it is present +[ -r /etc/default/$NAME ] && . /etc/default/$NAME + +# Load the VERBOSE setting and other rcS variables +. /lib/init/vars.sh + +# Define LSB log_* functions. +# Depend on lsb-base (>= 3.2-14) to ensure that this file is present +# and status_of_proc is working. +. /lib/lsb/init-functions + +# +# Function that starts the daemon/service +# +do_start() +{ + su - brewery -c "$DAEMON" >/dev/null 2>/dev/null +} + +# +# Function that stops the daemon/service +# +do_stop() +{ + [ -f $PIDFILE ] && kill $(cat $PIDFILE) + RETVAL="$?" + return "$RETVAL" +} + +# +# Function that sends a SIGHUP to the daemon/service +# +do_reload() { + # + # If the daemon can reload its configuration without + # restarting (for example, when it is sent a SIGHUP), + # then implement that here. + # + return 0 +} + +case "$1" in + start) + [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" + do_start + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + stop) + [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" + do_stop + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + status) + status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? + ;; + #reload|force-reload) + # + # If do_reload() is not implemented then leave this commented out + # and leave 'force-reload' as an alias for 'restart'. + # + #log_daemon_msg "Reloading $DESC" "$NAME" + #do_reload + #log_end_msg $? + #;; + restart|force-reload) + # + # If the "reload" option is implemented then remove the + # 'force-reload' alias + # + log_daemon_msg "Restarting $DESC" "$NAME" + do_stop + case "$?" in + 0|1) + do_start + case "$?" in + 0) log_end_msg 0 ;; + 1) log_end_msg 1 ;; # Old process is still running + *) log_end_msg 1 ;; # Failed to start + esac + ;; + *) + # Failed to stop + log_end_msg 1 + ;; + esac + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 + exit 3 + ;; +esac + +: diff -r c4c891d5c4f8 -r b436e3d8d83a www/Makefile --- a/www/Makefile Sun Dec 15 16:49:29 2019 +0100 +++ b/www/Makefile Wed Dec 18 13:22:19 2019 +0100 @@ -61,6 +61,7 @@ ${INSTALL} -d -g 314 -o 314 ${WWWDIR}/log ${INSTALL} -d -g 314 -o 314 ${WWWDIR}/log/brews ${INSTALL} -d -g 314 -o 314 ${WWWDIR}/log/fermentation + ${INSTALL} -d -g 314 -o 314 ${WWWDIR}/log/co2pressure ${INSTALL} -g 314 -o 314 -m 0644 ${SRC} ${WWWDIR}/ ${INSTALL} -g 314 -o 314 -m 0644 version.php ${WWWDIR}/ ${INSTALL} -g 314 -o 314 -m 0644 css/* ${WWWDIR}/css/