summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorPierre-Alain TORET2019-05-03 18:19:36 +0200
committerPierre-Alain TORET2019-05-03 18:19:36 +0200
commitc503bb37436ece30232a7cd0434c6b60b7dc909d (patch)
tree186dd7c2b065fd90fe7c519fb55aec1aeef0cd63
parentfd4570a9846f68bc7a739ca17da75fc869047898 (diff)
downloadaur-c503bb37436ece30232a7cd0434c6b60b7dc909d.tar.gz
Improve packaging
-rw-r--r--.SRCINFO10
-rw-r--r--PKGBUILD28
-rwxr-xr-xetesync-server9
-rw-r--r--etesync-server.install6
-rw-r--r--etesync-server.sysusers1
5 files changed, 42 insertions, 12 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 4b231aa38a2a..d3620a77e7e2 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,8 +1,9 @@
pkgbase = etesync-server
pkgdesc = A self-hostable EteSync server
pkgver = 0.1.0
- pkgrel = 1
+ pkgrel = 2
url = https://github.com/etesync/server-skeleton
+ install = etesync-server.install
arch = any
license = AGPLv3
depends = python-django
@@ -12,10 +13,17 @@ pkgbase = etesync-server
depends = python-drf-nested-routers
depends = python-pytz
optdepends = postgresql: storage backend
+ optdepends = uwsgi-python: application container
options = !emptydirs
backup = usr/share/etesync-server/etesync_server/settings.py
source = https://github.com/etesync/server-skeleton/archive/v0.1.0.tar.gz
+ source = etesync-server.install
+ source = etesync-server.sysusers
+ source = etesync-server
sha256sums = 9ab6ac6d3517023ad6702843e855dc2f89edf32388a058439d6248c2d6f1ae52
+ sha256sums = 8737998b58b9a101f33e911e4f1f413399a0bfa6b72533ddf00eb7dd963e8ddd
+ sha256sums = 7363b065206a40e067675d072c5ff269b32704ec89c4eed98e5d3edd71fca122
+ sha256sums = 823c0ed67e81795fc130c0ce9ed12e5b9b7bdbaa45739e7b2dc380936e6df043
pkgname = etesync-server
diff --git a/PKGBUILD b/PKGBUILD
index 84fcb611478f..8ba201eb9b9a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,7 +1,7 @@
# Maintainer: Pierre-Alain TORET <pierre-alain.toret@protonmail.com>
pkgname=('etesync-server')
pkgver=0.1.0
-pkgrel=1
+pkgrel=2
pkgdesc="A self-hostable EteSync server"
arch=(any)
depends=('python-django'
@@ -10,13 +10,21 @@ depends=('python-django'
'python-django-rest-framework'
'python-drf-nested-routers'
'python-pytz')
-optdepends=('postgresql: storage backend')
+optdepends=('postgresql: storage backend'
+ 'uwsgi-python: application container')
url="https://github.com/etesync/server-skeleton"
license=('AGPLv3')
backup=('usr/share/etesync-server/etesync_server/settings.py')
options=(!emptydirs)
-source=('https://github.com/etesync/server-skeleton/archive/v0.1.0.tar.gz')
-sha256sums=('9ab6ac6d3517023ad6702843e855dc2f89edf32388a058439d6248c2d6f1ae52')
+source=('https://github.com/etesync/server-skeleton/archive/v0.1.0.tar.gz'
+ $pkgname.install
+ $pkgname.sysusers
+ $pkgname)
+sha256sums=('9ab6ac6d3517023ad6702843e855dc2f89edf32388a058439d6248c2d6f1ae52'
+ '8737998b58b9a101f33e911e4f1f413399a0bfa6b72533ddf00eb7dd963e8ddd'
+ '7363b065206a40e067675d072c5ff269b32704ec89c4eed98e5d3edd71fca122'
+ '823c0ed67e81795fc130c0ce9ed12e5b9b7bdbaa45739e7b2dc380936e6df043')
+install=$pkgname.install
package() {
mkdir -p "$pkgdir/etc/etesync-server/"
@@ -25,19 +33,17 @@ package() {
mkdir -p "$pkgdir/usr/share/doc/$pkgname"
mkdir -p "$pkgdir/usr/share/licenses/$pkgname"
+ install -Dm644 "$pkgname.sysusers" "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
+
install -Dm644 "server-skeleton-$pkgver/README.md" "$pkgdir/usr/share/doc/$pkgname/README.md"
rm -f "server-skeleton-$pkgver/README.md"
install -Dm644 "server-skeleton-$pkgver/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
rm -f "server-skeleton-$pkgver/LICENSE"
rm -f "server-skeleton-$pkgver/icon.svg"
rm -rf "server-skeleton-$pkgver/example-configs"
- cp -a "server-skeleton-$pkgver" "$pkgdir/usr/share/etesync-server"
- sed -i 's@SECRET_FILE = os.path.join(BASE_DIR, "secret.txt")@SECRET_FILE = os.path.join("/etc/etesync-server/", "secret.txt")@' "$pkgdir/usr/share/etesync-server/etesync_server/settings.py"
-
- cat << EOF > "$pkgdir/usr/bin/etesync-server"
-#!/bin/sh
+ cp -a "server-skeleton-$pkgver" "$pkgdir/usr/share/$pkgname"
+ sed -i 's@SECRET_FILE = os.path.join(BASE_DIR, "secret.txt")@SECRET_FILE = os.path.join("/etc/etesync-server/", "secret.txt")@' "$pkgdir/usr/share/$pkgname/etesync_server/settings.py"
-/usr/share/etesync-server/manage.py \$@
-EOF
+ install -Dm755 "$pkgname" "$pkgdir/usr/bin/$pkgname"
chmod +x "$pkgdir/usr/bin/etesync-server"
}
diff --git a/etesync-server b/etesync-server
new file mode 100755
index 000000000000..fca6eeba80f3
--- /dev/null
+++ b/etesync-server
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+if [ "$USER" != "etesync" ];
+then
+ echo "Please run this script as user etesync"
+ exit 0
+fi
+
+ETESYNC_DB_PATH=/var/lib/etesync-server/db.sqlite3 /usr/share/etesync-server/manage.py \$@
diff --git a/etesync-server.install b/etesync-server.install
new file mode 100644
index 000000000000..5a74e28c592e
--- /dev/null
+++ b/etesync-server.install
@@ -0,0 +1,6 @@
+post_install() {
+ mkdir -p /etc/etesync-server
+ chown -R etesync: /etc/etesync-server
+ mkdir -p /var/lib/etesync-server
+ chown -R etesync:etesync /var/lib/etesync &>/dev/null
+}
diff --git a/etesync-server.sysusers b/etesync-server.sysusers
new file mode 100644
index 000000000000..2e8725eb7821
--- /dev/null
+++ b/etesync-server.sysusers
@@ -0,0 +1 @@
+u etesync - "EteSync server"