This commit is contained in:
davidnewhall2 2020-02-01 03:35:00 -08:00
parent 30f322e845
commit 07cd6d3e50
4 changed files with 42 additions and 37 deletions

View File

@ -260,8 +260,8 @@ package_build_freebsd: readme man freebsd
[ "$(FORMULA)" != "service" ] || mkdir -p $@/usr/local/etc/rc.d
[ "$(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
init/bsd/template.rc.d > $@/usr/local/etc/rc.d/$(BINARY)
[ "$(FORMULA)" != "service" ] || chmod +x $@/usr/local/etc/rc.d/$(BINARY)
package_build_freebsd_386: package_build_freebsd freebsd386
mkdir -p $@

9
init/bsd/README.md Normal file
View File

@ -0,0 +1,9 @@
Generic FreeBSD rc.d service file lives here.
- Marshal template like so (example in [Makefile](../../Makefile)):
```shell
sed -e "s/{{BINARY}}/app-name/g" \
-e "s/{{BINARYU}}/app_name/g" \
-e "s/{{CONFIG_FILE}}/app-name.conf/g" \
template.rc.d > /usr/local/etc/rc.d/app-name
```

31
init/bsd/template.rc.d Executable file
View File

@ -0,0 +1,31 @@
#!/bin/sh
#
# FreeBSD rc.d startup script for {{BINARY}}.
#
# PROVIDE: {{BINARY}}
# REQUIRE: networking syslog
# KEYWORD:
. /etc/rc.subr
name="{{BINARYU}}"
real_name="{{BINARY}}"
rcvar="{{BINARYU}}_enable"
{{BINARYU}}_command="/usr/local/bin/${real_name}"
{{BINARYU}}_user="nobody"
{{BINARYU}}_config="/usr/local/etc/${real_name}/{{CONFIG_FILE}}"
pidfile="/var/run/${real_name}/pid"
# This runs `daemon` as the `{{BINARYU}}_user` user.
command="/usr/sbin/daemon"
command_args="-P ${pidfile} -r -t ${real_name} -T ${real_name} -l daemon ${{{BINARYU}}_command} -c ${{{BINARYU}}_config}"
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,35 +0,0 @@
#!/bin/sh
#
# 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/app-name
#
# PROVIDE: {{BINARY}}
# REQUIRE: networking syslog
# KEYWORD:
. /etc/rc.subr
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"
# 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}
: ${{{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"