summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJörg Thalheim2015-06-11 15:22:40 +0200
committerJörg Thalheim2015-06-11 15:31:50 +0200
commite45829d80fb21e3facaf3d196870ebb4e544867f (patch)
tree49551e220b85722143431265e312eef80f3d64e6
downloadaur-e45829d80fb21e3facaf3d196870ebb4e544867f.tar.gz
Initial Import
-rw-r--r--.SRCINFO39
-rw-r--r--PKGBUILD72
-rw-r--r--etherpad-lite.install19
-rw-r--r--etherpad-lite.service13
-rw-r--r--etherpad-lite.socket5
-rw-r--r--socket-activation.patch32
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": {