From 08783bd1cc769c5d9319c51498022e6cdc06172a Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Mon, 17 Aug 2020 23:25:34 -0400 Subject: Template catsit script with RUNDIR --- Makefile | 8 ++++---- catsit.in | 37 +++++++++++++++++++++++++++++++++++++ catsit.sh | 37 ------------------------------------- 3 files changed, 41 insertions(+), 41 deletions(-) create mode 100644 catsit.in delete mode 100644 catsit.sh diff --git a/Makefile b/Makefile index 6454448..8f11b0f 100644 --- a/Makefile +++ b/Makefile @@ -32,13 +32,13 @@ catsitd: ${OBJS} ${OBJS}: daemon.h -tags: *.c *.h - ctags -w *.c *.h - .SUFFIXES: .in .in: - sed -e 's|%%PREFIX%%|${PREFIX}|g' $< > $@ + sed -e 's|%%PREFIX%%|${PREFIX}|g' -e 's|%%RUNDIR%%|${RUNDIR}|g' $< > $@ + +tags: *.c *.h + ctags -w *.c *.h clean: rm -f ${BINS} ${OBJS} ${RC_SCRIPT} tags diff --git a/catsit.in b/catsit.in new file mode 100644 index 0000000..6e934f1 --- /dev/null +++ b/catsit.in @@ -0,0 +1,37 @@ +#!/bin/sh +set -eu + +die() { + echo "${0}:" "$@" >&2 + exit 1 +} + +: ${CATSITD_PIPE:='%%RUNDIR%%/catsitd.pipe'} + +while getopts 'c:' opt; do + case "${opt}" in + (c) CATSITD_PIPE=$OPTARG;; + (?) exit 1;; + esac +done +shift $((OPTIND - 1)) + +if ! [ -p "${CATSITD_PIPE}" ]; then + die "${CATSITD_PIPE} is not a named pipe" +fi +if ! [ -w "${CATSITD_PIPE}" ]; then + die "${CATSITD_PIPE} is not writable" +fi + +[ $# -lt 1 ] && die 'action required' +[ $# -lt 2 ] && die 'service name required' + +action=$(echo "${1}" | tr 'A-Z' 'a-z') +for valid in start stop restart status drop $(kill -l | tr 'A-Z' 'a-z'); do + [ "${action}" = "${valid}" ] && break +done +if [ "${action}" != "${valid}" ]; then + die "${action} is not a valid action or signal" +fi + +echo "$@" > "${CATSITD_PIPE}" diff --git a/catsit.sh b/catsit.sh deleted file mode 100644 index 6433109..0000000 --- a/catsit.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh -set -eu - -die() { - echo "${0}:" "$@" >&2 - exit 1 -} - -: ${CATSITD_PIPE:=/var/run/catsitd.pipe} - -while getopts 'c:' opt; do - case "${opt}" in - (c) CATSITD_PIPE=$OPTARG;; - (?) exit 1;; - esac -done -shift $((OPTIND - 1)) - -if ! [ -p "${CATSITD_PIPE}" ]; then - die "${CATSITD_PIPE} is not a named pipe" -fi -if ! [ -w "${CATSITD_PIPE}" ]; then - die "${CATSITD_PIPE} is not writable" -fi - -[ $# -lt 1 ] && die 'action required' -[ $# -lt 2 ] && die 'service name required' - -action=$(echo "${1}" | tr 'A-Z' 'a-z') -for valid in start stop restart status drop $(kill -l | tr 'A-Z' 'a-z'); do - [ "${action}" = "${valid}" ] && break -done -if [ "${action}" != "${valid}" ]; then - die "${action} is not a valid action or signal" -fi - -echo "$@" > "${CATSITD_PIPE}" -- cgit 1.4.1