summaryrefslogtreecommitdiff
path: root/freefilesync
diff options
context:
space:
mode:
Diffstat (limited to 'freefilesync')
-rw-r--r--freefilesync/debian/README.Debian21
-rw-r--r--freefilesync/debian/changelog34
-rw-r--r--freefilesync/debian/control12
-rw-r--r--freefilesync/debian/freefilesync.lintian-overrides1
-rw-r--r--freefilesync/debian/patches/ffs_allow_parallel_ops.patch10
-rw-r--r--freefilesync/debian/patches/ffs_curl.patch32
-rw-r--r--freefilesync/debian/patches/ffs_devuan.patch45
-rw-r--r--freefilesync/debian/patches/ffs_devuan_gtk3.patch11
-rw-r--r--freefilesync/debian/patches/ffs_libssh2.patch25
-rw-r--r--freefilesync/debian/patches/ffs_libssl.patch53
-rw-r--r--freefilesync/debian/patches/ffs_no_wx311.patch6
-rw-r--r--freefilesync/debian/patches/series3
-rwxr-xr-xfreefilesync/debian/rules1
-rw-r--r--freefilesync/debian/source/lintian-overrides2
-rw-r--r--freefilesync/ffs_allow_parallel_ops.patch11
-rw-r--r--freefilesync/ffs_curl.patch52
-rw-r--r--freefilesync/ffs_el.patch14
-rw-r--r--freefilesync/ffs_fedora.patch33
-rw-r--r--freefilesync/ffs_libssh2.patch28
-rw-r--r--freefilesync/ffs_libssl.patch53
-rw-r--r--freefilesync/ffs_no_wx311.patch6
-rw-r--r--freefilesync/freefilesync.spec8
22 files changed, 272 insertions, 189 deletions
diff --git a/freefilesync/debian/README.Debian b/freefilesync/debian/README.Debian
index 2235ac6..588db96 100644
--- a/freefilesync/debian/README.Debian
+++ b/freefilesync/debian/README.Debian
@@ -1,3 +1,24 @@
+freefilesync (10.21-2+devuan)
+
+ * gtk2 build for albion
+ * gtk3 build is broken:
+```
+g++ -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 `pkg-config --cflags openssl` `pkg-config --cflags libcurl` `pkg-config --cflags libssh2` `pkg-config --cflags gtk+-3.0` -isystem/usr/include/gtk-3.0 `pkg-config --cflags libselinux` -DHAVE_SELINUX -c ui/command_box.cpp -o /tmp/FreeFileSync_Make/ffs/src/ui/command_box.cpp.o
+In file included from ui/command_box.cpp:7:
+ui/command_box.h:22:1: error: expected class-name before '{' token
+ 22 | {
+ | ^
+compilation terminated due to -Wfatal-errors.
+make: *** [Makefile:121: /tmp/FreeFileSync_Make/ffs/src/ui/command_box.cpp.o] Error 1
+```
+ This is probably a wxWidgets 3.0-gtk3 or gtk3 issue. Upstream does make it sound like they will move to gtk3 eventually, and will come across this and try to fix it I'm sure.
+
+ * how the gtk2 build fails if libgtk-3-dev is installed:
+```
+/usr/include/gtk-3.0/gdk/gdktypes.h:143:39: error: conflicting declaration 'typedef struct _GdkWindow GdkWindow'
+ 143 | typedef struct _GdkWindow GdkWindow;
+```
+
freefilesync (10.20-1+devuan)
* gtk3 build for obs
diff --git a/freefilesync/debian/changelog b/freefilesync/debian/changelog
index 5fa26cb..ca2a9c5 100644
--- a/freefilesync/debian/changelog
+++ b/freefilesync/debian/changelog
@@ -1,3 +1,35 @@
+freefilesync (10.22-2+devuan) albion; urgency=medium
+
+ * gtk2 build
+
+ -- Ben Stack <bgstack15@gmail.com> Wed, 18 Mar 2020 14:24:32 -0400
+
+freefilesync (10.22-1+devuan) UNRELEASED; urgency=medium
+
+ * BROKEN! This package does not actually exist. See README.debian
+ * Preselect last-used email address
+ * Select log file format (HTML or plain text)
+ * Aggregate email notifications when hitting sending limits
+ * Show code literals in system error messages
+ * Limit conflict item count for log file warning message
+ * Show log icon error indicator even if error occured after sync
+ * Disable background drag & drop when showing modal dialog
+ * Hide dummy model, vendor names in log files
+ * Fixed ANSI encoding used for log file time formatting
+ * Reduced memory consumption for large number of log messages
+ * Correctly parse lock files despite corrupted trail data
+ * Show emoji instead of Unicode icon in email subject
+ * Fixed IWbemServices::ConnectServer error after sync
+ * Fixed aggregate email logs incomplete truncation
+
+ -- Ben Stack <bgstack15@gmail.com> Wed, 18 Mar 2020 14:22:58 -0400
+
+freefilesync (10.21-1+devuan) UNRELEASED; urgency=medium
+
+ * upstream changelog points to 10.22
+
+ -- Ben Stack <bgstack15@gmail.com> Wed, 18 Mar 2020 09:18:01 -0400
+
freefilesync (10.20-1+devuan) obs; urgency=low
* Send email notifications after sync (Donation Edition)
@@ -206,6 +238,8 @@ freefilesync (10.10-1devuan) manual; urgency=low
* Added context information for cloud connection errors
* Updated translation files
+ -- B Stack <bgstack15@gmail.com> Fri, 15 Mar 2019 18:23:43 -0500
+
freefilesync (10.9-1devuan) manual; urgency=low
* Added FTP, SFTP, Google Drive support for Linux
diff --git a/freefilesync/debian/control b/freefilesync/debian/control
index 27edf04..748d6fc 100644
--- a/freefilesync/debian/control
+++ b/freefilesync/debian/control
@@ -4,18 +4,20 @@ Priority: optional
Maintainer: B Stack <bgstack15@gmail.com>
Build-Depends: debhelper (>=12~),
imagemagick,
- libcurl4-openssl-dev,
+ libcurl4-openssl-dev (>=7.68.0),
libssh2-1-dev,
libssl-dev,
wx3.0-headers,
unzip,
# gtk2 version, now possible only with local devuan-archive, and these must be removed for gtk3 build
# install with sudo apt-get install libwxbase3.0-0v5=3.0.4+dfsg-14 libwxbase3.0-dev=3.0.4+dfsg-14 libwxgtk3.0-0v5=3.0.4+dfsg-14 libwxgtk3.0-dev=3.0.4+dfsg-14 wx3.0-headers=3.0.4+dfsg-14 libgtk2.0-dev
-# libgtk2.0-dev,
-# libwxgtk3.0-dev (=3.0.4+dfsg-14),
+ libgtk2.0-dev,
+ libwxgtk3.0-dev (=3.0.4+dfsg-14),
# gtk3 version, and these must be removed for gtk2 build
- libgtk-3-dev,
- libwxgtk3.0-gtk3-dev,
+# install with sudo apt-get install libwxbase3.0-dev=3.0.4+dfsg-15 libwxbase3.0-0v5=3.0.4+dfsg-15 wx3.0-headers=3.0.4+dfsg-15
+# which will remove libwxbase3.0-dev=3.0.4+dfsg-14
+# libgtk-3-dev,
+# libwxgtk3.0-gtk3-dev,
Standards-Version: 4.1.4
Homepage: https://freefilesync.org/
diff --git a/freefilesync/debian/freefilesync.lintian-overrides b/freefilesync/debian/freefilesync.lintian-overrides
new file mode 100644
index 0000000..6c17eb3
--- /dev/null
+++ b/freefilesync/debian/freefilesync.lintian-overrides
@@ -0,0 +1 @@
+possible-gpl-code-linked-with-openssl
diff --git a/freefilesync/debian/patches/ffs_allow_parallel_ops.patch b/freefilesync/debian/patches/ffs_allow_parallel_ops.patch
index 3d8197f..15bf3ab 100644
--- a/freefilesync/debian/patches/ffs_allow_parallel_ops.patch
+++ b/freefilesync/debian/patches/ffs_allow_parallel_ops.patch
@@ -12,14 +12,14 @@ diff -x '*.orig' -x '*.swp' -x '*.rej' -Naur 10.9-0/FreeFileSync/Source/ui/folde
if (showCloudSetupDialog(parent_, folderPathPhrase, parallelOps, get(parallelOpsDisabledReason)) != ReturnSmallDlg::BUTTON_OKAY)
return;
diff -Naur -x '*.orig' -x '*.rej' 10.9-0/FreeFileSync/Source/ui/sync_cfg.cpp 10.9-1/FreeFileSync/Source/ui/sync_cfg.cpp
---- 10.9-0/FreeFileSync/Source/ui/sync_cfg.cpp 2019-02-10 22:01:42.075159451 -0500
-+++ 10.20-1/FreeFileSync/Source/ui/sync_cfg.cpp 2019-02-11 21:25:11.685992654 -0500
-@@ -283,7 +283,7 @@
+--- 10.21-0/FreeFileSync/Source/ui/sync_cfg.cpp 2020-03-18 08:56:08.644066742 -0400
++++ 10.21-1/FreeFileSync/Source/ui/sync_cfg.cpp 2020-03-18 09:13:30.459409986 -0400
+@@ -290,7 +290,7 @@
commandHistoryOut_(commandHistory),
globalPairCfg_(globalPairCfg),
localPairCfg_(localPairConfig),
--enableExtraFeatures_(false),
-+enableExtraFeatures_(true),
+- enableExtraFeatures_(false),
++ enableExtraFeatures_(true),
showMultipleCfgs_(showMultipleCfgs)
{
setStandardButtonLayout(*bSizerStdButtons, StdButtons().setAffirmative(m_buttonOkay).setCancel(m_buttonCancel));
diff --git a/freefilesync/debian/patches/ffs_curl.patch b/freefilesync/debian/patches/ffs_curl.patch
index 2396648..549d9ac 100644
--- a/freefilesync/debian/patches/ffs_curl.patch
+++ b/freefilesync/debian/patches/ffs_curl.patch
@@ -6,33 +6,29 @@ remove assertion for libcurl version >1.67 (1.66 should be safe but slower)
The upstream release uses the curl git master branch instead of release versions. The AUR guy thinks it's acceptable to use the older version of libcurl, that is actually already released.
Version: FreeFileSync 10.17
diff -r -u 10.17-0/FreeFileSync/Source/afs/ftp.cpp 10.17-1/FreeFileSync/Source/afs/ftp.cpp
---- 10.17-0/FreeFileSync/Source/afs/ftp.cpp 2019-10-17 18:37:03.000000000 +0200
-+++ 10.17-1/FreeFileSync/Source/afs/ftp.cpp 2019-10-20 20:18:07.221692533 +0200
-@@ -632,7 +632,7 @@
+--- 10.21-0/FreeFileSync/Source/afs/ftp.cpp 2020-03-18 08:56:08.608066350 -0400
++++ 10.21-1/FreeFileSync/Source/afs/ftp.cpp 2020-03-18 09:23:46.882110499 -0400
+@@ -635,7 +635,7 @@
curlRelPath += compFmt;
}
- static_assert(LIBCURL_VERSION_MAJOR > 7 || (LIBCURL_VERSION_MAJOR == 7 && LIBCURL_VERSION_MINOR >= 67));
-+ // static_assert(LIBCURL_VERSION_MAJOR > 7 || (LIBCURL_VERSION_MAJOR == 7 && LIBCURL_VERSION_MINOR >= 67));
++ static_assert(LIBCURL_VERSION_MAJOR > 7 || (LIBCURL_VERSION_MAJOR == 7 && LIBCURL_VERSION_MINOR >= 68));
/* 1. CURLFTPMETHOD_NOCWD requires absolute paths to unconditionally skip CWDs: https://github.com/curl/curl/pull/4382
2. CURLFTPMETHOD_SINGLECWD requires absolute paths to skip one needless "CWD entry path": https://github.com/curl/curl/pull/4332
=> https://curl.haxx.se/docs/faq.html#How_do_I_list_the_root_dir_of_an
-
-Message: Devuan does not have whichever version of libcurl that provides these error codes, probably 7.68.0. Devuan as of 2020-02-15 has libcurl4-openssl-dev=7.67.0-2
diff -Naur 10.20-0/libcurl/curl_wrap.h 10.20-1/libcurl/curl_wrap.h
---- 10.20-0/libcurl/curl_wrap.h 2020-02-15 14:50:08.356617565 -0500
-+++ 10.20-1/libcurl/curl_wrap.h 2020-02-15 14:51:55.961645573 -0500
-@@ -135,10 +135,10 @@
- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_HTTP2_STREAM);
- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_RECURSIVE_API_CALL);
+--- 10.21-0/libcurl/curl_wrap.h 2020-03-18 08:56:08.488065042 -0400
++++ 10.21-1/libcurl/curl_wrap.h 2020-03-18 09:25:52.871480165 -0400
+@@ -137,9 +137,9 @@
ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_AUTH_ERROR);
-- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_HTTP3);
-- ZEN_CHECK_CASE_FOR_CONSTANT(CURL_LAST);
-+ //ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_HTTP3);
-+ //ZEN_CHECK_CASE_FOR_CONSTANT(CURL_LAST);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_HTTP3);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURL_LAST);
+- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_QUIC_CONNECT_ERROR);
++ //ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_QUIC_CONNECT_ERROR);
}
-- static_assert(CURL_LAST == CURLE_HTTP3 + 1);
-+ //static_assert(CURL_LAST == CURLE_HTTP3 + 1);
+- static_assert(CURL_LAST == CURLE_QUIC_CONNECT_ERROR + 1);
++ //static_assert(CURL_LAST == CURLE_QUIC_CONNECT_ERROR + 1);
- return replaceCpy<std::wstring>(L"Curl status %x.", L"%x", numberTo<std::wstring>(static_cast<int>(sc)));
+ return replaceCpy<std::wstring>(L"Curl status %x", L"%x", numberTo<std::wstring>(static_cast<int>(sc)));
}
diff --git a/freefilesync/debian/patches/ffs_devuan.patch b/freefilesync/debian/patches/ffs_devuan.patch
index f2290bd..9bd4a2a 100644
--- a/freefilesync/debian/patches/ffs_devuan.patch
+++ b/freefilesync/debian/patches/ffs_devuan.patch
@@ -2,9 +2,9 @@ Author: B Stack
Source: Original research
Last date modified: 2020-02-15
Message: Main patch to compile on Devuan.
-diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/base/ffs_paths.cpp 10.18-1/FreeFileSync/Source/base/ffs_paths.cpp
---- 10.13-0/FreeFileSync/Source/base/ffs_paths.cpp 2019-06-14 20:23:07.615661499 -0400
-+++ 10.18-1/FreeFileSync/Source/base/ffs_paths.cpp 2019-11-21 09:41:42.287474472 -0500
+diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/ffs_paths.cpp 10.18-1/FreeFileSync/Source/ffs_paths.cpp
+--- 10.13-0/FreeFileSync/Source/ffs_paths.cpp 2019-06-14 20:23:07.615661499 -0400
++++ 10.18-1/FreeFileSync/Source/ffs_paths.cpp 2019-11-21 09:41:42.287474472 -0500
@@ -64,7 +64,8 @@
Zstring fff::getResourceDirPf()
@@ -16,47 +16,48 @@ diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Sou
diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/Makefile 10.18-1/FreeFileSync/Source/Makefile
---- 10.11-0/FreeFileSync/Source/Makefile 2019-04-12 08:05:57.000000000 -0400
-+++ 10.18-2/FreeFileSync/Source/Makefile 2019-11-21 09:42:57.408243242 -0500
+--- 10.21-0/FreeFileSync/Source/Makefile 2020-03-18 08:56:08.576066001 -0400
++++ 10.21-1/FreeFileSync/Source/Makefile 2020-03-18 13:08:06.841403687 -0400
@@ -1,10 +1,10 @@
-EXENAME = FreeFileSync_$(shell arch)
+EXENAME = FreeFileSync
-
- CXXFLAGS = -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../.. -I../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \
+
+-CXXFLAGS = -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../.. -I../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \
++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
-
+
-LINKFLAGS = -s -no-pie `wx-config --libs std, aui --debug=no` -pthread
-+LINKFLAGS = -s -no-pie `wx-config --libs std, aui --debug=no` -lz -pthread
-
-
++LINKFLAGS += -s `wx-config --libs std, aui --debug=no` -lz -pthread
+
+
CXXFLAGS += `pkg-config --cflags openssl`
diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.19-0/FreeFileSync/Source/ui/small_dlgs.cpp 10.19-1/FreeFileSync/Source/ui/small_dlgs.cpp
--- 10.11-0/FreeFileSync/Source/ui/small_dlgs.cpp 2019-12-27 07:56:06.714625467 -0500
-+++ 10.19-1/FreeFileSync/Source/ui/small_dlgs.cpp 2019-12-27 08:56:49.251467477 -0500
-@@ -95,6 +95,8 @@
++++ 10.21-1/FreeFileSync/Source/ui/small_dlgs.cpp 2020-03-18 09:03:57.753183052 -0400
+@@ -97,6 +97,8 @@
build += L"64 Bit";
#endif
+ build += L" for Devuan";
+
build += SPACED_BULLET;
- build += formatTime<wxString>(FORMAT_DATE, getCompileTime());
+ build += utfTo<wxString>(formatTime(formatDateTag, getCompileTime()));
diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/RealTimeSync/Makefile 10.18-1/FreeFileSync/Source/RealTimeSync/Makefile
---- 10.18-0/FreeFileSync/Source/RealTimeSync/Makefile 2020-02-15 11:45:58.241515736 -0500
-+++ 10.20-1/FreeFileSync/Source/RealTimeSync/Makefile 2020-02-15 15:41:50.787195378 -0500
+--- 10.21-0/FreeFileSync/Source/RealTimeSync/Makefile 2020-03-18 08:56:08.624066524 -0400
++++ 10.21-1/FreeFileSync/Source/RealTimeSync/Makefile 2020-03-18 13:08:24.409600169 -0400
@@ -1,10 +1,10 @@
-EXENAME = RealTimeSync_$(shell arch)
+EXENAME = RealTimeSync
-
- CXXFLAGS = -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../../.. -I../../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \
+
+-CXXFLAGS = -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../../.. -I../../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \
++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
-
+
-LINKFLAGS = -s -no-pie `wx-config --libs std, aui --debug=no` -pthread
-+LINKFLAGS = -s -no-pie `wx-config --libs std, aui --debug=no` -lz -pthread
-
++LINKFLAGS += -s `wx-config --libs std, aui --debug=no` -lz -pthread
+
#Gtk - support "no button border"
CXXFLAGS += `pkg-config --cflags gtk+-2.0`
-
diff --git a/freefilesync/debian/patches/ffs_devuan_gtk3.patch b/freefilesync/debian/patches/ffs_devuan_gtk3.patch
index 1f87d9a..4f41d7a 100644
--- a/freefilesync/debian/patches/ffs_devuan_gtk3.patch
+++ b/freefilesync/debian/patches/ffs_devuan_gtk3.patch
@@ -1,7 +1,7 @@
Author: B Stack
Source: Original research
-Date: 2019-11-21
-Message: Main patch to compile on Devuan.
+Date: 2020-03-18
+Message: Main patch to compile on Devuan using GTK3. BROKEN for FreeFileSync 10.21!
This reintroduces the gtk-3 usage, because Debian/Devuan stopped packaging libwxgtk3.0-dev (which used gtk2) and only does libwxgtk3.0-gtk3-dev. However, by reintroducing the gtk3, it brings back the old gtk3 instability from my previous packaging effort: https://freefilesync.org/forum/viewtopic.php?t=4918. /mnt/public/packages/old/freefilesync/freefilesync-9.7-1.master.tgz. Upstream never replied, but did note in the source that gtk3 is inherently unstable.
diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/Makefile 10.18-1/FreeFileSync/Source/Makefile
--- 10.11-0/FreeFileSync/Source/Makefile 2019-04-12 08:05:57.000000000 -0400
@@ -19,10 +19,11 @@ diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Sou
#support for SELinux (optional)
SELINUX_EXISTING=$(shell pkg-config --exists libselinux && echo YES)
---- 10.20-0a/FreeFileSync/Source/RealTimeSync/Makefile 2020-02-15 17:30:56.738835393 -0500
-+++ 10.20-2/FreeFileSync/Source/RealTimeSync/Makefile 2020-02-15 19:09:17.460124615 -0500
+diff -x '*.rej' -x '*.swp' -x '*.orig' -Naur 10.21-1/FreeFileSync/Source/RealTimeSync/Makefile 10.21-2/FreeFileSync/Source/RealTimeSync/Makefile
+--- 10.21-1/FreeFileSync/Source/RealTimeSync/Makefile 2020-03-18 13:12:18.404217783 -0400
++++ 10.21-2/FreeFileSync/Source/RealTimeSync/Makefile 2020-03-18 13:12:46.528533268 -0400
@@ -7,9 +7,10 @@
- LINKFLAGS = -s -no-pie `wx-config --libs std, aui --debug=no` -lz -pthread
+ LINKFLAGS += -s `wx-config --libs std, aui --debug=no` -lz -pthread
#Gtk - support "no button border"
-CXXFLAGS += `pkg-config --cflags gtk+-2.0`
diff --git a/freefilesync/debian/patches/ffs_libssh2.patch b/freefilesync/debian/patches/ffs_libssh2.patch
index 66c6a88..d5ca14e 100644
--- a/freefilesync/debian/patches/ffs_libssh2.patch
+++ b/freefilesync/debian/patches/ffs_libssh2.patch
@@ -9,8 +9,8 @@ Source: <none>
Author: B Stack
Message: libssh2 v1.8.0 does not yet implement these two error messages. I do not know why distros are not serving libssh2 v1.9.0 which wa released June 20, 2019.
Date: 2019-09-17T13:41:23Z
---- 10.17-0/FreeFileSync/Source/afs/libssh2/libssh2_wrap.h 2019-10-17 15:59:11.681641905 -0400
-+++ 10.17-1/FreeFileSync/Source/afs/libssh2/libssh2_wrap.h 2019-10-21 08:32:59.666149954 -0400
+--- 10.21-0/libssh2/libssh2_wrap.h 2020-03-18 08:56:08.500065173 -0400
++++ 10.21-1/libssh2/libssh2_wrap.h 2020-03-18 09:11:49.398311857 -0400
@@ -172,8 +172,8 @@
ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_ENCRYPT);
ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_BAD_SOCKET);
@@ -19,21 +19,6 @@ Date: 2019-09-17T13:41:23Z
- ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_KEYFILE_AUTH_FAILED);
+ //ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_CHANNEL_WINDOW_FULL);
+ //ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_KEYFILE_AUTH_FAILED);
- }
- return replaceCpy<std::wstring>(L"SSH status %x.", L"%x", numberTo<std::wstring>(sc));
- }
-Message: It appears upstream moved libssh2_wrap, but the above file patches correctly, so we will leave it while adding this new, identical patch.
-diff -Naur /usr/src/freefilesync/10.20-0/libssh2/libssh2_wrap.h /usr/src/freefilesync/10.20-1/libssh2/libssh2_wrap.h
---- 10.20-0/libssh2/libssh2_wrap.h 2020-02-15 14:50:08.356617565 -0500
-+++ 10.20-1/libssh2/libssh2_wrap.h 2020-02-15 15:11:25.992842154 -0500
-@@ -172,8 +172,8 @@
- ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_ENCRYPT);
- ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_BAD_SOCKET);
- ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_KNOWN_HOSTS);
-- ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_CHANNEL_WINDOW_FULL);
-- ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_KEYFILE_AUTH_FAILED);
-+ //ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_CHANNEL_WINDOW_FULL);
-+ //ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_KEYFILE_AUTH_FAILED);
- }
- return replaceCpy<std::wstring>(L"SSH status %x.", L"%x", numberTo<std::wstring>(sc));
- }
+
+ default:
+ return replaceCpy<std::wstring>(L"SSH status %x", L"%x", numberTo<std::wstring>(sc));
diff --git a/freefilesync/debian/patches/ffs_libssl.patch b/freefilesync/debian/patches/ffs_libssl.patch
new file mode 100644
index 0000000..1e043c1
--- /dev/null
+++ b/freefilesync/debian/patches/ffs_libssl.patch
@@ -0,0 +1,53 @@
+Author: bgstack15
+Message: Revert freefilesync 10.22 zen/open_ssl.cpp which depends on openssl 1.1.1e which is not available in this distro yet.
+Date: 2020-03-18
+diff --git a/zen/open_ssl.cpp b/zen/open_ssl.cpp
+index 0f1da3fc..b823f8ca 100644
+--- a/zen/open_ssl.cpp
++++ b/zen/open_ssl.cpp
+@@ -18,7 +18,7 @@ using namespace zen;
+ #error FFS, we are royally screwed!
+ #endif
+
+-static_assert(OPENSSL_VERSION_NUMBER >= 0x1010105fL, "OpenSSL version too old");
++static_assert(OPENSSL_VERSION_NUMBER >= 0x10100000L, "OpenSSL version too old");
+
+
+ void zen::openSslInit()
+@@ -68,7 +68,7 @@ std::wstring formatOpenSSLError(const std::wstring& functionName, unsigned long
+
+ std::wstring formatLastOpenSSLError(const std::wstring& functionName)
+ {
+- const auto ec = ::ERR_peek_last_error();
++ const unsigned long ec = ::ERR_peek_last_error();
+ ::ERR_clear_error(); //clean up for next OpenSSL operation on this thread
+ return formatOpenSSLError(functionName, ec);
+ }
+@@ -566,16 +566,9 @@ public:
+ if (rv != 1)
+ {
+ const int sslError = ::SSL_get_error(ssl_, rv);
+- if (sslError == SSL_ERROR_ZERO_RETURN)
+- return 0; //EOF + close_notify alert
+-
+- warn_static("find a better solution for SSL_read_ex + EOF")
+- //"sslError == SSL_ERROR_SYSCALL && ::ERR_peek_last_error() == 0" => obsolete as of OpenSSL 1.1.1e
+- //https://github.com/openssl/openssl/issues/10880#issuecomment-575746226
+- const auto ec = ::ERR_peek_last_error();
+- if (sslError == SSL_ERROR_SSL && ERR_GET_REASON(ec) == SSL_R_UNEXPECTED_EOF_WHILE_READING) //EOF: only expected for HTTP/1.0
++ if (sslError == SSL_ERROR_ZERO_RETURN || //EOF + close_notify alert
++ (sslError == SSL_ERROR_SYSCALL && ::ERR_peek_last_error() == 0)) //EOF: only expected for HTTP/1.0
+ return 0;
+-
+ throw SysError(formatLastOpenSSLError(L"SSL_read_ex") + L' ' + formatSslErrorCode(sslError));
+ }
+ assert(bytesReceived > 0); //SSL_read_ex() considers EOF an error!
+@@ -771,7 +764,7 @@ std::string zen::convertPuttyKeyToPkix(const std::string& keyStream, const std::
+
+ auto numToBeString = [](size_t n) -> std::string
+ {
+- static_assert(usingLittleEndian()&& sizeof(n) >= 4);
++ static_assert(usingLittleEndian() && sizeof(n) >= 4);
+ const char* numStr = reinterpret_cast<const char*>(&n);
+ return { numStr[3], numStr[2], numStr[1], numStr[0] }; //big endian!
+ };
diff --git a/freefilesync/debian/patches/ffs_no_wx311.patch b/freefilesync/debian/patches/ffs_no_wx311.patch
index 204740d..f3afae0 100644
--- a/freefilesync/debian/patches/ffs_no_wx311.patch
+++ b/freefilesync/debian/patches/ffs_no_wx311.patch
@@ -25,9 +25,9 @@ diff -Naur -x '*.orig' -x '*.rej' 10.3-0/wx+/grid.cpp 10.3-2/wx+/grid.cpp
toScroll += scrollSpeed * deltaSecs;
}
else
-diff -Naur 10.13-0/FreeFileSync/Source/base/ffs_paths.cpp 10.13-1/FreeFileSync/Source/base/ffs_paths.cpp
---- 10.13-0/FreeFileSync/Source/base/ffs_paths.cpp 2019-06-14 20:23:07.615661499 -0400
-+++ 10.18-1/FreeFileSync/Source/base/ffs_paths.cpp 2019-11-20 08:55:38.553446634 -0500
+diff -Naur 10.13-0/FreeFileSync/Source/ffs_paths.cpp 10.13-1/FreeFileSync/Source/ffs_paths.cpp
+--- 10.13-0/FreeFileSync/Source/ffs_paths.cpp 2019-06-14 20:23:07.615661499 -0400
++++ 10.18-1/FreeFileSync/Source/ffs_paths.cpp 2019-11-20 08:55:38.553446634 -0500
@@ -80,8 +80,8 @@
//OS standard path (XDG layout): ~/.config/FreeFileSync
diff --git a/freefilesync/debian/patches/series b/freefilesync/debian/patches/series
index da9adb8..48d9670 100644
--- a/freefilesync/debian/patches/series
+++ b/freefilesync/debian/patches/series
@@ -1,9 +1,10 @@
ffs_allow_parallel_ops.patch
ffs_devuan.patch
# gtk3 for obs, gtk2 for albion
-ffs_devuan_gtk3.patch
+ffs_devuan_gtk2.patch
ffs_no_check_updates.patch
ffs_no_wx311.patch
ffs_sftp.patch
ffs_libssh2.patch
ffs_curl.patch
+ffs_libssl.patch
diff --git a/freefilesync/debian/rules b/freefilesync/debian/rules
index b33b50b..6f439e4 100755
--- a/freefilesync/debian/rules
+++ b/freefilesync/debian/rules
@@ -4,6 +4,7 @@
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
+export LINKFLAGS="${LDFLAGS} -pie"
export appname=freefilesync
export pkgname=FreeFileSync
diff --git a/freefilesync/debian/source/lintian-overrides b/freefilesync/debian/source/lintian-overrides
new file mode 100644
index 0000000..b9aa80e
--- /dev/null
+++ b/freefilesync/debian/source/lintian-overrides
@@ -0,0 +1,2 @@
+patch-file-present-but-not-mentioned-in-series ffs_devuan_gtk*.patch
+source-nmu-has-incorrect-version-number
diff --git a/freefilesync/ffs_allow_parallel_ops.patch b/freefilesync/ffs_allow_parallel_ops.patch
index 3d8197f..d317bf0 100644
--- a/freefilesync/ffs_allow_parallel_ops.patch
+++ b/freefilesync/ffs_allow_parallel_ops.patch
@@ -12,14 +12,15 @@ diff -x '*.orig' -x '*.swp' -x '*.rej' -Naur 10.9-0/FreeFileSync/Source/ui/folde
if (showCloudSetupDialog(parent_, folderPathPhrase, parallelOps, get(parallelOpsDisabledReason)) != ReturnSmallDlg::BUTTON_OKAY)
return;
diff -Naur -x '*.orig' -x '*.rej' 10.9-0/FreeFileSync/Source/ui/sync_cfg.cpp 10.9-1/FreeFileSync/Source/ui/sync_cfg.cpp
---- 10.9-0/FreeFileSync/Source/ui/sync_cfg.cpp 2019-02-10 22:01:42.075159451 -0500
-+++ 10.20-1/FreeFileSync/Source/ui/sync_cfg.cpp 2019-02-11 21:25:11.685992654 -0500
-@@ -283,7 +283,7 @@
+--- 10.21-0/FreeFileSync/Source/ui/sync_cfg.cpp 2020-03-18 08:56:08.644066742 -0400
++++ 10.21-1/FreeFileSync/Source/ui/sync_cfg.cpp 2020-03-18 09:13:30.459409986 -0400
+@@ -290,7 +290,7 @@
commandHistoryOut_(commandHistory),
globalPairCfg_(globalPairCfg),
localPairCfg_(localPairConfig),
--enableExtraFeatures_(false),
-+enableExtraFeatures_(true),
+- enableExtraFeatures_(false),
++ enableExtraFeatures_(true),
showMultipleCfgs_(showMultipleCfgs)
{
setStandardButtonLayout(*bSizerStdButtons, StdButtons().setAffirmative(m_buttonOkay).setCancel(m_buttonCancel));
+
diff --git a/freefilesync/ffs_curl.patch b/freefilesync/ffs_curl.patch
index 4c584fe..fee8b13 100644
--- a/freefilesync/ffs_curl.patch
+++ b/freefilesync/ffs_curl.patch
@@ -21,59 +21,19 @@ diff -r -u 10.17-0/FreeFileSync/Source/afs/ftp.cpp 10.17-1/FreeFileSync/Source/a
=> https://curl.haxx.se/docs/faq.html#How_do_I_list_the_root_dir_of_an
Message: For Fedora <= 30 that has curl < 7.66.0 you need this patch.
-diff -Naur 10.20-0/FreeFileSync/Source/afs/libcurl/curl_wrap.h 10.20-1/FreeFileSync/Source/afs/libcurl/curl_wrap.h
---- 10.20-0/FreeFileSync/Source/afs/libcurl/curl_wrap.h 2019-11-20 07:57:22.146753270 -0500
-+++ 10.20-1/FreeFileSync/Source/afs/libcurl/curl_wrap.h 2020-02-18 07:26:34.057709413 -0500
-@@ -16,7 +16,8 @@
- //-------------------------------------------------
-
- #ifndef CURLINC_CURL_H
-- #error curl.h header guard changed
-+ // disable for Fedora <= 30
-+ //#error curl.h header guard changed
- #endif
-
- namespace zen
-@@ -121,10 +122,10 @@
- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SSL_INVALIDCERTSTATUS);
- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_HTTP2_STREAM);
- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_RECURSIVE_API_CALL);
-- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_AUTH_ERROR);
-- ZEN_CHECK_CASE_FOR_CONSTANT(CURL_LAST);
-+ //ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_AUTH_ERROR);
-+ //ZEN_CHECK_CASE_FOR_CONSTANT(CURL_LAST);
- }
-- static_assert(CURL_LAST == CURLE_AUTH_ERROR + 1);
-+ //static_assert(CURL_LAST == CURLE_AUTH_ERROR + 1);
-
- return replaceCpy<std::wstring>(L"Curl status %x.", L"%x", numberTo<std::wstring>(static_cast<int>(sc)));
- }
diff -Naur 10.20-0/libcurl/curl_wrap.h 10.20-1/libcurl/curl_wrap.h
---- 10.20-0/libcurl/curl_wrap.h 2020-02-18 07:23:30.008454286 -0500
-+++ 10.20-1/libcurl/curl_wrap.h 2020-02-18 07:25:34.397984509 -0500
-@@ -17,7 +17,8 @@
- //-------------------------------------------------
-
- #ifndef CURLINC_CURL_H
-- #error curl.h header guard changed
-+ // disable for Fedora <= 30
-+ //#error curl.h header guard changed
- #endif
-
- namespace zen
-@@ -134,11 +135,11 @@
+[bgirton@fc31x-01a|/usr/src/freefilesync]$ diff -x '*.swp' -x '*.rej' -x '*.orig' -Naur 10.22-[01]/libcurl/curl_wrap.h--- 10.22-0/libcurl/curl_wrap.h 2020-03-18 15:49:57.839901161 -0400
++++ 10.22-1/libcurl/curl_wrap.h 2020-03-18 15:56:21.034499900 -0400
+@@ -134,12 +134,7 @@
ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SSL_INVALIDCERTSTATUS);
ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_HTTP2_STREAM);
ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_RECURSIVE_API_CALL);
- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_AUTH_ERROR);
- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_HTTP3);
- ZEN_CHECK_CASE_FOR_CONSTANT(CURL_LAST);
-+ //ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_AUTH_ERROR);
-+ //ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_HTTP3);
-+ //ZEN_CHECK_CASE_FOR_CONSTANT(CURL_LAST);
+- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_QUIC_CONNECT_ERROR);
}
-- static_assert(CURL_LAST == CURLE_HTTP3 + 1);
-+ //static_assert(CURL_LAST == CURLE_HTTP3 + 1);
+- static_assert(CURL_LAST == CURLE_QUIC_CONNECT_ERROR + 1);
- return replaceCpy<std::wstring>(L"Curl status %x.", L"%x", numberTo<std::wstring>(static_cast<int>(sc)));
+ return replaceCpy<std::wstring>(L"Curl status %x", L"%x", numberTo<std::wstring>(static_cast<int>(sc)));
}
diff --git a/freefilesync/ffs_el.patch b/freefilesync/ffs_el.patch
index bf4fa20..2df678e 100644
--- a/freefilesync/ffs_el.patch
+++ b/freefilesync/ffs_el.patch
@@ -2,9 +2,9 @@ The cstddef discovery is from https://stackoverflow.com/questions/52567517/freef
Some changes just make the application work better in an installed setting (e.g., the hard-coded resouce path).
Tricking the wxWidgets ABI version comes from https://stackoverflow.com/questions/45123664/wxwidgets-runtime-error-mismatch-version/47822976#47822976
FreeFileSync 10.11 updated the default compile flags to -std=c++2a, but this fails on gcc 4.8.5 on el7. Reverting to -std=c++17 allows the application to compile.
-diff -Naur 10.13-0/FreeFileSync/Source/base/ffs_paths.cpp 10.13-1/FreeFileSync/Source/base/ffs_paths.cpp
---- 10.13-0/FreeFileSync/Source/base/ffs_paths.cpp 2019-06-14 20:23:07.615661499 -0400
-+++ 10.13-1/FreeFileSync/Source/base/ffs_paths.cpp 2019-06-14 20:36:28.178274292 -0400
+diff -Naur 10.13-0/FreeFileSync/Source/ffs_paths.cpp 10.13-1/FreeFileSync/Source/ffs_paths.cpp
+--- 10.13-0/FreeFileSync/Source/ffs_paths.cpp 2019-06-14 20:23:07.615661499 -0400
++++ 10.13-1/FreeFileSync/Source/ffs_paths.cpp 2019-06-14 20:36:28.178274292 -0400
@@ -55,7 +55,8 @@
Zstring fff::getResourceDirPf()
@@ -76,16 +76,16 @@ diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/FreeFileSync/Source/RealTim
CXXFLAGS += -isystem/usr/include/gtk-2.0
diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.19-0/FreeFileSync/Source/ui/small_dlgs.cpp 10.19-1/FreeFileSync/Source/ui/small_dlgs.cpp
---- 10.11-0/FreeFileSync/Source/ui/small_dlgs.cpp 2019-12-27 07:56:06.714625467 -0500
-+++ 10.19-1/FreeFileSync/Source/ui/small_dlgs.cpp 2019-12-27 08:56:49.251467477 -0500
-@@ -95,6 +95,8 @@
+--- 10.22-0/FreeFileSync/Source/ui/small_dlgs.cpp 2020-03-18 15:49:57.837901137 -0400
++++ 10.22-1/FreeFileSync/Source/ui/small_dlgs.cpp 2020-03-18 16:18:46.215713307 -0400
+@@ -97,6 +97,8 @@
build += L"64 Bit";
#endif
+ build += L" for CentOS 7/Fedora 29";
+
build += SPACED_BULLET;
- build += formatTime<wxString>(FORMAT_DATE, getCompileTime());
+ build += utfTo<wxString>(formatTime(formatDateTag, getCompileTime()));
diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/wx+/app_main.h 10.11-1/wx+/app_main.h
--- 10.11-0/wx+/app_main.h 2019-04-12 07:59:44.936143019 -0400
diff --git a/freefilesync/ffs_fedora.patch b/freefilesync/ffs_fedora.patch
index 546661b..a82ccad 100644
--- a/freefilesync/ffs_fedora.patch
+++ b/freefilesync/ffs_fedora.patch
@@ -1,11 +1,6 @@
-Author: Simon Brulhart
-Source: AUR
-Date: 2019-10-21
-Message: Do not try to compile inexistant file
-Files affected: FreeFileSync/Source/Makefile
-diff -Naur 10.13-0/FreeFileSync/Source/base/ffs_paths.cpp 10.13-1/FreeFileSync/Source/base/ffs_paths.cpp
---- 10.13-0/FreeFileSync/Source/base/ffs_paths.cpp 2019-06-14 20:23:07.615661499 -0400
-+++ 10.13-1/FreeFileSync/Source/base/ffs_paths.cpp 2019-06-14 20:36:28.178274292 -0400
+diff -Naur 10.13-0/FreeFileSync/Source/ffs_paths.cpp 10.13-1/FreeFileSync/Source/ffs_paths.cpp
+--- 10.13-0/FreeFileSync/Source/ffs_paths.cpp 2019-06-14 20:23:07.615661499 -0400
++++ 10.13-1/FreeFileSync/Source/ffs_paths.cpp 2019-06-14 20:36:28.178274292 -0400
@@ -55,7 +55,8 @@
Zstring fff::getResourceDirPf()
@@ -16,20 +11,6 @@ diff -Naur 10.13-0/FreeFileSync/Source/base/ffs_paths.cpp 10.13-1/FreeFileSync/S
}
-Author: B Stack <bgstack15@gmail.com>
-Message: Fedora 29 does not yet use curl 7.66
-diff -Naur 10.11-0/FreeFileSync/Source/afs/libcurl/curl_wrap.h 10.11-1/FreeFileSync/Source/afs/libcurl/curl_wrap.h
---- 10.11-0/FreeFileSync/Source/afs/libcurl/curl_wrap.h 2019-04-12 07:59:45.130151956 -0400
-+++ 10.11-1/FreeFileSync/Source/afs/libcurl/curl_wrap.h 2019-04-12 08:27:24.423735854 -0400
-@@ -75,7 +75,7 @@
- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_UNKNOWN_OPTION);
- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_TELNET_OPTION_SYNTAX);
- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_OBSOLETE50);
-- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_OBSOLETE51);
-+ //ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_OBSOLETE51);
- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_PEER_FAILED_VERIFICATION);
- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_GOT_NOTHING);
- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SSL_ENGINE_NOTFOUND);
diff -Naur 10.11-0/FreeFileSync/Source/Makefile 10.11-1/FreeFileSync/Source/Makefile
--- 10.11-0/FreeFileSync/Source/Makefile 2019-04-12 07:59:45.042147902 -0400
+++ 10.11-1/FreeFileSync/Source/Makefile 2019-04-12 08:27:42.062542410 -0400
@@ -75,14 +56,14 @@ diff -Naur 10.11-0/FreeFileSync/Source/RealTimeSync/Makefile 10.11-1/FreeFileSyn
CXXFLAGS += -isystem/usr/include/gtk-2.0
diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.19-0/FreeFileSync/Source/ui/small_dlgs.cpp 10.19-1/FreeFileSync/Source/ui/small_dlgs.cpp
---- 10.11-0/FreeFileSync/Source/ui/small_dlgs.cpp 2019-12-27 07:56:06.714625467 -0500
-+++ 10.19-1/FreeFileSync/Source/ui/small_dlgs.cpp 2019-12-27 08:56:49.251467477 -0500
-@@ -95,6 +95,8 @@
+--- 10.22-0/FreeFileSync/Source/ui/small_dlgs.cpp 2020-03-18 15:49:57.837901137 -0400
++++ 10.22-1/FreeFileSync/Source/ui/small_dlgs.cpp 2020-03-18 15:51:50.381251257 -0400
+@@ -97,6 +97,8 @@
build += L"64 Bit";
#endif
+ build += L" for Devuan";
+
build += SPACED_BULLET;
- build += formatTime<wxString>(FORMAT_DATE, getCompileTime());
+ build += utfTo<wxString>(formatTime(formatDateTag, getCompileTime()));
diff --git a/freefilesync/ffs_libssh2.patch b/freefilesync/ffs_libssh2.patch
index 66c6a88..0872f32 100644
--- a/freefilesync/ffs_libssh2.patch
+++ b/freefilesync/ffs_libssh2.patch
@@ -9,31 +9,15 @@ Source: <none>
Author: B Stack
Message: libssh2 v1.8.0 does not yet implement these two error messages. I do not know why distros are not serving libssh2 v1.9.0 which wa released June 20, 2019.
Date: 2019-09-17T13:41:23Z
---- 10.17-0/FreeFileSync/Source/afs/libssh2/libssh2_wrap.h 2019-10-17 15:59:11.681641905 -0400
-+++ 10.17-1/FreeFileSync/Source/afs/libssh2/libssh2_wrap.h 2019-10-21 08:32:59.666149954 -0400
-@@ -172,8 +172,8 @@
- ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_ENCRYPT);
- ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_BAD_SOCKET);
- ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_KNOWN_HOSTS);
-- ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_CHANNEL_WINDOW_FULL);
-- ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_KEYFILE_AUTH_FAILED);
-+ //ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_CHANNEL_WINDOW_FULL);
-+ //ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_KEYFILE_AUTH_FAILED);
- }
- return replaceCpy<std::wstring>(L"SSH status %x.", L"%x", numberTo<std::wstring>(sc));
- }
-Message: It appears upstream moved libssh2_wrap, but the above file patches correctly, so we will leave it while adding this new, identical patch.
diff -Naur /usr/src/freefilesync/10.20-0/libssh2/libssh2_wrap.h /usr/src/freefilesync/10.20-1/libssh2/libssh2_wrap.h
---- 10.20-0/libssh2/libssh2_wrap.h 2020-02-15 14:50:08.356617565 -0500
-+++ 10.20-1/libssh2/libssh2_wrap.h 2020-02-15 15:11:25.992842154 -0500
-@@ -172,8 +172,8 @@
+--- 10.22-0/libssh2/libssh2_wrap.h 2020-03-18 15:49:57.839901161 -0400
++++ 10.22-1/libssh2/libssh2_wrap.h 2020-03-18 16:17:29.758794018 -0400
+@@ -172,8 +172,6 @@
ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_ENCRYPT);
ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_BAD_SOCKET);
ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_KNOWN_HOSTS);
- ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_CHANNEL_WINDOW_FULL);
- ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_KEYFILE_AUTH_FAILED);
-+ //ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_CHANNEL_WINDOW_FULL);
-+ //ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_KEYFILE_AUTH_FAILED);
- }
- return replaceCpy<std::wstring>(L"SSH status %x.", L"%x", numberTo<std::wstring>(sc));
- }
+
+ default:
+ return replaceCpy<std::wstring>(L"SSH status %x", L"%x", numberTo<std::wstring>(sc));
diff --git a/freefilesync/ffs_libssl.patch b/freefilesync/ffs_libssl.patch
new file mode 100644
index 0000000..1e043c1
--- /dev/null
+++ b/freefilesync/ffs_libssl.patch
@@ -0,0 +1,53 @@
+Author: bgstack15
+Message: Revert freefilesync 10.22 zen/open_ssl.cpp which depends on openssl 1.1.1e which is not available in this distro yet.
+Date: 2020-03-18
+diff --git a/zen/open_ssl.cpp b/zen/open_ssl.cpp
+index 0f1da3fc..b823f8ca 100644
+--- a/zen/open_ssl.cpp
++++ b/zen/open_ssl.cpp
+@@ -18,7 +18,7 @@ using namespace zen;
+ #error FFS, we are royally screwed!
+ #endif
+
+-static_assert(OPENSSL_VERSION_NUMBER >= 0x1010105fL, "OpenSSL version too old");
++static_assert(OPENSSL_VERSION_NUMBER >= 0x10100000L, "OpenSSL version too old");
+
+
+ void zen::openSslInit()
+@@ -68,7 +68,7 @@ std::wstring formatOpenSSLError(const std::wstring& functionName, unsigned long
+
+ std::wstring formatLastOpenSSLError(const std::wstring& functionName)
+ {
+- const auto ec = ::ERR_peek_last_error();
++ const unsigned long ec = ::ERR_peek_last_error();
+ ::ERR_clear_error(); //clean up for next OpenSSL operation on this thread
+ return formatOpenSSLError(functionName, ec);
+ }
+@@ -566,16 +566,9 @@ public:
+ if (rv != 1)
+ {
+ const int sslError = ::SSL_get_error(ssl_, rv);
+- if (sslError == SSL_ERROR_ZERO_RETURN)
+- return 0; //EOF + close_notify alert
+-
+- warn_static("find a better solution for SSL_read_ex + EOF")
+- //"sslError == SSL_ERROR_SYSCALL && ::ERR_peek_last_error() == 0" => obsolete as of OpenSSL 1.1.1e
+- //https://github.com/openssl/openssl/issues/10880#issuecomment-575746226
+- const auto ec = ::ERR_peek_last_error();
+- if (sslError == SSL_ERROR_SSL && ERR_GET_REASON(ec) == SSL_R_UNEXPECTED_EOF_WHILE_READING) //EOF: only expected for HTTP/1.0
++ if (sslError == SSL_ERROR_ZERO_RETURN || //EOF + close_notify alert
++ (sslError == SSL_ERROR_SYSCALL && ::ERR_peek_last_error() == 0)) //EOF: only expected for HTTP/1.0
+ return 0;
+-
+ throw SysError(formatLastOpenSSLError(L"SSL_read_ex") + L' ' + formatSslErrorCode(sslError));
+ }
+ assert(bytesReceived > 0); //SSL_read_ex() considers EOF an error!
+@@ -771,7 +764,7 @@ std::string zen::convertPuttyKeyToPkix(const std::string& keyStream, const std::
+
+ auto numToBeString = [](size_t n) -> std::string
+ {
+- static_assert(usingLittleEndian()&& sizeof(n) >= 4);
++ static_assert(usingLittleEndian() && sizeof(n) >= 4);
+ const char* numStr = reinterpret_cast<const char*>(&n);
+ return { numStr[3], numStr[2], numStr[1], numStr[0] }; //big endian!
+ };
diff --git a/freefilesync/ffs_no_wx311.patch b/freefilesync/ffs_no_wx311.patch
index 204740d..f3afae0 100644
--- a/freefilesync/ffs_no_wx311.patch
+++ b/freefilesync/ffs_no_wx311.patch
@@ -25,9 +25,9 @@ diff -Naur -x '*.orig' -x '*.rej' 10.3-0/wx+/grid.cpp 10.3-2/wx+/grid.cpp
toScroll += scrollSpeed * deltaSecs;
}
else
-diff -Naur 10.13-0/FreeFileSync/Source/base/ffs_paths.cpp 10.13-1/FreeFileSync/Source/base/ffs_paths.cpp
---- 10.13-0/FreeFileSync/Source/base/ffs_paths.cpp 2019-06-14 20:23:07.615661499 -0400
-+++ 10.18-1/FreeFileSync/Source/base/ffs_paths.cpp 2019-11-20 08:55:38.553446634 -0500
+diff -Naur 10.13-0/FreeFileSync/Source/ffs_paths.cpp 10.13-1/FreeFileSync/Source/ffs_paths.cpp
+--- 10.13-0/FreeFileSync/Source/ffs_paths.cpp 2019-06-14 20:23:07.615661499 -0400
++++ 10.18-1/FreeFileSync/Source/ffs_paths.cpp 2019-11-20 08:55:38.553446634 -0500
@@ -80,8 +80,8 @@
//OS standard path (XDG layout): ~/.config/FreeFileSync
diff --git a/freefilesync/freefilesync.spec b/freefilesync/freefilesync.spec
index f53c693..018b130 100644
--- a/freefilesync/freefilesync.spec
+++ b/freefilesync/freefilesync.spec
@@ -18,7 +18,7 @@
%define libssh2_name libssh2-%{name}
%endif
Name: freefilesync
-Version: 10.20
+Version: 10.22
Release: 1%{?dist}
Summary: A file synchronization utility
@@ -41,6 +41,7 @@ Patch6: ffs_libssh2.patch
Patch7: ffs_curl.patch
Patch8: ffs_bit.patch
Patch9: ffs_no_eraseif.patch
+Patch10: ffs_libssl.patch
Packager: B Stack <bgstack15@gmail.com>
# WARNING: the build will FAIL if you have wxGTK3-devel installed. Only wxGTK2-devel should be on the build system.
@@ -100,6 +101,7 @@ find . ! -type d \( -name '*.c' -o -name '*.cpp' -o -name '*.h' \) \
%patch8 -p1
%patch9 -p1
%endif
+%patch10 -p1
# custom build parameters for packaging application in rpm
# fedora provides build_cxxflags, which is really just optflags
@@ -202,6 +204,10 @@ update-mime-database -n ${_datadir}/mime 1>/dev/null 2>&1 & :
%ghost %config %attr(666, -, -) %{_datadir}/%{name}/GlobalSettings.xml
%changelog
+* Wed Mar 18 2020 B Stack <bgstack15@gmail.com> - 10.22-1
+- version bump
+- add ffs_libssl.patch
+
* Tue Feb 18 2020 B Stack <bgstack15@gmail.com> - 10.20-1
- version bump
bgstack15