-# TODO
-# - mono packages can be noarch?
-# - remove non-linux binaries
-%include /usr/lib/rpm/macros.mono
+
+# the names of the tags (used in source filenames) are insane
+%define tag_code canary
+%define tag_date 2018-12-29
+
Summary: Backup client for encrypted online backups
Name: duplicati
-Version: 1.3.4
-Release: 0.1
+Version: 2.0.4.10
+Release: 1
License: LGPL v2+
-Source0: http://duplicati.googlecode.com/files/Duplicati%20%{version}.tgz?/Duplicati-%{version}.tgz
-# Source0-md5: 4980c4f6c373387e4452a983b235f7f3
+Source0: https://github.com/duplicati/duplicati/releases/download/v%{version}-%{version}_%{tag_code}_%{tag_date}/duplicati-%{version}_%{tag_code}_%{tag_date}.zip
+# Source0-md5: 5d5443e04a4a4fe462f24fb2f989ac08
+Source1: duplicati.sh
+Source2: duplicati-cli.sh
+Source3: duplicati-server.sh
+Source4: duplicati.svg
+Source5: duplicati.png
+Source6: duplicati.desktop
+Source7: duplicati.service
Group: Applications
URL: http://www.duplicati.com/
+BuildRequires: rpm-pythonprov
BuildRequires: rpmbuild(macros) >= 1.596
Requires: bash
Requires: desktop-file-utils
Requires: gtk-update-icon-cache
Requires: hicolor-icon-theme
+Requires: libappindicator-gtk2
+Requires: mono-addins-gui
+Requires: sqlite3
+BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _appdir %{_prefix}/lib/%{name}
-
%description
-Duplicati is a free backup client that securely stores encrypted,
-incremental, compressed backups on cloud storage services and remote
-file servers. It supports targets like Amazon S3, Windows Live
-SkyDrive, Rackspace Cloud Files or WebDAV, SSH, FTP (and many more).
-
-Duplicati has built-in AES-256 encryption and backups be can signed
-using GNU Privacy Guard. A built-in scheduler makes sure that backups
-are always up-to-date. Last but not least, Duplicati provides various
-options and tweaks like filters, deletion rules, transfer and
-bandwidth options to run backups for specific purposes.
+Duplicati is a free, open source, backup client that securely stores encrypted,
+incremental, compressed backups on cloud storage services and remote file
+servers. It works with: Amazon S3, OneDrive, Google Drive, Rackspace Cloud
+Files, HubiC, Backblaze (B2), Amazon Cloud Drive (AmzCD), Swift / OpenStack,
+WebDAV, SSH (SFTP), FTP, and more!
%prep
-%setup -q -c
+%setup -qc
-# for files/doc declaration:
-mv usr/share/doc/duplicati/README .
-rm usr/share/doc/duplicati/changelog.Debian.gz
-mv usr/share/doc/duplicati/copyright .
-mv usr/share/doc/duplicati/changelog.gz .
-rmdir usr/share/doc/duplicati usr/share/doc
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_datadir}/%{name},%{_bindir},%{_iconsdir}/hicolor/{48x48,scalable}/apps,%{_desktopdir},%{systemdunitdir}}
-rm -r install
-rm usr/share/pixmaps/duplicati.xpm
+%{__cp} -a * $RPM_BUILD_ROOT%{_datadir}/%{name}
-gzip -d changelog.gz
+install %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/duplicati
+install %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/duplicati-cli
+install %{SOURCE3} $RPM_BUILD_ROOT%{_bindir}/duplicati-server
-%install
-rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT
-cp -a usr $RPM_BUILD_ROOT
+install -m644 %{SOURCE4} $RPM_BUILD_ROOT%{_iconsdir}/hicolor/scalable/apps
+install -m644 %{SOURCE5} $RPM_BUILD_ROOT%{_iconsdir}/hicolor/48x48/apps
+install -m644 %{SOURCE6} $RPM_BUILD_ROOT%{_desktopdir}
-# refined desktop file
-install -d $RPM_BUILD_ROOT%{_desktopdir}
-cat <<EOF > $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop
-[Desktop Entry]
-Categories=System;Archiving;FileTools;Filesystem;
-Type=Application
-Name=Duplicati
-GenericName= Backup tool
-GenericName[es]= Copias de respaldo
-Comment= Create and maintain local and remote backup copies of your data
-Comment[es]= Cree y mantenga copias de seguridad locales y remotas
-Exec=duplicati
-Icon=duplicati
-Terminal=false
-StartupNotify=true
-EOF
+#install -m644 %{SOURCE7} $RPM_BUILD_ROOT%{systemdunitdir}
-desktop-file-install $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop
+%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/%{name}/OSX*
+%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/%{name}/win-tools
+%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/%{name}/run-script-example.*
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc README copyright changelog
+%doc *.txt run-script-example.sh
%attr(755,root,root) %{_bindir}/duplicati
-%attr(755,root,root) %{_bindir}/duplicati-commandline
+%attr(755,root,root) %{_bindir}/duplicati-cli
+%attr(755,root,root) %{_bindir}/duplicati-server
%{_desktopdir}/duplicati.desktop
-%{_pixmapsdir}/duplicati.png
-%dir %{_appdir}
-%{_appdir}/*.txt
-%{_appdir}/*.dll
-%{_appdir}/*.exe
-%{_appdir}/*.exe.config
-%{_appdir}/*.xml
-%{_appdir}/SQLite
-%{_appdir}/Tools
-%{_appdir}/alphavss
-%{_appdir}/licenses
-%dir %{_appdir}/lvm-scripts
-%attr(755,root,root) %{_appdir}/lvm-scripts/*.sh
-
-%lang(de) %{_appdir}/de-DE
-%lang(es) %{_appdir}/es-ES
-%lang(fr) %{_appdir}/fr-FR
-%lang(it) %{_appdir}/it-IT
-%lang(pt_BR) %{_appdir}/pt-BR
-%lang(ru) %{_appdir}/ru-RU
-%lang(tr_TR) %{_appdir}/tr-TR
-%lang(zh_CN) %{_appdir}/zh-CN
-%lang(zh_HK) %{_appdir}/zh-HK
-%lang(da_DK) %{_appdir}/da-DK
+%{_iconsdir}/hicolor/48x48/apps/duplicati.png
+%{_iconsdir}/hicolor/scalable/apps/duplicati.svg
+%dir %{_datadir}/%{name}
+%{_datadir}/%{name}/*.dll
+%{_datadir}/%{name}/*.dll.config
+%{_datadir}/%{name}/*.exe
+%{_datadir}/%{name}/*.exe.config
+%{_datadir}/%{name}/*.txt
+%{_datadir}/%{name}/autoupdate.manifest
+%{_datadir}/%{name}/SQLite
+%{_datadir}/%{name}/SVGIcons
+%{_datadir}/%{name}/alphavss
+%{_datadir}/%{name}/licenses
+%{_datadir}/%{name}/utility-scripts
+%{_datadir}/%{name}/webroot
+%dir %{_datadir}/%{name}/lvm-scripts
+%attr(755,root,root) %{_datadir}/%{name}/lvm-scripts/*.sh