From aca201eeea0a50a05a7b00b222ac77fb2ff7476f Mon Sep 17 00:00:00 2001 From: Kris Moore Date: Wed, 7 Dec 2016 17:15:38 -0500 Subject: [PATCH] Make the sysadm init.d files properly show status and stop. --- port-files/files/sysadm-bridge.in | 41 +++++++++++++++++++++++++++---- port-files/files/sysadm-rest.in | 37 +++++++++++++++++++++++++--- port-files/files/sysadm.in | 37 +++++++++++++++++++++++++--- 3 files changed, 102 insertions(+), 13 deletions(-) diff --git a/port-files/files/sysadm-bridge.in b/port-files/files/sysadm-bridge.in index 0147035..d7244b1 100755 --- a/port-files/files/sysadm-bridge.in +++ b/port-files/files/sysadm-bridge.in @@ -2,13 +2,44 @@ # Copyright (c) 2016 Ken Moore # Released under the 2-clause BSD license -command="%%PREFIX%%/bin/sysadm-bridge" -command_args="&" -pid=/var/run/sysadm-bridge.pid -name="SysAdm Bridge" +name="SysAdm Server (Bridge)" depend() { - need syscons net + need net after bootmisc keyword -shutdown } + +start() +{ + ebegin "Starting $name" + start-stop-daemon --start -m -b -p /var/run/sysadm-bridge.pid \ + %%PREFIX%%/bin/sysadm-bridge + eend $? +} + +stop() +{ + ebegin "Stopping $name" + start-stop-daemon --stop --exec %%PREFIX%%/bin/sysadm-bridge \ + -p /var/run/sysadm-bridge.pid + eend $? +} + +ssl_keygen() +{ + if [ ! -d "%%PREFIX%%/etc/sysadm" ] ; then + mkdir -p %%PREFIX%%/etc/sysadm + fi + if [ ! -e "%%PREFIX%%/etc/sysadm/ws_bridge.key" ] ; then + openssl req -x509 -nodes -newkey rsa:2048 \ + -keyout %%PREFIX%%/etc/sysadm/ws_bridge.key \ + -out %%PREFIX%%/etc/sysadm/ws_bridge.crt -days 102400 \ + -subj "/C=US/ST=MY/L=NULL/O=SysAdm/OU=SysAdm/CN=SysAdm/emailAddress=none@example.org" 2>/dev/null + fi +} + +start_pre() +{ + ssl_keygen "$1" +} diff --git a/port-files/files/sysadm-rest.in b/port-files/files/sysadm-rest.in index c434091..8414b07 100755 --- a/port-files/files/sysadm-rest.in +++ b/port-files/files/sysadm-rest.in @@ -2,13 +2,42 @@ # Copyright (c) 2016 Ken Moore # Released under the 2-clause BSD license -command="%%PREFIX%%/bin/sysadm-server" -command_args="-rest &" -pid=/var/run/sysadm-rest.pid name="SysAdm Server (REST)" depend() { - need syscons net + need net after bootmisc keyword -shutdown } + +start() +{ + ebegin "Starting $name" + start-stop-daemon --start -m -b -p /var/run/sysadm-rest.pid \ + %%PREFIX%%/bin/sysadm-binary -- -rest + eend $? +} + +stop() +{ + ebegin "Stopping $name" + start-stop-daemon --stop --exec %%PREFIX%%/bin/sysadm-binary \ + -p /var/run/sysadm-rest.pid + eend $? +} + +ssl_keygen() +{ + if [ ! -d "%%PREFIX%%/etc/sysadm" ] ; then + mkdir -p %%PREFIX%%/etc/sysadm + fi + openssl req -x509 -nodes -newkey rsa:2048 \ + -keyout %%PREFIX%%/etc/sysadm/restserver.key \ + -out %%PREFIX%%/etc/sysadm/restserver.crt -days 1024 \ + -subj "/C=US/ST=MY/L=NULL/O=SysAdm/OU=SysAdm/CN=SysAdm/emailAddress=none@example.org" 2>/dev/null +} + +start_pre() +{ + ssl_keygen "$1" +} diff --git a/port-files/files/sysadm.in b/port-files/files/sysadm.in index e46e5d4..5136270 100755 --- a/port-files/files/sysadm.in +++ b/port-files/files/sysadm.in @@ -2,13 +2,42 @@ # Copyright (c) 2016 Ken Moore # Released under the 2-clause BSD license -command="%%PREFIX%%/bin/sysadm-server" -command_args="&" -pid=/var/run/sysadm.pid name="SysAdm Server (WebSocket)" depend() { - need syscons net + need net after bootmisc keyword -shutdown } + +start() +{ + ebegin "Starting $name" + start-stop-daemon --start -m -b -p /var/run/sysadm.pid \ + %%PREFIX%%/bin/sysadm-binary + eend $? +} + +stop() +{ + ebegin "Stopping $name" + start-stop-daemon --stop --exec %%PREFIX%%/bin/sysadm-binary \ + -p /var/run/sysadm.pid + eend $? +} + +ssl_keygen() +{ + if [ ! -d "%%PREFIX%%/etc/sysadm" ] ; then + mkdir -p %%PREFIX%%/etc/sysadm + fi + openssl req -x509 -nodes -newkey rsa:2048 \ + -keyout %%PREFIX%%/etc/sysadm/wsserver.key \ + -out %%PREFIX%%/etc/sysadm/wsserver.crt -days 1024 \ + -subj "/C=US/ST=MY/L=NULL/O=SysAdm/OU=SysAdm/CN=SysAdm/emailAddress=none@example.org" 2>/dev/null +} + +start_pre() +{ + ssl_keygen "$1" +}