FreeFileSync/FreeFileSync.spec

129 lines
4.1 KiB
RPMSpec
Raw Normal View History

#
# spec file for package FreeFileSync
#
# Copyright (c) 2023 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/
#
%if 0%{?suse_version} && 0%{?suse_version} < 1590
%global force_gcc_version 12
%endif
Name: FreeFileSync
Version: 13.1
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: https://freefilesync.org/download/FreeFileSync_%{version}_Source.zip
Source1: %{name}.desktop
Source2: %{name}.png
Source3: RealTimeSync.desktop
Source4: RealTimeSync.png
Source5: Animal.dat
Patch0: FreeFileSync-build.patch
Patch1: FreeFileSync-resources.patch
Patch2: FreeFileSync-icon-loader.patch
Patch3: FreeFileSync-disable-in-app-updates.patch
Patch4: FreeFileSync-remove_ifdef_exceptions.patch
BuildRequires: boost-devel >= 1.54
BuildRequires: gcc%{?force_gcc_version}-c++ >= 12
BuildRequires: libcurl-devel
BuildRequires: libopenssl-devel
BuildRequires: libssh2-devel
Accepting request 839423 from home:seil0:branches:network - Update to 11.2 - Improved grid layout with file icons hidden - Improved rendering of inactive and disabled grid items - Remember last user-selected paths for file and folder pickers - Fixed folder name hidden in "item name" view type - Fixed determination of unsupported trash folder (Linux) - Fixed copying broken symlinks (macOS) - Fixed default action when pressing Enter in popup dialogs - Fixed default popup dialog size (macOS) - Use localized start of week for %WeekDay% (Linux, macOS) - Swap sides using CTRL+W instead of F10 - Show confirmation dialog before swapping sides - Update to 11.1 - New file group layout on main grid (reloaded) - Alternate colors for main grid folder groups - Added file group context menu - Quick selection of items in folder group - Fixed FTP access errors with Explicit SSL/TLS - Fixed Google Drive error when double quotes in file name - Fixed RTL layout bug with number input control - Fixed grid column default sizes - Fixed grid rendering performance during mouse scrolling - Update all config files transactionally - Respect user-preferred number/time format (Linux) - Fixed floating panels not being resizable (Linux) - Instantly open selection context menu on right mouse button down - Further improved high DPI support - Updated deprecated system API calls (requires macOS 10.10 or later) - Fixed crash when accessing Nexis storage (macOS) - Avoid buffer flush when aborting native file output - Clear preview after folder history selection - Pre-allocate target file without setting size - Unified system error message formatting OBS-URL: https://build.opensuse.org/request/show/839423 OBS-URL: https://build.opensuse.org/package/show/network/FreeFileSync?expand=0&rev=37
2020-10-04 15:56:49 +02:00
BuildRequires: libstdc++6 >= 10.0.0
BuildRequires: libstdc++6 >= 12
BuildRequires: unzip
BuildRequires: update-desktop-files
BuildRequires: wxGTK3-3_2-devel >= 3.1.6
BuildRequires: zlib-devel
%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
%if 0%{?force_gcc_version}
export CXX="g++-%{?force_gcc_version}"
%endif
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 19:26:29 +02:00
%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}
install -Dm 0644 %SOURCE5 %{buildroot}%{_datadir}/%{name}
find "%{buildroot}%{_datadir}/%{name}" -type f -print0 | xargs -0 chmod 644
# RealTimeSync
mkdir -p %{buildroot}%{_bindir}
install -t %{buildroot}%{_bindir} Bin/RealTimeSync
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