diff --git a/Makefile b/Makefile index c60fa46..1c7d03f 100644 --- a/Makefile +++ b/Makefile @@ -6,6 +6,7 @@ BINDIR ?= bin MANDIR ?= share/man MKDIR ?= mkdir CP ?= cp +SYSCONFDIR ?= /etc VERSION = `git describe --abbrev=0 --tags 2>/dev/null || echo "$VERSION"` COMMIT = `git rev-parse --short HEAD || echo "$COMMIT"` @@ -33,13 +34,13 @@ install: $(MKDIR) -p $(DESTDIR)$(PREFIX)/$(MANDIR)/man1 $(MKDIR) -p $(DESTDIR)$(PREFIX)/$(MANDIR)/man5 $(MKDIR) -p $(DESTDIR)$(PREFIX)/$(MANDIR)/man7 - $(MKDIR) -p $(DESTDIR)/etc/suika + $(MKDIR) -p $(DESTDIR)${SYSCONFDIR}/suika $(MKDIR) -p $(DESTDIR)/var/lib/suika $(CP) -f suika suikactl suika-znc-import $(DESTDIR)$(PREFIX)/$(BINDIR) $(CP) -f doc/suika.1 $(DESTDIR)$(PREFIX)/$(MANDIR)/man1 $(CP) -f doc/suika-config.5 $(DESTDIR)$(PREFIX)/$(MANDIR)/man5 $(CP) -f doc/suika-bouncerserv.7 $(DESTDIR)$(PREFIX)/$(MANDIR)/man7 - [ -f $(DESTDIR)/etc/suika/config ] || $(CP) -f config.in $(DESTDIR)/etc/suika/config + [ -f $(DESTDIR)${SYSCONFDIR}/suika/config ] || $(CP) -f config.in $(DESTDIR)${SYSCONFDIR}/suika/config test: go test .PHONY: suika suikactl suika-znc-import clean install diff --git a/rc.d/freebsd.rc.d b/rc.d/freebsd.rc.d new file mode 100755 index 0000000..49c365d --- /dev/null +++ b/rc.d/freebsd.rc.d @@ -0,0 +1,23 @@ +#!/bin/sh +# $TheSupernovaDuo: suika,v 0.4.2 2023/6/9 23:30:3 yakumo_izuru Exp $ + +# PROVIDE: suika +# REQUIRE: DAEMON +# BEFORE: LOGIN +# KEYWORD: SHUTDOWN + +. /etc/rc.subr + +name="suika" +rcvar="$name_enable" + +command="/usr/local/bin/$name" + +: ${suika_enable="NO"} +: ${suika_config_file="/usr/local/etc/suika/config"} + +command_args="-config ${suika_config_file}" +required_files="${suika_config_file}" + +load_rc_config "$name" +run_rc_command "$1" diff --git a/rc.d/netbsd.rc.d b/rc.d/netbsd.rc.d new file mode 100755 index 0000000..5adb9fa --- /dev/null +++ b/rc.d/netbsd.rc.d @@ -0,0 +1,18 @@ +#!/bin/sh +# $TheSupernovaDuo: suika,v 0.4.2 2023/6/9 23:30:18 yakumo_izuru Exp $ + +# PROVIDE: suika +# REQUIRE: login +# KEYWORD: shutdown + +$_rc_subr_loaded . /etc/rc.subr + +name="suika" +rcvar="$name" +command="/usr/local/bin/${name}" + +suika_config_file="/usr/local/etc/suika/config" +command_args="-config ${suika_config_file}" + +load_rc_config "$name" +run_rc_command "$1" diff --git a/rc.d/openbsd.rc.d b/rc.d/openbsd.rc.d new file mode 100755 index 0000000..e7386f3 --- /dev/null +++ b/rc.d/openbsd.rc.d @@ -0,0 +1,11 @@ +#!/bin/ksh +# $TheSupernovaDuo: suika,v 0.4.2 2023/6/9 23:30:13 yakumo_izuru Exp $ +daemon="/usr/local/bin/suika" +suika_config_file="/usr/local/etc/suika/config" +daemon_flags="-config ${suika_config_file}" + +. /etc/rc.d/rc.subr + +rc_bg=YES + +rc_cmd "$1" diff --git a/rc.d/suika.service b/rc.d/suika.service new file mode 100644 index 0000000..32cd71f --- /dev/null +++ b/rc.d/suika.service @@ -0,0 +1,15 @@ +[Unit] +Description=Drunk as hell IRC bouncer oni. +Documentation=man:suika(1) + +[Service] +Type=simple +User=suika +Group=suika +Restart=always +RestartSec=5 +ExecStart=/usr/local/bin/suika --config /usr/local/etc/suika/config +ExecReload=/bin/kill -HUP $MAINPID + +[Install] +WantedBy=multi-user.target