diff --git a/.gitignore b/.gitignore index d3681b1..bb58336 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,6 @@ -**/*.pkg.tar.xz -**/*.zip \ No newline at end of file +*.zip +*.tar.xz +*.src.tar.gz +*.deb +src/ +pkg/ diff --git a/duplicati-latest/PKGBUILD b/duplicati-latest/PKGBUILD new file mode 100644 index 0000000..3fe6b1f --- /dev/null +++ b/duplicati-latest/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: Joey Dumont +# Maintainer: Bjorn Neergaard +# Contributor: Danny Su + +pkgname=duplicati-latest +pkgver=2.0.4.11 +pkgrel=1 +pkgdesc='A free backup client that securely stores encrypted, incremental, compressed backups on cloud storage services and remote file servers' +url='http://duplicati.com' +license=('LGPL') +install=duplicati.install +source=(https://github.com/duplicati/duplicati/releases/download/v2.0.4.11-2.0.4.11_canary_2019-01-16/duplicati-2.0.4.11_canary_2019-01-16.zip + duplicati-user.service + duplicati.service + duplicati.sysusers + duplicati-cli) +sha256sums=('5c81aa4264094d8547b2c3c4d3f2af6afbaa27e7e695bfdf5b23642429718625' + '2eb973cef79731d407bfbc83f754cef588c62ec83dae2112ac93f9c9f0baa403' + '499eb63532bcad50b897c0874b723eebc6693816fcb9626532f367b5ff51da70' + 'b9389b399467f3e02aa8e76bb98f6efbca1166fbc4d0bdf939493f8403462959' + 'f6f903ca443935314afeab4cd2e46cf4bef7c5fb1e81c2d95f670f0993774ce5') +arch=('i686' 'x86_64') +depends=('gtk-sharp-2' 'mono') + +package() { + # Install the service. + install -Dm644 duplicati.service "${pkgdir}/usr/lib/systemd/system/duplicati.service" + install -Dm644 duplicati-user.service "${pkgdir}/usr/lib/systemd/user/duplicati.service" + install -Dm644 "$srcdir/duplicati.sysusers" "$pkgdir/usr/lib/sysusers.d/duplicati.conf" + rm duplicati.service duplicati-user.service + + # Install the program. + rm *.zip + mkdir -p "${pkgdir}/opt/duplicati-latest" + cp -r . "${pkgdir}/opt/duplicati-latest" + + mkdir -p "${pkgdir}/usr/bin" + install -D -m755 duplicati-cli "${pkgdir}/usr/bin" +} diff --git a/duplicati-latest/duplicati-cli b/duplicati-latest/duplicati-cli new file mode 100644 index 0000000..f14019e --- /dev/null +++ b/duplicati-latest/duplicati-cli @@ -0,0 +1,9 @@ +#!/bin/bash +INSTALLDIR=/opt/duplicati-latest/ +export LD_LIBRARY_PATH="${INSTALLDIR}${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" +export MONO_PATH=$MONO_PATH:${INSTALLDIR} + +EXE_FILE=${INSTALLDIR}/Duplicati.CommandLine.exe +APP_NAME=Duplicati.CommandLine + +exec -a "$APP_NAME" mono "$EXE_FILE" "$@" \ No newline at end of file diff --git a/duplicati-latest/duplicati-user.service b/duplicati-latest/duplicati-user.service new file mode 100644 index 0000000..f950411 --- /dev/null +++ b/duplicati-latest/duplicati-user.service @@ -0,0 +1,12 @@ +[Unit] +Description=Duplicati + +[Service] +ExecStartPre=/usr/bin/sleep 5 +ExecStart=/usr/bin/mono /opt/duplicati-latest/Duplicati.GUI.TrayIcon.exe --webservice-port=8200 +Restart=on-abort +Environment=AUTOUPDATER_Duplicati_SKIP_UPDATE=1 + +[Install] +WantedBy=default.target + diff --git a/duplicati-latest/duplicati.install b/duplicati-latest/duplicati.install new file mode 100644 index 0000000..ce4223a --- /dev/null +++ b/duplicati-latest/duplicati.install @@ -0,0 +1,32 @@ +post_install() { + post_upgrade +} + +post_upgrade() { + systemd-sysusers duplicati.conf + mkdir -p /var/lib/duplicati + chown -R duplicati:duplicati /var/lib/duplicati + +if [ $(vercmp $2 2.0.2.10-1) -lt 0 ]; then +cat << EOF + * In versions prior to 2.0.2.10-1, the system version of duplicati.service + * started Duplicati.Server.exe as root. It now runs as user duplicati. + * Please move your old duplicati database from + * /root/.config/Duplicati + * to + * /var/lib/duplicati/.config/Duplicati + * To run Duplicati.Server.exe as root, simply use systemd's "drop-in" feature + * and specify + * User=root + * Group=root +EOF +fi + +cat << EOF + * UI can be accessed via following URL: http://localhost:8200 + * Running duplicati user instance (using current user account) + - to reload user systemd modules: systemctl --user daemon-reload + - to start duplicati manually: systemctl --user start duplicati + - to autostart duplicati on user login: systemctl --user enable duplicati +EOF +} diff --git a/duplicati-latest/duplicati.service b/duplicati-latest/duplicati.service new file mode 100644 index 0000000..6e15900 --- /dev/null +++ b/duplicati-latest/duplicati.service @@ -0,0 +1,13 @@ +[Unit] +Description=Duplicati +After=network.target + +[Service] +ExecStart=/usr/bin/mono /opt/duplicati-latest/Duplicati.Server.exe --webservice-port=8200 +Restart=on-abort +Environment=AUTOUPDATER_Duplicati_SKIP_UPDATE=1 +User=duplicati +Group=duplicati + +[Install] +WantedBy=default.target \ No newline at end of file diff --git a/duplicati-latest/duplicati.sysusers b/duplicati-latest/duplicati.sysusers new file mode 100644 index 0000000..255522f --- /dev/null +++ b/duplicati-latest/duplicati.sysusers @@ -0,0 +1 @@ +u duplicati - "Duplicati daemon" /var/lib/duplicati \ No newline at end of file