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. # rpm is wierd and changes - to _ in versions.
RPMVERSION:=$(shell echo $(VERSION) | tr -- - _) RPMVERSION:=$(shell echo $(VERSION) | tr -- - _)
BINARYU:=$(shell echo $(BINARY) | tr -- - _)
PACKAGE_SCRIPTS= PACKAGE_SCRIPTS=
ifeq ($(FORMULA),service) 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 examples/$(CONFIG_FILE).example $@/usr/local/etc/$(BINARY)/$(CONFIG_FILE)
cp LICENSE *.html examples/*?.?* $@/usr/local/share/doc/$(BINARY)/ cp LICENSE *.html examples/*?.?* $@/usr/local/share/doc/$(BINARY)/
[ "$(FORMULA)" != "service" ] || mkdir -p $@/usr/local/etc/rc.d [ "$(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 package_build_freebsd_386: package_build_freebsd freebsd386
mkdir -p $@ mkdir -p $@

View File

@ -1,6 +1,11 @@
#!/bin/sh #!/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 # PROVIDE: unifi-poller
# REQUIRE: networking syslog # REQUIRE: networking syslog
@ -8,15 +13,23 @@
. /etc/rc.subr . /etc/rc.subr
name="unifipoller" name="{{BINARYU}}"
rcvar="unifipoller_enable" rcvar="{{BINARYU}}_enable"
command="/usr/local/bin/unifi-poller" {{BINARYU}}_command="/usr/local/bin/{{BINARY}}"
unifipoller_user="nobody" {{BINARYU}}_user="nobody"
unifipoller_config="/usr/local/etc/unifi-poller/up.conf" {{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 load_rc_config ${name}
: ${unifipoller_enable:=no} : ${{{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" 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. # This is part of Application Builder.
# https://github.com/golift/application-builder # https://github.com/golift/application-builder
class {{Class}} < Formula 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 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. # This is part of Application Builder.
# https://github.com/golift/application-builder # https://github.com/golift/application-builder