forked from pool/FreeFileSync
Accepting request 824675 from home:seil0:branches:network
- Update to 11.0 - Revised file layout on main grid - Skip download/upload when copying Google Drive files inside account - Support moving Google Drive files between shared drives and My Drive - Support copying Google Drive shortcuts between accounts - Support copying Google Docs, Sheets, Slides, etc. within account - Fixed parsing uninitialized Google Drive modification time - Fixed Google Drive file already existing check running too late - Ignore slash/backslash differences during manual search - Avoid creating orphan database entry if one DB file fails to load - Limit modification time error count for log file warning message - Support copying WSL symlinks - Avoid duplicate MTP/Google Drive item creation from multiple threads - Fixed TMPDIR not found during startup (macOS) - Added sync variant icons - Avoid redundant icon format conversions - Buffer high-DPI image scaling results - Improved MTP thumbnail scaling performance - Avoid race condition during parallel file icon rendering (Linux) - Allow creating folder name with leading/trailing spaces - Start supporting GTK3 (Linux) OBS-URL: https://build.opensuse.org/request/show/824675 OBS-URL: https://build.opensuse.org/package/show/network/FreeFileSync?expand=0&rev=34
This commit is contained in:
parent
8056a9eeea
commit
acf7cca251
79
FreeFileSync-Build.patch
Normal file
79
FreeFileSync-Build.patch
Normal file
@ -0,0 +1,79 @@
|
||||
diff -ruN FreeFileSync_11.0_Source_orig/FreeFileSync/Source/Makefile FreeFileSync_11.0_Source/FreeFileSync/Source/Makefile
|
||||
--- FreeFileSync_11.0_Source_orig/FreeFileSync/Source/Makefile 2020-07-22 13:22:18.000000000 +0200
|
||||
+++ FreeFileSync_11.0_Source/FreeFileSync/Source/Makefile 2020-08-05 12:22:18.001794429 +0200
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
cxxFlags = -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../.. -I../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \
|
||||
-Wall -Wfatal-errors -Wmissing-include-dirs -Wswitch-enum -Wcast-align -Wshadow -Wnon-virtual-dtor \
|
||||
- -O3 -DNDEBUG `wx-config --cxxflags --debug=no` -pthread
|
||||
+ -O3 -DNDEBUG `wx-config --cxxflags --debug=no` -pthread -fpie
|
||||
|
||||
-linkFlags = -s -no-pie `wx-config --libs std, aui --debug=no` -pthread
|
||||
+linkFlags = -s `wx-config --libs std, aui --debug=no` -pthread -lz -pie
|
||||
|
||||
|
||||
cxxFlags += `pkg-config --cflags openssl`
|
||||
@@ -17,6 +17,7 @@
|
||||
linkFlags += `pkg-config --libs libssh2`
|
||||
|
||||
cxxFlags += `pkg-config --cflags gtk+-2.0`
|
||||
+linkFlags += `pkg-config --libs gtk+-2.0`
|
||||
#treat as system headers so that warnings are hidden:
|
||||
cxxFlags += -isystem/usr/include/gtk-2.0
|
||||
|
||||
diff -ruN FreeFileSync_11.0_Source_orig/FreeFileSync/Source/RealTimeSync/Makefile FreeFileSync_11.0_Source/FreeFileSync/Source/RealTimeSync/Makefile
|
||||
--- FreeFileSync_11.0_Source_orig/FreeFileSync/Source/RealTimeSync/Makefile 2020-07-22 13:22:18.000000000 +0200
|
||||
+++ FreeFileSync_11.0_Source/FreeFileSync/Source/RealTimeSync/Makefile 2020-08-05 12:22:00.473864076 +0200
|
||||
@@ -2,12 +2,13 @@
|
||||
|
||||
cxxFlags = -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../../.. -I../../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \
|
||||
-Wall -Wfatal-errors -Wmissing-include-dirs -Wswitch-enum -Wcast-align -Wshadow -Wnon-virtual-dtor \
|
||||
- -O3 -DNDEBUG `wx-config --cxxflags --debug=no` -pthread
|
||||
+ -O3 -DNDEBUG `wx-config --cxxflags --debug=no` -pthread -fpie
|
||||
|
||||
-linkFlags = -s -no-pie `wx-config --libs std, aui --debug=no` -pthread
|
||||
+linkFlags = -s `wx-config --libs std, aui --debug=no` -pthread -lz -pie
|
||||
|
||||
#Gtk - support "no button border"
|
||||
cxxFlags += `pkg-config --cflags gtk+-2.0`
|
||||
+linkFlags += `pkg-config --libs gtk+-2.0`
|
||||
#treat as system headers so that warnings are hidden:
|
||||
cxxFlags += -isystem/usr/include/gtk-2.0
|
||||
|
||||
diff -ruN FreeFileSync_11.0_Source_orig/libssh2/libssh2_wrap.h FreeFileSync_11.0_Source/libssh2/libssh2_wrap.h
|
||||
--- FreeFileSync_11.0_Source_orig/libssh2/libssh2_wrap.h 2020-07-22 13:22:20.000000000 +0200
|
||||
+++ FreeFileSync_11.0_Source/libssh2/libssh2_wrap.h 2020-08-04 11:35:17.919354168 +0200
|
||||
@@ -20,6 +20,22 @@
|
||||
#error libssh2_sftp.h header guard changed
|
||||
#endif
|
||||
|
||||
+// fix some build errors
|
||||
+/* MAX_SFTP_READ_SIZE is how much data is asked for at max in each FXP_READ
|
||||
+ * packets.
|
||||
+ */
|
||||
+#ifndef MAX_SFTP_READ_SIZE
|
||||
+#define MAX_SFTP_READ_SIZE 30000
|
||||
+#endif
|
||||
+
|
||||
+/*
|
||||
+ * MAX_SFTP_OUTGOING_SIZE MUST not be larger than 32500 or so. This is the
|
||||
+ * amount of data sent in each FXP_WRITE packet
|
||||
+ */
|
||||
+#ifndef MAX_SFTP_OUTGOING_SIZE
|
||||
+#define MAX_SFTP_OUTGOING_SIZE 30000
|
||||
+#endif
|
||||
+
|
||||
//fix libssh2 64-bit warning mess: https://github.com/libssh2/libssh2/pull/96
|
||||
#undef libssh2_userauth_password
|
||||
inline int libssh2_userauth_password(LIBSSH2_SESSION* session, const std::string& username, const std::string& password)
|
||||
diff -ruN FreeFileSync_11.0_Source_orig/zen/ring_buffer.h FreeFileSync_11.0_Source/zen/ring_buffer.h
|
||||
--- FreeFileSync_11.0_Source_orig/zen/ring_buffer.h 2020-07-22 13:22:20.000000000 +0200
|
||||
+++ FreeFileSync_11.0_Source/zen/ring_buffer.h 2020-08-04 11:35:36.075289535 +0200
|
||||
@@ -8,6 +8,7 @@
|
||||
#define RING_BUFFER_H_01238467085684139453534
|
||||
|
||||
#include <cassert>
|
||||
+#include <cstddef>
|
||||
#include "scope_guard.h"
|
||||
|
||||
|
12
FreeFileSync-Resources.patch
Normal file
12
FreeFileSync-Resources.patch
Normal file
@ -0,0 +1,12 @@
|
||||
--- FreeFileSync_11.0_Source_orig/FreeFileSync/Source/ffs_paths.cpp 2020-07-22 13:22:20.000000000 +0200
|
||||
+++ FreeFileSync_11.0_Source/FreeFileSync/Source/ffs_paths.cpp 2020-08-04 15:21:24.667813874 +0200
|
||||
@@ -64,7 +64,8 @@
|
||||
|
||||
Zstring fff::getResourceDirPf()
|
||||
{
|
||||
- return getProcessParentFolderPath() + FILE_NAME_SEPARATOR + Zstr("Resources") + FILE_NAME_SEPARATOR;
|
||||
+ // for opensuse install to /usr/share/FreeFileSync specificly
|
||||
+ return Zstr("/usr/share/FreeFileSync/");
|
||||
}
|
||||
|
||||
|
@ -1,3 +1,28 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 5 10:00:02 UTC 2020 - Jannik Seiler <seil0@mosad.xyz>
|
||||
|
||||
- Update to 11.0
|
||||
- Revised file layout on main grid
|
||||
- Skip download/upload when copying Google Drive files inside account
|
||||
- Support moving Google Drive files between shared drives and My Drive
|
||||
- Support copying Google Drive shortcuts between accounts
|
||||
- Support copying Google Docs, Sheets, Slides, etc. within account
|
||||
- Fixed parsing uninitialized Google Drive modification time
|
||||
- Fixed Google Drive file already existing check running too late
|
||||
- Ignore slash/backslash differences during manual search
|
||||
- Avoid creating orphan database entry if one DB file fails to load
|
||||
- Limit modification time error count for log file warning message
|
||||
- Support copying WSL symlinks
|
||||
- Avoid duplicate MTP/Google Drive item creation from multiple threads
|
||||
- Fixed TMPDIR not found during startup (macOS)
|
||||
- Added sync variant icons
|
||||
- Avoid redundant icon format conversions
|
||||
- Buffer high-DPI image scaling results
|
||||
- Improved MTP thumbnail scaling performance
|
||||
- Avoid race condition during parallel file icon rendering (Linux)
|
||||
- Allow creating folder name with leading/trailing spaces
|
||||
- Start supporting GTK3 (Linux)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Dec 31 14:15:04 UTC 2018 - thomasglatt@gmx.de
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package FreeFileSync
|
||||
#
|
||||
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2020 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -12,33 +12,33 @@
|
||||
# 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/
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
Name: FreeFileSync
|
||||
Version: 11.0
|
||||
Release: 0
|
||||
Summary: Free backup software to synchronize files and folders
|
||||
Version: 10.7
|
||||
Release: 1
|
||||
License: GPL-3.0+
|
||||
License: GPL-3.0-or-later
|
||||
Group: Productivity/Networking/System
|
||||
Url: http://www.freefilesync.org/
|
||||
Source0: http://sourceforge.net/projects/freefilesync/files/%{name}/%{version}/%{name}_%{version}_Source.zip
|
||||
URL: https://www.freefilesync.org/
|
||||
Source0: https://freefilesync.org/download/%{name}_%{version}_Source.zip
|
||||
Source1: %{name}.desktop
|
||||
Source2: %{name}.png
|
||||
Source3: RealTimeSync.desktop
|
||||
Source4: RealTimeSync.png
|
||||
Patch: freefilesync-build.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
BuildRequires: unzip
|
||||
Patch0: FreeFileSync-Build.patch
|
||||
Patch1: FreeFileSync-Resources.patch
|
||||
BuildRequires: boost-devel >= 1.54
|
||||
BuildRequires: wxWidgets-3_2-devel
|
||||
BuildRequires: update-desktop-files
|
||||
#%if 0%{?suse_version} <= 1500
|
||||
# FreeFileSync requires C++17 support.
|
||||
#BuildRequires: gcc8-c++
|
||||
#%else
|
||||
BuildRequires: gcc-c++
|
||||
#%endif
|
||||
BuildRequires: libstdc++6 >= 10.0.0
|
||||
BuildRequires: libcurl-devel
|
||||
BuildRequires: libopenssl-devel
|
||||
BuildRequires: libssh2-devel
|
||||
BuildRequires: unzip
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: wxWidgets-3_2-devel
|
||||
|
||||
%description
|
||||
FreeFileSync is a free Open Source software that helps you synchronize files
|
||||
@ -48,7 +48,7 @@ your time setting up and running backup jobs while having nice visual feedback a
|
||||
%package -n RealtimeSync
|
||||
Summary: Free backup software to synchronize files and folders
|
||||
Group: Productivity/Networking/System
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description -n RealtimeSync
|
||||
The primary purpose of RealtimeSync is to execute a command line each time it detects changes
|
||||
@ -56,71 +56,45 @@ in one of the monitored directories or when a directory becomes available (e. g.
|
||||
Usually this command line will trigger a FreeFileSync batch job.
|
||||
|
||||
%prep
|
||||
%setup -c %{name}-%{version}
|
||||
%setup -q -c %{name}-%{version}
|
||||
sed -i 's/\r$//' License.txt
|
||||
chmod -x License.txt
|
||||
# Fix for false Makefile
|
||||
# mv Changelog.txt FreeFileSync/Build/
|
||||
#chmod -x License.txt
|
||||
mkdir FreeFileSync/Build/Bin
|
||||
%patch -p1
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
|
||||
%build
|
||||
#
|
||||
#%if 0%{?suse_version} <= 1500
|
||||
#export CC="gcc-8"
|
||||
#export CXX="g++-8"
|
||||
# Default ABI through G++4.9, thus the one wxWidgets uses.
|
||||
export TMPDIR=/tmp # necessary since 11.0
|
||||
export CXXFLAGS="%{optflags} -fabi-version=2 -fabi-compat-version=2"
|
||||
#%else
|
||||
export CC="gcc"
|
||||
export CXX="g++"
|
||||
#%endif
|
||||
#
|
||||
pushd %{name}/Source
|
||||
|
||||
# Add -lz to LINKFLAGS for proper compilation
|
||||
#sed -i -e 's:CPP_FILES=:LINKFLAGS += -lz\n\n CPP_FILES=:g' Makefile
|
||||
|
||||
#%if 0%{?suse_version} <= 1500
|
||||
#sed -i -e 's:g++:g++-8:g' Makefile
|
||||
#sed -i -e 's:CXXFLAGS =:CXXFLAGS +=:g' Makefile
|
||||
#%else
|
||||
#sed -i -e 's:g++:g++:g' Makefile
|
||||
#%endif
|
||||
|
||||
make %{?_smp_mflags} BUILD=FreeFileSync
|
||||
popd
|
||||
pushd %{name}/Source/RealTimeSync
|
||||
#%if 0%{?suse_version} <= 1500
|
||||
#sed -i -e 's:g++:g++-8:g' Makefile
|
||||
#sed -i -e 's:CXXFLAGS =:CXXFLAGS +=:g' Makefile
|
||||
#%else
|
||||
#sed -i -e 's:g++:g++:g' Makefile
|
||||
#%endif
|
||||
make %{?_smp_mflags} BUILD=RealTimeSync
|
||||
popd
|
||||
%make_build -C %{name}/Source exeName=FreeFileSync
|
||||
%make_build -C %{name}/Source/RealTimeSync exeName=RealTimeSync
|
||||
|
||||
%install
|
||||
pushd %{name}/Source
|
||||
%make_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
|
||||
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
|
||||
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
|
||||
|
||||
%post
|
||||
@ -129,20 +103,18 @@ install -p %{SOURCE4} ${RPM_BUILD_ROOT}%{_datadir}/pixmaps/
|
||||
%postun
|
||||
%desktop_database_postun
|
||||
|
||||
%clean
|
||||
rm -rf %{buildroot}
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%doc License.txt
|
||||
%license %attr(444, -, -) License.txt
|
||||
%doc %attr(444, -, -) Changelog.txt
|
||||
%{_bindir}/%{name}
|
||||
%{_datadir}/%{name}
|
||||
%{_datadir}/applications/%{name}.desktop
|
||||
%{_datadir}/pixmaps/%{name}.png
|
||||
%{_datadir}/%{name}/*
|
||||
%dir %{_datadir}/%{name}
|
||||
|
||||
%files -n RealtimeSync
|
||||
%defattr(-,root,root,-)
|
||||
%doc License.txt
|
||||
%license %attr(444, -, -) License.txt
|
||||
%doc %attr(444, -, -) Changelog.txt
|
||||
%{_bindir}/RealTimeSync
|
||||
%{_datadir}/applications/RealTimeSync.desktop
|
||||
%{_datadir}/pixmaps/RealTimeSync.png
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9291121b00e6dfab7836ada9bb5d92c38b4200d9577dc4a5c336899ebcc06488
|
||||
size 2204542
|
3
FreeFileSync_11.0_Source.zip
Normal file
3
FreeFileSync_11.0_Source.zip
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:361bab0798811764701cfda297c2031b9decb04bb2e434ec8fe80ba8cc01e56a
|
||||
size 2508996
|
@ -1,52 +0,0 @@
|
||||
diff -Naur FreeFileSync_10.7_Source_orig/FreeFileSync/Source/base/ffs_paths.cpp FreeFileSync_10.7_Source/FreeFileSync/Source/base/ffs_paths.cpp
|
||||
--- FreeFileSync_10.7_Source_orig/FreeFileSync/Source/base/ffs_paths.cpp 2018-12-12 15:02:09.000000000 +0100
|
||||
+++ FreeFileSync_10.7_Source/FreeFileSync/Source/base/ffs_paths.cpp 2018-12-20 12:13:14.605211463 +0100
|
||||
@@ -65,10 +65,10 @@
|
||||
wxTheApp->SetAppName(L"FreeFileSync");
|
||||
ZEN_ON_SCOPE_EXIT(wxTheApp->SetAppName(appName));
|
||||
|
||||
- //if (isPortableVersion())
|
||||
- return appendSeparator(getExeFolderParentPath());
|
||||
- //else //use OS' standard paths
|
||||
- // return appendSeparator(utfTo<Zstring>(wxStandardPathsBase::Get().GetResourcesDir()));
|
||||
+ if (isPortableVersion())
|
||||
+ return appendSeparator(getExeFolderParentPath());
|
||||
+ else //use OS' standard paths
|
||||
+ return appendSeparator(utfTo<Zstring>(wxStandardPathsBase::Get().GetResourcesDir()));
|
||||
}
|
||||
|
||||
|
||||
diff -Naur FreeFileSync_10.7_Source_orig/FreeFileSync/Source/Makefile FreeFileSync_10.7_Source/FreeFileSync/Source/Makefile
|
||||
--- FreeFileSync_10.7_Source_orig/FreeFileSync/Source/Makefile 2018-12-12 15:02:08.000000000 +0100
|
||||
+++ FreeFileSync_10.7_Source/FreeFileSync/Source/Makefile 2018-12-20 12:10:16.308972137 +0100
|
||||
@@ -9,7 +9,7 @@
|
||||
-Wall -Wfatal-errors -Wmissing-include-dirs -Wswitch-enum -Wcast-align -Wshadow -Wnon-virtual-dtor \
|
||||
-O3 -DNDEBUG `wx-config --cxxflags --debug=no` -pthread
|
||||
|
||||
-LINKFLAGS = -s -no-pie `wx-config --libs std, aui --debug=no` -pthread
|
||||
+LINKFLAGS = -s -no-pie `wx-config --libs std, aui --debug=no` -pthread -lz
|
||||
|
||||
#Gtk - support recycler/icon loading/no button border/grid scrolling
|
||||
CXXFLAGS += `pkg-config --cflags gtk+-2.0`
|
||||
diff -Naur FreeFileSync_10.7_Source_orig/zen/ring_buffer.h FreeFileSync_10.7_Source/zen/ring_buffer.h
|
||||
--- FreeFileSync_10.7_Source_orig/zen/ring_buffer.h 2018-12-12 15:02:08.000000000 +0100
|
||||
+++ FreeFileSync_10.7_Source/zen/ring_buffer.h 2018-12-20 12:08:37.499068156 +0100
|
||||
@@ -8,6 +8,7 @@
|
||||
#define RING_BUFFER_H_01238467085684139453534
|
||||
|
||||
#include <cassert>
|
||||
+#include <cstddef>
|
||||
#include "scope_guard.h"
|
||||
|
||||
|
||||
diff -Naur FreeFileSync_10.7_Source_orig/zen/serialize.h FreeFileSync_10.7_Source/zen/serialize.h
|
||||
--- FreeFileSync_10.7_Source_orig/zen/serialize.h 2018-12-12 15:02:08.000000000 +0100
|
||||
+++ FreeFileSync_10.7_Source/zen/serialize.h 2018-12-20 12:08:48.938825488 +0100
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
#include <functional>
|
||||
#include <cstdint>
|
||||
+#include <cstddef>
|
||||
#include "string_base.h"
|
||||
//keep header clean from specific stream implementations! (e.g.file_io.h)! used by abstract.h!
|
||||
|
Loading…
x
Reference in New Issue
Block a user