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