aboutsummaryrefslogtreecommitdiffstats
path: root/community/h2o/h2o.initd
diff options
context:
space:
mode:
Diffstat (limited to 'community/h2o/h2o.initd')
-rw-r--r--community/h2o/h2o.initd45
1 files changed, 45 insertions, 0 deletions
diff --git a/community/h2o/h2o.initd b/community/h2o/h2o.initd
new file mode 100644
index 00000000000..47e301d3349
--- /dev/null
+++ b/community/h2o/h2o.initd
@@ -0,0 +1,45 @@
+#!/sbin/openrc-run
+
+extra_started_commands="reload"
+extra_commands="configtest"
+conffile=/etc/h2o.conf
+pidfile=/var/run/h2o.pid
+command=/usr/bin/h2o
+command_args="-c $conffile -m master"
+
+depend() {
+ need net
+ after sshd
+ use dns logger netmount
+}
+
+start_pre() {
+ configtest || return 1
+}
+
+start() {
+ ebegin "Starting h2o"
+ start-stop-daemon --start \
+ --background \
+ --pidfile ${pidfile} \
+ --exec ${command} \
+ -- ${command_args}
+ eend $?
+}
+
+reload() {
+ configtest || return 1
+ ebegin "Refreshing h2o configuration"
+ kill -HUP `cat $pidfile` &>/dev/null
+ eend $? "Failed to reload h2o"
+}
+
+configtest() {
+ ebegin "Checking h2o configuration"
+
+ if [ ! -f "${conffile}" ]; then
+ ewarn "${conffile} does not exist."
+ return 1
+ fi
+}
+