diff options
author | Jörg Thalheim | 2015-06-11 15:22:40 +0200 |
---|---|---|
committer | Jörg Thalheim | 2015-06-11 15:31:50 +0200 |
commit | e45829d80fb21e3facaf3d196870ebb4e544867f (patch) | |
tree | 49551e220b85722143431265e312eef80f3d64e6 | |
download | aur-e45829d80fb21e3facaf3d196870ebb4e544867f.tar.gz |
Initial Import
-rw-r--r-- | .SRCINFO | 39 | ||||
-rw-r--r-- | PKGBUILD | 72 | ||||
-rw-r--r-- | etherpad-lite.install | 19 | ||||
-rw-r--r-- | etherpad-lite.service | 13 | ||||
-rw-r--r-- | etherpad-lite.socket | 5 | ||||
-rw-r--r-- | socket-activation.patch | 32 |
6 files changed, 180 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..0cedcf596784 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,39 @@ +pkgbase = etherpad-lite-systemd + pkgdesc = etherpad-lite with systemd socket-activation + pkgver = 1.5.2 + pkgrel = 2 + url = http://etherpad.org + install = etherpad-lite.install + arch = any + license = GPL2 + depends = curl + depends = python2 + depends = openssl + depends = nodejs<0.13.0 + depends = git + depends = npm + optdepends = sqlite: to use sqlite as databse + optdepends = mariadb: to use mariadb as database + optdepends = postgresql: to use postgresql as database + conflicts = etherpad-lite-git + backup = usr/share/webapps/etherpad-lite/settings.json + backup = etc/webapps/etherpad-lite/settings.json + source = etherpad-lite-1.5.2.tar.gz::https://github.com/ether/etherpad-lite/archive/1.5.2.tar.gz + source = etherpad-lite.service + source = etherpad-lite.socket + source = socket-activation.patch + md5sums = d218b5b2d6c1e9390e314df78a507165 + md5sums = 6204c73a5d04019e09ef86e1d0a1a61a + md5sums = 987fe3ab72dc495c7e8101658ff673ea + md5sums = 50476ce9e5c1b9bd53063bb875972be7 + sha1sums = 8e2e55f6e4c4237028e0a6e9f2b66b88455f415e + sha1sums = a6fdde2ccbe4044e7679d3d0d45f7c54e1d703d6 + sha1sums = 8768c601d7920427c6906a5ac3eca8f725981a2c + sha1sums = 24f76b29a17ac9eba704913d136a54968d1152c0 + sha256sums = 6bdfc3c22a36fd98e72e68e0be4a889d1611b7b1d10e7ebe6dffd1c09bf54bc2 + sha256sums = 0eafab2c0385ac8b5b70c5a6e7db502304a0c9accc13a5155cb02f84fb241b0d + sha256sums = 0b6f0f45e4892649e442f6082150c3181352a356926be959a72c9e9dca7973b1 + sha256sums = e1f7cda94688788f2c8a988312ba712f8467c66e702eef275faf03eda4410f36 + +pkgname = etherpad-lite-systemd + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..3727d44c7eed --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,72 @@ +# Contributions by: Timothée Ravier <tim@siosm.fr>, Jonas Heinrich <onny@project-insanity.org> +# Maintainer: Ruben Kelevra <ruben@freifunk-nrw.de> + +pkgname=etherpad-lite-systemd +pkgver=1.5.2 +pkgrel=2 +pkgdesc="etherpad-lite with systemd socket-activation" +arch=(any) +url="http://etherpad.org" +_watch=('http://etherpad.org','Documentation <small>v([\d.]*)</small>') +license=('GPL2') +depends=('curl' 'python2' 'openssl' 'nodejs<0.13.0' 'git' 'npm') +optdepends=('sqlite: to use sqlite as databse' + 'mariadb: to use mariadb as database' + 'postgresql: to use postgresql as database') +conflicts=('etherpad-lite-git') +backup=('usr/share/webapps/etherpad-lite/settings.json' + 'etc/webapps/etherpad-lite/settings.json') +install='etherpad-lite.install' +source=("etherpad-lite-${pkgver}.tar.gz::https://github.com/ether/etherpad-lite/archive/${pkgver}.tar.gz" + "etherpad-lite.service" + "etherpad-lite.socket" + "socket-activation.patch" + ) + +prepare() { + cd "$srcdir/etherpad-lite-${pkgver}" + sed -i "s/9001/19001/" settings.json.template + patch -p0 -i "$srcdir/socket-activation.patch" +} + +build() { + cd "$srcdir/etherpad-lite-${pkgver}" + export PYTHON=python2 + ./bin/installDeps.sh +} + +package() { + cd "$srcdir/etherpad-lite-${pkgver}" + echo 'cleaning up unneeded files...' + rm bin/installOnWindows.bat start.bat bin/buildDebian.sh bin/buildForWindows.sh + rm -r var bin/deb-src doc + echo 'move files...' + install -dm 755 "${pkgdir}"/usr/share/webapps/etherpad-lite + cp -a . "${pkgdir}"/usr/share/webapps/etherpad-lite + mkdir -p "${pkgdir}"/etc/webapps/etherpad-lite + mv "${pkgdir}"/usr/share/webapps/etherpad-lite/settings.json "${pkgdir}"/etc/webapps/etherpad-lite/settings.json + ln -s /etc/webapps/etherpad-lite/settings.json "${pkgdir}"/usr/share/webapps/etherpad-lite/settings.json + install -Dm644 "${srcdir}"/etherpad-lite.service "${pkgdir}"/usr/lib/systemd/system/etherpad-lite.service + install -Dm644 "${srcdir}"/etherpad-lite.socket "${pkgdir}"/usr/lib/systemd/system/etherpad-lite.socket + install -Dm644 "${srcdir}"/etherpad-lite.service "${pkgdir}"/usr/lib/systemd/system/etherpad-lite.service + install -D LICENSE "${pkgdir}"/usr/share/licenses/etherpad-lite/LICENSE + echo "setting rights..." + #touch "${pkgdir}"/usr/share/webapps/etherpad-lite/APIKEY.txt + find "${pkgdir}"/usr/share/webapps/etherpad-lite \ + \( -type f -exec chmod ug+rw,o+r {} \; \) , \ + \( -type d -exec chmod ug+rwxs,o+rx {} \; \) + chmod u+x "${pkgdir}"/usr/share/webapps/etherpad-lite/bin/run.sh + chmod u+x "${pkgdir}"/usr/share/webapps/etherpad-lite/bin/installDeps.sh +} +md5sums=('d218b5b2d6c1e9390e314df78a507165' + '6204c73a5d04019e09ef86e1d0a1a61a' + '987fe3ab72dc495c7e8101658ff673ea' + '50476ce9e5c1b9bd53063bb875972be7') +sha1sums=('8e2e55f6e4c4237028e0a6e9f2b66b88455f415e' + 'a6fdde2ccbe4044e7679d3d0d45f7c54e1d703d6' + '8768c601d7920427c6906a5ac3eca8f725981a2c' + '24f76b29a17ac9eba704913d136a54968d1152c0') +sha256sums=('6bdfc3c22a36fd98e72e68e0be4a889d1611b7b1d10e7ebe6dffd1c09bf54bc2' + '0eafab2c0385ac8b5b70c5a6e7db502304a0c9accc13a5155cb02f84fb241b0d' + '0b6f0f45e4892649e442f6082150c3181352a356926be959a72c9e9dca7973b1' + 'e1f7cda94688788f2c8a988312ba712f8467c66e702eef275faf03eda4410f36') diff --git a/etherpad-lite.install b/etherpad-lite.install new file mode 100644 index 000000000000..5404ed47c17a --- /dev/null +++ b/etherpad-lite.install @@ -0,0 +1,19 @@ +post_install(){ + getent group etherpad &>/dev/null || groupadd -r etherpad &>/dev/null + getent passwd etherpad &>/dev/null || \ + useradd -r -s /usr/bin/bash -g etherpad -G etherpad,http -m \ + -d /var/lib/etherpad-lite etherpad >/dev/null + #useradd -r -s /usr/bin/false -g etherpad -G etherpad,http -m \ + + ln -s /var/lib/etherpad-lite /usr/share/webapps/etherpad-lite/var + touch etherpad /usr/share/webapps/etherpad-lite/APIKEY.txt + chmod 644 /usr/share/webapps/etherpad-lite/APIKEY.txt + chown etherpad:etherpad /usr/share/webapps/etherpad-lite/APIKEY.txt + + systemd-tmpfiles --create etherpad-lite.conf +} + +post_remove() { + getent passwd etherpad &>/dev/null && userdel etherpad >/dev/null + getent group etherpad &>/dev/null && groupdel etherpad >/dev/null +} diff --git a/etherpad-lite.service b/etherpad-lite.service new file mode 100644 index 000000000000..4dec83ce1e5f --- /dev/null +++ b/etherpad-lite.service @@ -0,0 +1,13 @@ +[Unit] +Description=Etherpad-Lite server +After=syslog.target network.target + +[Service] +Type=simple +User=etherpad +Group=etherpad +WorkingDirectory=/var/lib/etherpad-lite +ExecStart=/usr/share/webapps/etherpad-lite/bin/run.sh + +[Install] +WantedBy=multi-user.target diff --git a/etherpad-lite.socket b/etherpad-lite.socket new file mode 100644 index 000000000000..d9fc386db81d --- /dev/null +++ b/etherpad-lite.socket @@ -0,0 +1,5 @@ +[Socket] +ListenStream=9000 + +[Install] +WantedBy=sockets.target diff --git a/socket-activation.patch b/socket-activation.patch new file mode 100644 index 000000000000..bbbd19332e73 --- /dev/null +++ b/socket-activation.patch @@ -0,0 +1,32 @@ +--- src/node/hooks/express.js 2014-03-30 15:11:50.000000000 +0200 ++++ src/node/hooks/express.js 2014-08-31 22:35:52.566054425 +0200 +@@ -5,6 +5,8 @@ + var path = require('path'); + var npm = require("npm/lib/npm.js"); + var _ = require("underscore"); ++require('systemd'); ++require('autoquit'); + + var server; + var serverName; +@@ -84,5 +86,6 @@ + }); + hooks.callAll("expressCreateServer", {"app": app, "server": server}); + +- server.listen(settings.port, settings.ip); ++ server.autoQuit({ timeout: 300 }); ++ server.listen("systemd"); + } +--- src/package.json 2015-02-12 14:36:32.768439764 +0000 ++++ src/package.json 2015-02-12 14:39:52.845623440 +0000 +@@ -43,7 +43,9 @@ + "jsonminify" : "0.2.3", + "measured" : "0.1.6", + "mocha" : "2.1.0", +- "supertest" : "0.15.0" ++ "supertest" : "0.15.0", ++ "systemd" : "0.2.6", ++ "autoquit" : "0.1.6" + }, + "bin": { "etherpad-lite": "./node/server.js" }, + "devDependencies": { |