make rc.d file dynamic

This commit is contained in:
davidnewhall2 2020-02-01 03:22:22 -08:00
parent 851009e1ef
commit 8262e792d4
5 changed files with 30 additions and 13 deletions

View File

@ -22,6 +22,7 @@ endif
# rpm is wierd and changes - to _ in versions.
RPMVERSION:=$(shell echo $(VERSION) | tr -- - _)
BINARYU:=$(shell echo $(BINARY) | tr -- - _)
PACKAGE_SCRIPTS=
ifeq ($(FORMULA),service)
@ -257,7 +258,10 @@ package_build_freebsd: readme man freebsd
cp examples/$(CONFIG_FILE).example $@/usr/local/etc/$(BINARY)/$(CONFIG_FILE)
cp LICENSE *.html examples/*?.?* $@/usr/local/share/doc/$(BINARY)/
[ "$(FORMULA)" != "service" ] || mkdir -p $@/usr/local/etc/rc.d
[ "$(FORMULA)" != "service" ] || cp init/bsd/unifi-poller.rc $@/usr/local/etc/rc.d/unifi-poller
[ "$(FORMULA)" != "service" ] || \
sed -e "s/{{BINARY}}/$(BINARY)/g" -e "s/{{BINARYU}}/$(BINARYU)/g" -e "s/{{CONFIG_FILE}}/$(CONFIG_FILE)/g" \
init/bsd/unifi-poller.rc > $@/usr/local/etc/rc.d/unifi-poller
[ "$(FORMULA)" != "service" ] || chmod +x $@/usr/local/etc/rc.d/unifi-poller
package_build_freebsd_386: package_build_freebsd freebsd386
mkdir -p $@

View File

@ -1,6 +1,11 @@
#!/bin/sh
#
# rc.d startup script for unifi-poller. Written for FreeBSD.
# FreeBSD rc.d startup script for unifi-poller.
# Target like so:
# sed -e "s/{{BINARY}}/app-name/g"
# -e "s/{{BINARYU}}/app_name/g" \
# -e "s/{{CONFIG_FILE}}/app-name.conf/g" \
# thisfile.rc > /usr/local/etc/rc.d/unifi-poller
#
# PROVIDE: unifi-poller
# REQUIRE: networking syslog
@ -8,15 +13,23 @@
. /etc/rc.subr
name="unifipoller"
rcvar="unifipoller_enable"
command="/usr/local/bin/unifi-poller"
unifipoller_user="nobody"
unifipoller_config="/usr/local/etc/unifi-poller/up.conf"
name="{{BINARYU}}"
rcvar="{{BINARYU}}_enable"
{{BINARYU}}_command="/usr/local/bin/{{BINARY}}"
{{BINARYU}}_user="nobody"
{{BINARYU}}_config="/usr/local/etc/{{BINARY}}/{{CONFIG_FILE}}"
pidfile="/var/run/{{BINARY}}/pid"
start_cmd="/usr/sbin/daemon -T $name -l daemon -u $unifipoller_user $command -c $unifipoller_config"
# This runs `daemon` as the `{{BINARYU}}_user` user.
command="/usr/sbin/daemon"
command_args="-P ${pidfile} -r -t {{BINARY}} -T {{BINARY}} -l daemon ${{{BINARYU}}_command} -c ${{{BINARYU}}_config}"
load_rc_config $name
: ${unifipoller_enable:=no}
load_rc_config ${name}
: ${{{BINARYU}}_enable:=no}
# Make a place for the pid file.
mkdir -p $(dirname ${pidfile})
chown -R ${{BINARYU}}_user $(dirname ${pidfile})
# Go!
run_rc_command "$1"

View File

@ -1,4 +1,4 @@
# Homebrew Formula Template. Built by Makefile: `make fomula`
# macOS Homebrew Formula Template. Built by Makefile: `make fomula`
# This is part of Application Builder.
# https://github.com/golift/application-builder
class {{Class}} < Formula

View File

@ -1,2 +1,2 @@
This file isn't used by the build or for any packages. The homebrew launchd is
in the [homebrew](../homebrew) folder. This file is for reference only.
in the [homebrew](../homebrew) folder. This macOS launchd file is for reference only.

View File

@ -1,4 +1,4 @@
# Systemd service unit for {{BINARY}}.
# Linux Systemd service unit for {{BINARY}}.
# This is part of Application Builder.
# https://github.com/golift/application-builder