From 31c9c160045a4136891b5e96c18f49abbcc063a0 Mon Sep 17 00:00:00 2001 From: Britney Fransen 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 +# 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