summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartijn Heil2020-09-22 16:01:00 +0200
committerMartijn Heil2020-09-24 15:44:05 +0200
commitad5c4008690552fa45bb908a4a46267d53eb47c8 (patch)
treec8a55ce3eaec0ae3ce0bf20901e0d0a556ad2d9c
downloadaur-ad5c4008690552fa45bb908a4a46267d53eb47c8.tar.gz
Initial commit
Make sure that build works too when src directory is already populated Improve json formatting Rename package to signalk-server Fix various problems Generate .SRCINFO Add socket & service file to git Fix permissions Initial commit
-rw-r--r--.SRCINFO29
-rw-r--r--.gitignore21
-rw-r--r--PKGBUILD73
-rw-r--r--defaults.json6
-rw-r--r--package.json7
-rw-r--r--settings.json8
-rw-r--r--signalk-server.service12
-rw-r--r--signalk-server.socket6
-rw-r--r--signalk-server.sysusers3
-rw-r--r--signalk.install22
10 files changed, 187 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..6bada3caff64
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,29 @@
+pkgbase = signalk-server
+ pkgdesc = An implementation of a Signal K server.
+ pkgver = 1.34.0
+ pkgrel = 1
+ url = https://github.com/SignalK/signalk-server
+ install = signalk.install
+ arch = any
+ license = Apache
+ makedepends = npm
+ depends = nodejs
+ depends = npm
+ options = !strip
+ backup = etc/signalk-server/settings.json
+ backup = etc/signalk-server/package.json
+ source = https://registry.npmjs.org/signalk-server/-/signalk-server-1.34.0.tgz
+ source = defaults.json
+ source = package.json
+ source = signalk-server.sysusers
+ source = signalk-server.service
+ source = signalk-server.socket
+ md5sums = SKIP
+ md5sums = SKIP
+ md5sums = SKIP
+ md5sums = SKIP
+ md5sums = SKIP
+ md5sums = SKIP
+
+pkgname = signalk-server
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..169ddf782735
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,21 @@
+# ignore everything
+*
+!.gitignore
+
+# except PKGBUILD needed files
+!PKGBUILD
+!.SRCINFO
+!settings.json
+!package.json
+!defaults.json
+!*.install
+!*.sysusers
+!*.service
+!*.socket
+!ChangeLog
+
+# common wing-man files
+!*.diff
+!*.patch
+
+# add files that don't have an online source
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..25673c26b247
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,73 @@
+# Maintainer: Martijn Heil <m.heil375@gmail.com>
+
+pkgname=signalk-server
+pkgver=1.34.0
+pkgrel=1
+pkgdesc="An implementation of a Signal K server."
+arch=('any')
+url="https://github.com/SignalK/signalk-server"
+license=('Apache')
+depends=('nodejs' 'npm')
+makedepends=('npm')
+options=(!strip)
+install=signalk.install
+source=("https://registry.npmjs.org/signalk-server/-/signalk-server-${pkgver}.tgz"
+ 'defaults.json'
+ 'package.json'
+ 'signalk-server.sysusers'
+ 'signalk-server.service'
+ 'signalk-server.socket')
+md5sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP')
+backup=('etc/signalk-server/settings.json'
+ 'etc/signalk-server/package.json')
+
+pkgver() {
+ npm view signalk-server dist-tags.latest
+}
+
+prepare() {
+ cd "$srcdir"
+ rm -rf signalk-server
+ mv package signalk-server
+
+ rm -rf plugins
+ mkdir -p plugins/node_modules
+}
+
+build() {
+ cd "$srcdir/signalk-server"
+ npm install --cache "npm-cache"
+ rm -rf "npm-cache"
+}
+
+package() {
+ cd "$srcdir"
+
+ # Create dedicated user
+ install -Dm644 "$startdir/signalk-server.sysusers" "$pkgdir/usr/lib/sysusers.d/signalk-server.conf"
+
+ mkdir -p "$pkgdir/usr/lib/signalk-server"
+ cp -r "signalk-server/." "$pkgdir/usr/lib/signalk-server"
+
+ cp -r "plugins" "$pkgdir/usr/lib/signalk-server/plugins"
+
+ mkdir -p "$pkgdir/etc/signalk-server"
+ mkdir -p "$pkgdir/usr/lib/systemd/system"
+ mkdir -p "$pkgdir/usr/bin"
+
+ cp "signalk-server.service" "$pkgdir/usr/lib/systemd/system/signalk-server.service"
+ cp "signalk-server.socket" "$pkgdir/usr/lib/systemd/system/signalk-server.socket"
+ cp "defaults.json" "$pkgdir/etc/signalk-server/defaults.json"
+ cp "defaults.json" "$pkgdir/etc/signalk-server/settings.json"
+ cp "package.json" "$pkgdir/etc/signalk-server/package.json"
+
+ ln -s '/usr/lib/signalk-server/bin/signalk-server' "$pkgdir/usr/bin/signalk-server"
+ ln -s '/usr/lib/signalk-server/plugins/node_modules' "$pkgdir/etc/signalk-server/node_modules"
+ ln -s '/etc/signalk-server/package.json' "$pkgdir/usr/lib/signalk-server/plugins/package.json"
+
+ mkdir -p "$pkgdir/var/lib/signalk-server"
+
+ find "$pkgdir" -name package.json -print0 | xargs -r -0 sed -i /_where/d
+}
+
+
diff --git a/defaults.json b/defaults.json
new file mode 100644
index 000000000000..ffe11563dc1c
--- /dev/null
+++ b/defaults.json
@@ -0,0 +1,6 @@
+{
+ "vessels": {
+ "self": {
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 000000000000..63d6721ad725
--- /dev/null
+++ b/package.json
@@ -0,0 +1,7 @@
+{
+ "name": "signalk-server-config",
+ "version": "0.0.1",
+ "description": "This file is here to track your plugin and webapp installs.",
+ "repository": {},
+ "license": "Apache-2.0"
+}
diff --git a/settings.json b/settings.json
new file mode 100644
index 000000000000..c14c7cb7fe29
--- /dev/null
+++ b/settings.json
@@ -0,0 +1,8 @@
+{
+ "interfaces": {},
+ "ssl": false,
+ "pipedProviders": [],
+ "security": {
+ "strategy": "./tokensecurity"
+ }
+}
diff --git a/signalk-server.service b/signalk-server.service
new file mode 100644
index 000000000000..312e78a30770
--- /dev/null
+++ b/signalk-server.service
@@ -0,0 +1,12 @@
+[Service]
+ExecStart=signalk-server
+Restart=always
+WorkingDirectory=/var/lib/signalk-server
+#User=signalk
+Environment=EXTERNALPORT=3443
+Environment=SIGNALK_NODE_CONFIG_DIR=/etc/signalk-server
+User=signalk
+Group=signalk
+
+[Install]
+WantedBy=multi-user.target
diff --git a/signalk-server.socket b/signalk-server.socket
new file mode 100644
index 000000000000..87bca51c4c1c
--- /dev/null
+++ b/signalk-server.socket
@@ -0,0 +1,6 @@
+[Socket]
+ListenStream=3443
+ListenStream=3000
+
+[Install]
+WantedBy=sockets.target
diff --git a/signalk-server.sysusers b/signalk-server.sysusers
new file mode 100644
index 000000000000..112f3aca22a4
--- /dev/null
+++ b/signalk-server.sysusers
@@ -0,0 +1,3 @@
+# create a user + group to run geoserver
+g signalk - -
+u signalk - "Signal K Node Server" /var/lib/signalk-server
diff --git a/signalk.install b/signalk.install
new file mode 100644
index 000000000000..cb07df23f9b5
--- /dev/null
+++ b/signalk.install
@@ -0,0 +1,22 @@
+post_install() {
+ # cut off $pkgrel part
+ pkgver="${1%-*}"
+
+ # force _immediate_ creation of geoserver user
+ systemd-sysusers /usr/lib/sysusers.d/signalk-server.conf
+
+ # adjust permissions
+ chown -R signalk:signalk /usr/lib/signalk-server
+ chown -R signalk:signalk /etc/signalk-server
+ chown -R signalk:signalk /var/lib/signalk-server
+
+ # inform user about new systemd service
+ cat <<EOF
+==> Enable and/or start the \`signalk-server.service\` systemd service.
+EOF
+
+}
+
+post_upgrade() {
+ post_install $1
+}