From 31c9c160045a4136891b5e96c18f49abbcc063a0 Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Sat, 30 May 2020 05:09:28 +0000
Subject: rslsync: initial inclusion

---
 abs/extra/rslsync/PKGBUILD             | 60 ++++++++++++++++++++++++++++++++++
 abs/extra/rslsync/rslsync.install      | 53 ++++++++++++++++++++++++++++++
 abs/extra/rslsync/rslsync.service      | 13 ++++++++
 abs/extra/rslsync/rslsync.sysusers     |  1 +
 abs/extra/rslsync/rslsync.tmpfiles     |  5 +++
 abs/extra/rslsync/rslsync_user.service | 11 +++++++
 6 files changed, 143 insertions(+)
 create mode 100644 abs/extra/rslsync/PKGBUILD
 create mode 100644 abs/extra/rslsync/rslsync.install
 create mode 100644 abs/extra/rslsync/rslsync.service
 create mode 100644 abs/extra/rslsync/rslsync.sysusers
 create mode 100644 abs/extra/rslsync/rslsync.tmpfiles
 create mode 100644 abs/extra/rslsync/rslsync_user.service

diff --git a/abs/extra/rslsync/PKGBUILD b/abs/extra/rslsync/PKGBUILD
new file mode 100644
index 0000000..4412d31
--- /dev/null
+++ b/abs/extra/rslsync/PKGBUILD
@@ -0,0 +1,60 @@
+# Contributor: Dalton Miller
+# Contributor: Kilian Lackhove kilian@lackhove.de
+# Contributor: Justin Patera serialhex@gmail.com
+# Contributor: ava1ar <mail(at)ava1ar(dot)me>
+# Maintainer: widowild
+
+pkgname=rslsync
+pkgver=2.7.0
+pkgrel=1
+pkgdesc="Resilio Sync (ex:BitTorrent Sync) - automatically sync files via secure, distributed technology"
+license=("custom:resilio")
+arch=('i686' 'x86_64' 'arm' 'armv6h' 'armv7h' 'aarch64')
+url="https://www.getsync.com"
+install=rslsync.install
+backup=('etc/rslsync.conf')
+conflicts=()
+source=('rslsync.service'
+        'rslsync_user.service'
+        'rslsync.tmpfiles'
+        'rslsync.sysusers')
+source_arm=("rslsync_arm-${pkgver}-${pkgrel}.tar.gz::https://download-cdn.resilio.com/stable/linux-arm/resilio-sync_arm.tar.gz")
+source_armv6h=("rslsync_arm-${pkgver}-${pkgrel}.tar.gz::https://download-cdn.resilio.com/stable/linux-arm/resilio-sync_arm.tar.gz")
+source_armv7h=("rslsync_armhf-${pkgver}-${pkgrel}.tar.gz::https://download-cdn.resilio.com/stable/linux-armhf/resilio-sync_armhf.tar.gz")
+source_aarch64=("rslsync_arm64-${pkgver}-${pkgrel}.tar.gz::https://download-cdn.resilio.com/stable/linux-arm64/resilio-sync_arm64.tar.gz")
+source_i686=("rslsync_i386-${pkgver}-${pkgrel}.tar.gz::https://download-cdn.resilio.com/stable/linux-i386/resilio-sync_i386.tar.gz")
+source_x86_64=("rslsync_x64-${pkgver}-${pkgrel}.tar.gz::https://download-cdn.resilio.com/stable/linux-x64/resilio-sync_x64.tar.gz")
+sha256sums=('4483cbe3fff81281666d8fbe8c9b8d7d27c38ba7a3d3752a865f1ab8c1f212db'
+            'ba4b0ee3303027122e67345d4bf852f911a56f213f98c9eaa198c69d903fd8a1'
+            '58ba5cef05bcfde72c5841eaeffaa4d31c39e26902b5fefb2e17eb9b629416cf'
+            '3c69179987c2e0f54b2f3478ab421c65515f5b5b9bad2b6e055ec04aea0f5c6d')
+sha256sums_i686=('8fce5f59ad0b083a413e5a16cc6e0200c966d12a39e0721964923ce1221d7e7b')
+sha256sums_x86_64=('ce1415403e089350bf6966af08d5822defd3e6d4a1cb902abc28d6f7fc247c9f')
+sha256sums_arm=('bf1242a271c9ad23b0a34f247860981c8de8686ebd1300c1073513a4bfdf5188')
+sha256sums_armv6h=('bf1242a271c9ad23b0a34f247860981c8de8686ebd1300c1073513a4bfdf5188')
+sha256sums_armv7h=('d4123febd2e463b64fbe4ac42151f2c4cab1a7d549ade8fe994a38b593c8c23b')
+sha256sums_aarch64=('c4780cbbcd77a5d9cb023050e29a82216c0cebc37564349bff7edc0eccdba533')
+
+
+package() {
+  # install main binary
+  install -D -m 755 "${srcdir}"/rslsync "${pkgdir}"/usr/bin/rslsync
+  
+  # generate and install system-wide config
+  mkdir -p "${pkgdir}"/etc
+  ./rslsync --dump-sample-config \
+  | sed 's:/home/user/\.sync:/var/lib/rslsync:' \
+  | sed 's:\/\/ "pid_file":  "pid_file":' \
+  | sed 's:\/\/ "storage_path":  "storage_path":' \
+  | sed 's/\/var\/run\/resilio/\/run\/resilio/g' \
+  > "${pkgdir}"/etc/rslsync.conf
+
+  # install systemd config files
+  install -D -m 644 "${srcdir}"/rslsync.service "${pkgdir}"/usr/lib/systemd/system/rslsync.service
+  install -D -m 644 "${srcdir}"/rslsync.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/rslsync.conf
+  install -D -m 644 "${srcdir}"/rslsync_user.service "${pkgdir}"/usr/lib/systemd/user/rslsync.service
+  install -D -m 644 "${srcdir}/rslsync.sysusers" "${pkgdir}/usr/lib/sysusers.d/rslsync.conf"
+
+  # install license
+  install -D -m 644 "${srcdir}"/LICENSE.TXT "${pkgdir}"/usr/share/licenses/${pkgname}/license.txt
+}
diff --git a/abs/extra/rslsync/rslsync.install b/abs/extra/rslsync/rslsync.install
new file mode 100644
index 0000000..a64f8ce
--- /dev/null
+++ b/abs/extra/rslsync/rslsync.install
@@ -0,0 +1,53 @@
+post_install() {
+  post_upgrade
+}
+
+post_upgrade() {
+cat << EOF
+  WebGUI can be accessed via following URL: http://localhost:8888
+  
+  * Running rslsync system instance (using dedicated rslsync:rslsync account)
+
+      System instance of rslsync is preconfigured (configuration file located
+    at /etc/rslsync.conf) and can be used directly after installation.
+
+    Execute:
+
+      to reload system systemd modules:     systemctl daemon-reload
+      to start rslsync manually:             systemctl start rslsync
+      to autostart rslsync on system start:  systemctl enable rslsync
+
+  * Running rslsync user instance (using current user account)
+
+    User instance MUST be configured before use. To perform configuration, 
+    install rslsync-autoconfig package or follow manual configuration steps:
+
+        1. Copy /etc/rslsync/rslsync.conf to ~/.config/rslsync/rslsync.conf for
+      the user you wish to configure rslsync:
+  
+        mkdir -p ~/.config/rslsync  
+        cp /etc/rslsync.conf ~/.config/rslsync/rslsync.conf
+ 
+      2. Replace user-specific references with the appropriate information,
+      including the following settings:
+ 
+        - storage_path
+        - pid_file
+        - webui.listen
+        - webui.login
+        - webui.password
+
+      3. Make sure folder you specified as storage_path and folder where pid_file will
+      be located both exist in the filesystem, since rslsync will not create it for you.
+
+    Execute:
+
+      to reload user systemd modules:       systemctl --user daemon-reload
+      to start rslsync manually:             systemctl --user start rslsync
+      to autostart rslsync on user login:    systemctl --user enable rslsync
+EOF
+}
+
+post_remove() {
+  echo -e "Please remove /var/lib/rslsync folder manually"
+}
diff --git a/abs/extra/rslsync/rslsync.service b/abs/extra/rslsync/rslsync.service
new file mode 100644
index 0000000..8d918ee
--- /dev/null
+++ b/abs/extra/rslsync/rslsync.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Resilio Sync service
+After=network.target
+ 
+[Service]
+Type=simple
+User=rslsync
+Group=rslsync
+ExecStart=/usr/bin/rslsync --nodaemon --config /etc/rslsync.conf
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/abs/extra/rslsync/rslsync.sysusers b/abs/extra/rslsync/rslsync.sysusers
new file mode 100644
index 0000000..56b7b07
--- /dev/null
+++ b/abs/extra/rslsync/rslsync.sysusers
@@ -0,0 +1 @@
+u rslsync - "rslsync daemon" /var/lib/rslsync
diff --git a/abs/extra/rslsync/rslsync.tmpfiles b/abs/extra/rslsync/rslsync.tmpfiles
new file mode 100644
index 0000000..5eee572
--- /dev/null
+++ b/abs/extra/rslsync/rslsync.tmpfiles
@@ -0,0 +1,5 @@
+# Override this file with a modified version in /etc/tmpfiles.d/
+D /run/resilio 0755 rslsync rslsync -
+d /var/lib/rslsync 0755 rslsync rslsync
+Z /var/lib/rslsync - rslsync rslsync
+z /etc/rslsync.conf 0600 rslsync rslsync
diff --git a/abs/extra/rslsync/rslsync_user.service b/abs/extra/rslsync/rslsync_user.service
new file mode 100644
index 0000000..e5809b7
--- /dev/null
+++ b/abs/extra/rslsync/rslsync_user.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Resilio Sync per-user service
+After=network.target
+ 
+[Service]
+Type=simple
+ExecStart=/usr/bin/rslsync --nodaemon --config %h/.config/rslsync/rslsync.conf
+Restart=on-abort
+
+[Install]
+WantedBy=default.target
-- 
cgit v0.12

