summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorThor772020-07-20 18:00:05 +0200
committerThor772020-07-20 18:25:41 +0200
commit396b152676773e0816fe024598d2c196413d0a45 (patch)
tree5047c3976a82bae7e68b9aede6872d2d3c2423af
parent62885ee5b3d0da5190353f3a76911caa14361271 (diff)
downloadaur-396b152676773e0816fe024598d2c196413d0a45.tar.gz
Sysusers, tmpfiles, linx-cleanup, linx-genkey
* Add @vyachkonovalov to contributors * Add migration notice * Add linx-cleanup and linx-genkey * Move config and home dir * Add sysusers and tmpfiles Closes #1
-rw-r--r--.SRCINFO16
-rw-r--r--PKGBUILD50
-rw-r--r--config.ini4
-rw-r--r--linx-cleanup.service12
-rw-r--r--linx-server.install24
-rw-r--r--linx-server.service5
-rw-r--r--linx-server.sysusers1
-rw-r--r--linx-server.tmpfiles6
8 files changed, 81 insertions, 37 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 3d776491b396..1454a34244e0 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = linx-server
pkgdesc = Self-hosted file/code/media sharing website
pkgver = 2.3.5
- pkgrel = 1
+ pkgrel = 2
url = https://github.com/andreimarcu/linx-server
install = linx-server.install
arch = i686
@@ -11,13 +11,19 @@ pkgbase = linx-server
makedepends = go
makedepends = go.rice
options = !strip
- backup = etc/webapps/linx-server/config.ini
+ backup = etc/linx-server/config.ini
source = https://github.com/andreimarcu/linx-server/archive/v2.3.5.tar.gz
- source = linx-server.service
source = config.ini
+ source = linx-server.service
+ source = linx-cleanup.service
+ source = linx-server.tmpfiles
+ source = linx-server.sysusers
sha256sums = fe5d66b4e3c1734dfbd109a59598945593480150e6eaa59fe25b0d3083e15de1
- sha256sums = 96dda375b90c57e137b95442b8d4a24a5b763915eb1b8359e893f53af5db9630
- sha256sums = e7bbd0e1c16447665b5ef8bfa0855760e758921d936e1981e15537dc9e8f3035
+ sha256sums = 261b5cdfa0c3751c8811ee239a9c61952bbdf21d93f318c0a86a2d90075f2e19
+ sha256sums = 97e8205e708afa5891918d1f50dc9d96096a05249bd1661d851110d3a968b3b3
+ sha256sums = fdae9fb4942de21da6a27de235ac6a72089699ad79e3138d0de6dc9aaedd4723
+ sha256sums = 6bd450832b64fac15fe84e1e80f392753de434f6183acc7cc87ecc3a4619867b
+ sha256sums = 42180dcb0badba95c17fa4cf355b649fa7f66401758d6db9a132da791a585b57
pkgname = linx-server
diff --git a/PKGBUILD b/PKGBUILD
index d6302cffa262..de5ab926c20b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,34 +1,54 @@
# Maintainer: Thor77 <thor77 at thor77 dot org>
# Contributor (backup): Thomas Fanninger <thomas at fanninger dot at>
+# Contributor: Vyacheslav Konovalov <vyachkonovalov@protonmail.com>
pkgname=linx-server
pkgver=2.3.5
-pkgrel=1
-pkgdesc='Self-hosted file/code/media sharing website '
+pkgrel=2
+pkgdesc='Self-hosted file/code/media sharing website'
arch=('i686' 'x86_64' 'arm')
url='https://github.com/andreimarcu/linx-server'
license=('GPL3')
install=linx-server.install
options=('!strip')
makedepends=('go' 'go.rice')
-backup=('etc/webapps/linx-server/config.ini')
-
-source=("https://github.com/andreimarcu/linx-server/archive/v${pkgver}.tar.gz" 'linx-server.service' 'config.ini')
+backup=('etc/linx-server/config.ini')
+source=("https://github.com/andreimarcu/linx-server/archive/v${pkgver}.tar.gz"
+ 'config.ini'
+ 'linx-server.service'
+ 'linx-cleanup.service'
+ 'linx-server.tmpfiles'
+ 'linx-server.sysusers')
sha256sums=('fe5d66b4e3c1734dfbd109a59598945593480150e6eaa59fe25b0d3083e15de1'
- '96dda375b90c57e137b95442b8d4a24a5b763915eb1b8359e893f53af5db9630'
- 'e7bbd0e1c16447665b5ef8bfa0855760e758921d936e1981e15537dc9e8f3035')
+ '261b5cdfa0c3751c8811ee239a9c61952bbdf21d93f318c0a86a2d90075f2e19'
+ '97e8205e708afa5891918d1f50dc9d96096a05249bd1661d851110d3a968b3b3'
+ 'fdae9fb4942de21da6a27de235ac6a72089699ad79e3138d0de6dc9aaedd4723'
+ '6bd450832b64fac15fe84e1e80f392753de434f6183acc7cc87ecc3a4619867b'
+ '42180dcb0badba95c17fa4cf355b649fa7f66401758d6db9a132da791a585b57')
build() {
- cd "$pkgname-$pkgver"
+ cd $pkgname-$pkgver
+ go build .
+ rice append --exec linx-server
+
+ cd linx-cleanup
+ go build .
+
+ cd ../linx-genkey
go build .
- rice append --exec $pkgname
}
package() {
- cd "$srcdir"
- install -Dm644 config.ini "$pkgdir/etc/webapps/linx-server/config.ini"
- install -Dm644 linx-server.service "$pkgdir/usr/lib/systemd/system/linx-server.service"
- cd "$pkgname-$pkgver"
- install -d "$pkgdir/usr/share/webapps/linx-server/"
- install -Dm755 linx-server "$pkgdir/usr/bin/linx-server"
+ install -Dm660 config.ini -t "$pkgdir/etc/linx-server"
+ install -Dm644 $pkgname.service -t "$pkgdir/usr/lib/systemd/system"
+ install -Dm644 $pkgname.tmpfiles "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
+ install -Dm644 $pkgname.sysusers "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
+ install -Dm644 linx-cleanup.service -t "$pkgdir/usr/lib/systemd/system"
+
+ cd $pkgname-$pkgver
+ install -Dm644 linx-cleanup/linx-cleanup.timer -t "$pkgdir/usr/lib/systemd/system"
+ install -Dm755 linx-server -t "$pkgdir/usr/bin"
+ install -Dm755 linx-cleanup/linx-cleanup -t "$pkgdir/usr/bin"
+ install -Dm755 linx-genkey/linx-genkey -t "$pkgdir/usr/bin"
+ install -Dm644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
diff --git a/config.ini b/config.ini
index e6f9302aa3ab..d6fbec6db6e4 100644
--- a/config.ini
+++ b/config.ini
@@ -1,2 +1,2 @@
-filespath = /usr/share/webapps/linx-server/files/
-metapath = /usr/share/webapps/linx-server/meta/
+filespath = /var/lib/linx-server/files/
+metapath = /var/lib/linx-server/meta/
diff --git a/linx-cleanup.service b/linx-cleanup.service
new file mode 100644
index 000000000000..3d8003aefb7c
--- /dev/null
+++ b/linx-cleanup.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Self-hosted file/code/media sharing (expired files cleanup)
+After=network.target
+
+[Service]
+User=linx
+Group=linx
+ExecStart=/usr/bin/linx-cleanup
+WorkingDirectory=/var/lib/linx-server
+
+[Install]
+WantedBy=multi-user.target
diff --git a/linx-server.install b/linx-server.install
index 4ff8939096e3..e321100592e7 100644
--- a/linx-server.install
+++ b/linx-server.install
@@ -1,15 +1,11 @@
-pre_install() {
- # create user and group
- /usr/bin/getent group linx &> /dev/null || /usr/bin/groupadd -r linx &> /dev/null
- /usr/bin/getent passwd linx &> /dev/null || /usr/bin/useradd -r -g linx -s /usr/bin/nologin -d /usr/share/webapps/linx-server linx &> /dev/null
-}
-
-post_install() {
- # chown directories
- /usr/bin/chown -R linx:linx /usr/share/webapps/linx-server
-}
-
-post_remove() {
- # remove user and group
- /usr/bin/getent passwd linx &> /dev/null && /usr/bin/userdel linx &> /dev/null
+post_upgrade() {
+ if [ $(vercmp '2.3.5-2' "$2") -eq 1 ]; then
+ echo
+ echo -e '\033[1;32m==> \033[1;31mNOTE:\033[0m The config directory has changed
+ from /etc/webapps/linx-server to /etc/linx-server.
+ The data directory has changed
+ from /usr/share/webapps/linx-server to /var/lib/linx-server.
+ Please move your config and data accourdingly.'
+ echo
+ fi
}
diff --git a/linx-server.service b/linx-server.service
index 51544ee770da..a6f12b6e3f30 100644
--- a/linx-server.service
+++ b/linx-server.service
@@ -5,7 +5,10 @@ After=network.target
[Service]
User=linx
Group=linx
-ExecStart=/usr/bin/linx-server -config /etc/webapps/linx-server/config.ini
+ExecStart=/usr/bin/linx-server -config /etc/linx-server/config.ini -allowMissingConfig
+WorkingDirectory=/var/lib/linx-server
+Restart=always
+RestartSec=2s
[Install]
WantedBy=multi-user.target
diff --git a/linx-server.sysusers b/linx-server.sysusers
new file mode 100644
index 000000000000..1f271fe95ee6
--- /dev/null
+++ b/linx-server.sysusers
@@ -0,0 +1 @@
+u linx - 'linx daemon user' /var/lib/linx-server /usr/bin/nologin
diff --git a/linx-server.tmpfiles b/linx-server.tmpfiles
new file mode 100644
index 000000000000..b0ea0f6590e8
--- /dev/null
+++ b/linx-server.tmpfiles
@@ -0,0 +1,6 @@
+d /var/lib/linx-server 0750
+d /var/lib/linx-server/files 0750
+d /var/lib/linx-server/meta 0750
+Z /var/lib/linx-server - linx linx
+z /etc/linx-server 0755 root linx
+z /etc/linx-server/config.ini 0660 root linx