FreeFileSync/FreeFileSync.spec
Eric Schirra b5b14245f0 Accepting request 518962 from home:ecsos:Backup
- update to 0.9.3
  - Support multiple connections per FTP folder traversal
  - 35% faster folder traversal for FTP servers supporting MLSD
  - Use single CWD when changing FTP working directory
  - Fixed EOPNOTSUPP error on gvfs-mounted FTP (Linux)
  - Maximize FTP I/O speed using prefetch/output buffers
  - Prevent input focus stealing after manual comparison
  - Use larger socket buffer for FTP upload speed increase
  - Fixed out of memory error when copying large files via FTP
  - New popup dialog option to ignore all errors
  - Reduced memory peaks by enforcing streaming buffer size limits
  - Removed custom sync directions from config XML if not needed
  - Flash task bar after comparison if other app has input focus

OBS-URL: https://build.opensuse.org/request/show/518962
OBS-URL: https://build.opensuse.org/package/show/network/FreeFileSync?expand=0&rev=24
2017-08-27 10:22:48 +00:00

145 lines
4.5 KiB
RPMSpec

#
# spec file for package FreeFileSync
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# 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 http://bugs.opensuse.org/
#
Name: FreeFileSync
Summary: Free backup software to synchronize files and folders
Version: 9.3
Release: 1
License: GPL-3.0+
Group: Productivity/Networking/System
Url: http://www.freefilesync.org/
Source0: http://sourceforge.net/projects/freefilesync/files/%{name}/%{version}/%{name}_%{version}_Source.zip
Source1: %{name}.desktop
Source2: %{name}.png
Source3: RealTimeSync.desktop
Source4: RealTimeSync.png
Patch0: freefilesync-build.patch
# Patch created thanks to doubledodge https://www.freefilesync.org/forum/viewtopic.php?t=4288
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: unzip
BuildRequires: boost-devel >= 1.54
BuildRequires: wxWidgets-3_0-devel
BuildRequires: update-desktop-files
%if 0%{?suse_version} <= 1320
# FreeFileSync requires C++14 support.
BuildRequires: gcc5-c++
%else
BuildRequires: gcc6-c++
%endif
%description
FreeFileSync is a free Open Source software that helps you synchronize files
and synchronize folders for Windows, Linux and Mac OS X. It is designed to save
your time setting up and running backup jobs while having nice visual feedback along the way.
%package -n RealtimeSync
Summary: Free backup software to synchronize files and folders
Group: Productivity/Networking/System
Requires: %{name} = %{version}-{%release}
%description -n RealtimeSync
The primary purpose of RealtimeSync is to execute a command line each time it detects changes
in one of the monitored directories or when a directory becomes available (e. g. insert of a USB-stick).
Usually this command line will trigger a FreeFileSync batch job.
%prep
%setup -T -b 0 -c %{name}-%{version}
%patch0 -p1
sed -i 's/\r$//' License.txt
chmod -x License.txt
%build
#
%if 0%{?suse_version} <= 1320
export CC="gcc-5"
export CXX="g++-5"
# Default ABI through G++4.9, thus the one wxWidgets uses.
export CXXFLAGS="%{optflags} -fabi-version=2 -fabi-compat-version=2"
%else
export CC="gcc-6"
export CXX="g++-6"
%endif
#
pushd %{name}/Source
%if 0%{?suse_version} <= 1320
sed -i -e 's:g++:g++-5:g' Makefile
sed -i -e 's:CXXFLAGS =:CXXFLAGS +=:g' Makefile
%else
sed -i -e 's:g++:g++-6:g' Makefile
%endif
#export CXXFLAGS="-include 'zen/warn_static.h'"
make %{?_smp_mflags} BUILD=FreeFileSync
popd
pushd %{name}/Source/RealTimeSync
%if 0%{?suse_version} <= 1320
sed -i -e 's:g++:g++-5:g' Makefile
sed -i -e 's:CXXFLAGS =:CXXFLAGS +=:g' Makefile
%else
sed -i -e 's:g++:g++-6:g' Makefile
%endif
make %{?_smp_mflags} BUILD=RealTimeSync
popd
%install
pushd %{name}/Source
%make_install
popd
pushd %{name}/Source/RealTimeSync
%make_install
popd
# del unneeded changelog.gz
rm -r ${RPM_BUILD_ROOT}%{_datadir}/doc/%{name}
chmod -x ${RPM_BUILD_ROOT}%{_datadir}/%{name}/Languages/*.lng
sed -i 's/\r$//' ${RPM_BUILD_ROOT}%{_datadir}/%{name}/Languages/*.lng
chmod -x ${RPM_BUILD_ROOT}%{_datadir}/%{name}/Help/html/*.html
chmod -x ${RPM_BUILD_ROOT}%{_datadir}/%{name}/Help/html/*.css
chmod -x ${RPM_BUILD_ROOT}%{_datadir}/%{name}/Help/FreeFileSync.hh*
chmod -x ${RPM_BUILD_ROOT}%{_datadir}/%{name}/Resources.zip
# desktop
mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/pixmaps
install -p %{SOURCE2} ${RPM_BUILD_ROOT}%{_datadir}/pixmaps/
install -p %{SOURCE4} ${RPM_BUILD_ROOT}%{_datadir}/pixmaps/
%suse_update_desktop_file -i %name
%suse_update_desktop_file -i RealTimeSync
%post
%desktop_database_post
%postun
%desktop_database_postun
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%doc License.txt
%{_bindir}/%{name}
%{_datadir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_datadir}/pixmaps/%{name}.png
%files -n RealtimeSync
%defattr(-,root,root,-)
%doc License.txt
%{_bindir}/RealTimeSync
%{_datadir}/applications/RealTimeSync.desktop
%{_datadir}/pixmaps/RealTimeSync.png
%changelog