From f365d93a81834c1c770ac280a9d54c4870ef3fd5 Mon Sep 17 00:00:00 2001 From: B Stack Date: Wed, 18 Mar 2020 11:23:50 -0400 Subject: WIP: freefilesync 10.21-2+devuan Unfortunately 10.21 does not compile with gtk3 (or wxwidgets-gtk3) so this will have to be a manual build only. --- .../debian/patches/ffs_allow_parallel_ops.patch | 10 +++---- freefilesync/debian/patches/ffs_curl.patch | 32 ++++++++++------------ freefilesync/debian/patches/ffs_devuan.patch | 12 ++++---- freefilesync/debian/patches/ffs_libssh2.patch | 25 ++++------------- freefilesync/debian/patches/ffs_no_wx311.patch | 6 ++-- freefilesync/debian/patches/series | 2 +- 6 files changed, 34 insertions(+), 53 deletions(-) (limited to 'freefilesync/debian/patches') 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(L"Curl status %x.", L"%x", numberTo(static_cast(sc))); + return replaceCpy(L"Curl status %x", L"%x", numberTo(static_cast(sc))); } diff --git a/freefilesync/debian/patches/ffs_devuan.patch b/freefilesync/debian/patches/ffs_devuan.patch index f2290bd..47491bb 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() @@ -33,15 +33,15 @@ diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Sou 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(FORMAT_DATE, getCompileTime()); + build += utfTo(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 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: 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(L"SSH status %x.", L"%x", numberTo(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(L"SSH status %x.", L"%x", numberTo(sc)); - } + + default: + return replaceCpy(L"SSH status %x", L"%x", numberTo(sc)); 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..2d91735 100644 --- a/freefilesync/debian/patches/series +++ b/freefilesync/debian/patches/series @@ -1,7 +1,7 @@ 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 -- cgit From 1414e80d503bfe32fae8aad9eb52af32fe58d721 Mon Sep 17 00:00:00 2001 From: B Stack Date: Wed, 18 Mar 2020 14:19:01 -0400 Subject: add ability to control -pie from d/r --- freefilesync/debian/patches/ffs_devuan.patch | 33 ++++++++++++----------- freefilesync/debian/patches/ffs_devuan_gtk3.patch | 11 ++++---- 2 files changed, 23 insertions(+), 21 deletions(-) (limited to 'freefilesync/debian/patches') diff --git a/freefilesync/debian/patches/ffs_devuan.patch b/freefilesync/debian/patches/ffs_devuan.patch index 47491bb..9bd4a2a 100644 --- a/freefilesync/debian/patches/ffs_devuan.patch +++ b/freefilesync/debian/patches/ffs_devuan.patch @@ -16,20 +16,21 @@ 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 @@ -44,19 +45,19 @@ diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.19-0/FreeFileSync/Sou build += utfTo(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` -- cgit From 8797c769ed07f432fcc5e297926f520d814740a4 Mon Sep 17 00:00:00 2001 From: B Stack Date: Wed, 18 Mar 2020 15:17:34 -0400 Subject: freefilesync 10.22 dpkg rc1 revert 10.22 open_ssl.cpp changes back to 10.21 --- freefilesync/debian/patches/ffs_libssl.patch | 53 ++++++++++++++++++++++++++++ freefilesync/debian/patches/series | 1 + 2 files changed, 54 insertions(+) create mode 100644 freefilesync/debian/patches/ffs_libssl.patch (limited to 'freefilesync/debian/patches') 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(&n); + return { numStr[3], numStr[2], numStr[1], numStr[0] }; //big endian! + }; diff --git a/freefilesync/debian/patches/series b/freefilesync/debian/patches/series index 2d91735..48d9670 100644 --- a/freefilesync/debian/patches/series +++ b/freefilesync/debian/patches/series @@ -7,3 +7,4 @@ ffs_no_wx311.patch ffs_sftp.patch ffs_libssh2.patch ffs_curl.patch +ffs_libssl.patch -- cgit