FreeFileSync/FreeFileSync.spec
Jannik Seiler 1a3ed4ed50 Accepting request 982156 from home:seil0:branches:network
- Update to 11.19
  - Improved performance for huge exclusion filter lists: linear to constant(!) time
  - Support sync with Google Drive starred folders
  -   - Access "My Computers" (as created by Google Backup and Sync) if starred
  - Western Digital Mycloud NAS: fixed ERROR_ALREADY_EXISTS when changing case
  - Added per-file progress for "copy to" function
  - Have filter wildcard ? not match path separator
  - Work around WBEM_E_INVALID_NAMESPACE error during installation
  - Fixed login user incorrectly displayed as root (macOS)
  - Save Google Drive buffer before system shutdown
- Changes from 11.18
  - Add comparison time to sync log when using GUI
  - Added user-configurable timeout for Google Drive
  - Consider port when comparing (S)FTP paths for equality
  - Fixed SFTP key file login error on OpenSSH_8.8p1
  - Add error details for NSFileReadUnknownError (macOS)
  - Disable new config button when already at default
  - Use user language instead of region locale during installation
- Changes from 11.17
  - Show per-file progress in percent when copying large files
  - Log app initialization errors
  - Fixed uncaught exception after installation
  - Defer testing for third-party buggy DLLs until after crashing
  - Consider ReFS 128-bit file ID failure states (Windows)
  - Refer to volume by name: support names including brackets
  - Support local installation with non-standard home (Linux)
- Add FreeFileSync-build-with-gcc12.patch to fix build with gcc12
- Add FreeFileSync-build-with-wx3.1.5.patch to fix build with wxWidgets 3.1.5
- Update FreeFileSync-build.patch for version 11.19

OBS-URL: https://build.opensuse.org/request/show/982156
OBS-URL: https://build.opensuse.org/package/show/network/FreeFileSync?expand=0&rev=54
2022-06-11 17:26:29 +00:00

128 lines
4.0 KiB
RPMSpec

#
# spec file for package FreeFileSync
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: FreeFileSync
Version: 11.19
Release: 0
Summary: Backup software to synchronize files and folders
License: GPL-3.0-or-later
Group: Productivity/Networking/System
URL: https://www.freefilesync.org/
Source0: %{name}_%{version}_Source.zip
Source1: %{name}.desktop
Source2: %{name}.png
Source3: RealTimeSync.desktop
Source4: RealTimeSync.png
Patch0: FreeFileSync-build.patch
Patch1: FreeFileSync-resources.patch
Patch2: FreeFileSync-icon-loader.patch
Patch3: FreeFileSync-disable-in-app-updates.patch
Patch4: FreeFileSync-openssl-1.1.1.patch
# can be droped once wx 3.1.6 is available
Patch5: FreeFileSync-build-with-wx3.1.5.patch
# can be droped with 11.21
Patch6: FreeFileSync-build-with-gcc12.patch
BuildRequires: boost-devel >= 1.54
BuildRequires: gcc-c++
BuildRequires: libcurl-devel
BuildRequires: libopenssl-devel
BuildRequires: libssh2-devel
BuildRequires: libstdc++6 >= 10.0.0
BuildRequires: unzip
BuildRequires: update-desktop-files
BuildRequires: wxGTK3-3_2-devel >= 3.1.4
%description
FreeFileSync is a software that helps synchronizing files
and folders. It runs backup jobs while having visual
feedback along the way.
%package -n RealtimeSync
Summary: Backup software to synchronize files and folders
Group: Productivity/Networking/System
Requires: %{name} = %{version}-%{release}
%description -n RealtimeSync
RealtimeSync executes a command each time it detects changes
in one of the monitored directories, or when a directory becomes
available (e.g. insertion of a USB drive).
This command will usually trigger a FreeFileSync batch job.
%prep
%autosetup -p1 -c %{name}-%{version}
sed -i 's/\r$//' License.txt
mkdir FreeFileSync/Build/Bin
%build
export TMPDIR=/tmp # necessary since 11.0
export CXXFLAGS="%{optflags} -fabi-version=2 -fabi-compat-version=2"
export CC="gcc"
export CXX="g++"
%make_build -C %{name}/Source exeName=FreeFileSync
%make_build -C %{name}/Source/RealTimeSync exeName=RealTimeSync
%install
# FreeFileSync
pushd %{name}/Build
mkdir -p %{buildroot}%{_bindir}
install -t %{buildroot}%{_bindir} Bin/%{name}
mkdir -p %{buildroot}%{_datadir}/%{name}
cp -rT Resources %{buildroot}%{_datadir}/%{name}
find "%{buildroot}%{_datadir}/%{name}" -type f -print0 | xargs -0 chmod 644
#%%make_install
# RealTimeSync
mkdir -p %{buildroot}%{_bindir}
install -t %{buildroot}%{_bindir} Bin/RealTimeSync
#%%make_install
popd
# desktop
mkdir -p %{buildroot}%{_datadir}/pixmaps
install -p %{SOURCE2} %{buildroot}%{_datadir}/pixmaps/
install -p %{SOURCE4} %{buildroot}%{_datadir}/pixmaps/
%suse_update_desktop_file -i %{name}
%suse_update_desktop_file -i RealTimeSync
%filetriggerin -- %{_datadir}/applications
%{_bindir}/update-desktop-database --quiet %{_datadir}/applications || true
%filetriggerpostun -- %{_datadir}/applications
%{_bindir}/update-desktop-database --quiet %{_datadir}/applications || true
%files
%license License.txt
%doc Changelog.txt
%{_bindir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_datadir}/pixmaps/%{name}.png
%{_datadir}/%{name}/*
%dir %{_datadir}/%{name}
%files -n RealtimeSync
%license License.txt
%doc Changelog.txt
%{_bindir}/RealTimeSync
%{_datadir}/applications/RealTimeSync.desktop
%{_datadir}/pixmaps/RealTimeSync.png
%changelog