summaryrefslogtreecommitdiffstats
path: root/abs/extra/rslsync
diff options
context:
space:
mode:
Diffstat (limited to 'abs/extra/rslsync')
-rw-r--r--abs/extra/rslsync/PKGBUILD60
-rw-r--r--abs/extra/rslsync/rslsync.install53
-rw-r--r--abs/extra/rslsync/rslsync.service13
-rw-r--r--abs/extra/rslsync/rslsync.sysusers1
-rw-r--r--abs/extra/rslsync/rslsync.tmpfiles5
-rw-r--r--abs/extra/rslsync/rslsync_user.service11
6 files changed, 143 insertions, 0 deletions
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