From e8e157fb58342fa63692390b27eb5268dcae3820 Mon Sep 17 00:00:00 2001 From: Ken Moore Date: Fri, 20 Jan 2017 12:49:59 -0500 Subject: [PATCH] Large update to the init.d services for SysAdm. Also clean up some things in the port makefile as well. --- port-files/Makefile | 6 ++--- port-files/files/sysadm-bridge.in | 44 ------------------------------- port-files/files/sysadm-rest.in | 42 ----------------------------- port-files/files/sysadm.in | 42 ----------------------------- port-files/pkg-plist | 3 +++ src/init.d/sysadm | 31 ++++++++++++++++++++++ src/init.d/sysadm-bridge | 33 +++++++++++++++++++++++ src/init.d/sysadm-rest | 31 ++++++++++++++++++++++ src/sysadm.pro | 11 +++++--- 9 files changed, 108 insertions(+), 135 deletions(-) delete mode 100755 port-files/files/sysadm-bridge.in delete mode 100755 port-files/files/sysadm-rest.in delete mode 100755 port-files/files/sysadm.in create mode 100755 src/init.d/sysadm create mode 100755 src/init.d/sysadm-bridge create mode 100755 src/init.d/sysadm-rest diff --git a/port-files/Makefile b/port-files/Makefile index 5689286..007c253 100644 --- a/port-files/Makefile +++ b/port-files/Makefile @@ -6,7 +6,7 @@ PORTVERSION= %%CHGVERSION%% CATEGORIES= sysutils MAINTAINER= kmoore@FreeBSD.org -COMMENT= PC-BSD SysAdm API server +COMMENT= SysAdm API server LICENSE= BSD3CLAUSE @@ -15,10 +15,8 @@ USE_QT5= concurrent core network buildtools qmake gui websockets USES= pkgconfig tar:xz qmake MAKE_ARGS= PREFIX=${STAGEDIR}${PREFIX} -USE_OPENRC_SUBR= sysadm sysadm-bridge sysadm-rest - USE_GITHUB= yes -GH_ACCOUNT= pcbsd +GH_ACCOUNT= trueos GH_PROJECT= sysadm GH_TAGNAME= %%GHTAG%% diff --git a/port-files/files/sysadm-bridge.in b/port-files/files/sysadm-bridge.in deleted file mode 100755 index bb607c1..0000000 --- a/port-files/files/sysadm-bridge.in +++ /dev/null @@ -1,44 +0,0 @@ -#!/sbin/openrc-run -# Copyright (c) 2016 Ken Moore -# Released under the 2-clause BSD license - -name="SysAdm Server (Bridge)" - -depend() { - after bootmisc - keyword -shutdown -} - -start() -{ - ebegin "Starting $name" - supervise-daemon --start -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 deleted file mode 100755 index d73f766..0000000 --- a/port-files/files/sysadm-rest.in +++ /dev/null @@ -1,42 +0,0 @@ -#!/sbin/openrc-run -# Copyright (c) 2016 Ken Moore -# Released under the 2-clause BSD license - -name="SysAdm Server (REST)" - -depend() { - after bootmisc - keyword -shutdown -} - -start() -{ - ebegin "Starting $name" - supervise-daemon --start -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 deleted file mode 100755 index 7546f65..0000000 --- a/port-files/files/sysadm.in +++ /dev/null @@ -1,42 +0,0 @@ -#!/sbin/openrc-run -# Copyright (c) 2016 Ken Moore -# Released under the 2-clause BSD license - -name="SysAdm Server (WebSocket)" - -depend() { - after bootmisc - keyword -shutdown -} - -start() -{ - ebegin "Starting $name" - supervise-daemon --start -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" -} diff --git a/port-files/pkg-plist b/port-files/pkg-plist index e4dcf27..f90269b 100644 --- a/port-files/pkg-plist +++ b/port-files/pkg-plist @@ -3,6 +3,9 @@ bin/sysadm-server bin/sysadm-bridge bin/sysadm-bridge-start etc/sysadm.conf.dist +etc/init.d/sysadm +etc/init.d/sysadm-bridge +etc/init.d/sysadm-rest etc/rc.d/sysadm etc/rc.d/sysadm-bridge etc/rc.d/sysadm-rest diff --git a/src/init.d/sysadm b/src/init.d/sysadm new file mode 100755 index 0000000..db164b6 --- /dev/null +++ b/src/init.d/sysadm @@ -0,0 +1,31 @@ +#!/sbin/openrc-run +# Copyright (c) 2016 Ken Moore +# Released under the 2-clause BSD license + +name="SysAdm Server (WebSocket)" +pidfile=/var/run/sysadm.pid +prefix=/usr/local/ +command=${prefix}bin/sysadm-binary +command_args= +supervisor=supervise-daemon + +depend() { + after bootmisc + keyword -shutdown +} + +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" +} diff --git a/src/init.d/sysadm-bridge b/src/init.d/sysadm-bridge new file mode 100755 index 0000000..71a1f8d --- /dev/null +++ b/src/init.d/sysadm-bridge @@ -0,0 +1,33 @@ +#!/sbin/openrc-run +# Copyright (c) 2016 Ken Moore +# Released under the 2-clause BSD license + +name="SysAdm Server (Bridge)" +pidfile=/var/run/sysadm-bridge.pid +prefix=/usr/local/ +command=${prefix}bin/sysadm-bridge +command_args= +supervisor=supervise-daemon + +depend() { + after bootmisc + keyword -shutdown +} + +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/src/init.d/sysadm-rest b/src/init.d/sysadm-rest new file mode 100755 index 0000000..8a6ece4 --- /dev/null +++ b/src/init.d/sysadm-rest @@ -0,0 +1,31 @@ +#!/sbin/openrc-run +# Copyright (c) 2016 Ken Moore +# Released under the 2-clause BSD license + +name="SysAdm Server (REST)" +pid=/var/run/sysadm-rest.pid +prefix=/usr/local/ +command=${prefix}bin/sysadm-binary +command_args="--rest" +supervisor=supervise-daemon + +depend() { + after bootmisc + keyword -shutdown +} + +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/src/sysadm.pro b/src/sysadm.pro index f3d7699..5ad9f2d 100644 --- a/src/sysadm.pro +++ b/src/sysadm.pro @@ -3,11 +3,16 @@ CONFIG += recursive SUBDIRS+= server bridge +#Standard FreeBSD RC rcd.path = /usr/local/etc/rc.d/ rcd.files = rc.d/sysadm rc.d/sysadm-rest rc.d/sysadm-bridge -#dconf.path = /usr/local/etc/job.d/ -#dconf.extra = cp job.d/* $(INSTALL_ROOT)/usr/local/etc/job.d/ +#OpenRC for TrueOS +initd.path = /usr/local/etc/init.d/ +initd.files = init.d/sysadm init.d/sysadm-rest init.d/sysadm-bridge + +#jobd.path = /usr/local/etc/job.d/ +#jobd.extra = cp job.d/* $(INSTALL_ROOT)/usr/local/etc/job.d/ #wsdaemon.path = /usr/local/etc/job.d/ #wsdaemon.extra = cp job.d/org.pcbsd.sysadm.json $(INSTALL_ROOT)/usr/local/etc/job.d/org.pcbsd.sysadm.json @@ -18,4 +23,4 @@ rcd.files = rc.d/sysadm rc.d/sysadm-rest rc.d/sysadm-bridge conf.path = /usr/local/etc/ conf.extra = cp conf/sysadm.conf ${INSTALL_ROOT}/usr/local/etc/sysadm.conf.dist -INSTALLS += rcd conf +INSTALLS += rcd initd conf