diff options
author | Martijn Heil | 2020-09-22 16:01:00 +0200 |
---|---|---|
committer | Martijn Heil | 2020-09-24 15:44:05 +0200 |
commit | ad5c4008690552fa45bb908a4a46267d53eb47c8 (patch) | |
tree | c8a55ce3eaec0ae3ce0bf20901e0d0a556ad2d9c | |
download | aur-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-- | .SRCINFO | 29 | ||||
-rw-r--r-- | .gitignore | 21 | ||||
-rw-r--r-- | PKGBUILD | 73 | ||||
-rw-r--r-- | defaults.json | 6 | ||||
-rw-r--r-- | package.json | 7 | ||||
-rw-r--r-- | settings.json | 8 | ||||
-rw-r--r-- | signalk-server.service | 12 | ||||
-rw-r--r-- | signalk-server.socket | 6 | ||||
-rw-r--r-- | signalk-server.sysusers | 3 | ||||
-rw-r--r-- | signalk.install | 22 |
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 +} |