summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--FreeBSD/catsitd.in21
-rw-r--r--Makefile15
2 files changed, 33 insertions, 3 deletions
diff --git a/FreeBSD/catsitd.in b/FreeBSD/catsitd.in
new file mode 100644
index 0000000..7dfa8a8
--- /dev/null
+++ b/FreeBSD/catsitd.in
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+# PROVIDE: catsitd
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+
+. /etc/rc.subr
+
+name="catsitd"
+rcvar="${name}_enable"
+extra_commands="reload"
+
+load_rc_config $name
+
+: ${catsitd_enable:="NO"}
+
+command="%%PREFIX%%/sbin/${name}"
+pidfile="/var/run/${name}.pid"
+command_args="-p ${pidfile}"
+
+run_rc_command "$1"
diff --git a/Makefile b/Makefile
index d0448ce..a37a40f 100644
--- a/Makefile
+++ b/Makefile
@@ -6,6 +6,8 @@ RUNDIR ?= /var/run
 CFLAGS += -std=c99 -Wall -Wextra -Wpedantic
 CFLAGS += -D'ETCDIR="${ETCDIR}"' -D'RUNDIR="${RUNDIR}"'
 
+RC = FreeBSD/catsitd
+
 -include config.mk
 
 BINS = catsit catsitd
@@ -27,13 +29,19 @@ ${OBJS}: daemon.h
 tags: *.c *.h
 	ctags -w *.c *.h
 
+.SUFFIXES: .in
+
+.in:
+	sed -e 's|%%PREFIX%%|${PREFIX}|g' $< > $@
+
 clean:
-	rm -f ${BINS} ${OBJS} tags
+	rm -f ${BINS} ${OBJS} ${RC} tags
 
-install: ${BINS} ${MAN5} ${MAN8}
-	install -d ${DESTDIR}${PREFIX}/sbin
+install: ${BINS} ${RC} ${MAN5} ${MAN8}
+	install -d ${DESTDIR}${PREFIX}/sbin ${DESTDIR}${ETCDIR}/rc.d
 	install -d ${DESTDIR}${MANDIR}/man5 ${DESTDIR}${MANDIR}/man8
 	install ${BINS} ${DESTDIR}${PREFIX}/sbin
+	install ${RC} ${DESTDIR}${ETCDIR}/rc.d
 	install -m 644 ${MAN5} ${DESTDIR}${MANDIR}/man5
 	install -m 644 ${MAN8} ${DESTDIR}${MANDIR}/man8
 
@@ -41,3 +49,4 @@ uninstall:
 	rm -f ${BINS:%=${DESTDIR}${PREFIX}/sbin/%}
 	rm -f ${MAN5:%=${DESTDIR}${MANDIR}/man5/%}
 	rm -f ${MAN8:%=${DESTDIR}${MANDIR}/man8/%}
+	rm -f ${DESTDIR}${ETCDIR}/rc.d/catsitd