From 4687d95b1a51b746b19dc8b47e1241bedae0b226 Mon Sep 17 00:00:00 2001 From: B Stack Date: Mon, 21 Oct 2019 09:46:34 -0400 Subject: freefilesync 10.17 dpkg rc1 --- freefilesync/debian/README.Debian | 5 +++ freefilesync/debian/changelog | 13 ++++++ freefilesync/debian/patches/ffs_curl.patch | 20 +++++++++ freefilesync/debian/patches/ffs_devuan.patch | 15 ++++++- freefilesync/debian/patches/ffs_libssh2.patch | 23 +++++----- freefilesync/debian/patches/ffs_sftp.patch | 62 --------------------------- freefilesync/debian/patches/series | 1 + 7 files changed, 63 insertions(+), 76 deletions(-) create mode 100644 freefilesync/debian/patches/ffs_curl.patch (limited to 'freefilesync') diff --git a/freefilesync/debian/README.Debian b/freefilesync/debian/README.Debian index 879aeeb..b370841 100644 --- a/freefilesync/debian/README.Debian +++ b/freefilesync/debian/README.Debian @@ -1,3 +1,8 @@ +freefilesync (10.17-1+devuan) + + * Disable libcurl version check, to match AUR release. + * Minor cleanup of Makefile that upstream failed to notice when he refactored + freefilesync (10.16-1+devuan) * Revert some sftp and libssh2 newer-version functionality. Upstream apparently patches their upstream libs. diff --git a/freefilesync/debian/changelog b/freefilesync/debian/changelog index 7759619..524371a 100644 --- a/freefilesync/debian/changelog +++ b/freefilesync/debian/changelog @@ -1,3 +1,16 @@ +freefilesync (10.17-1+devuan) obs; urgency=low + + * Support PuTTY private key files for SFTP login + * Enable zlib compression for SFTP servers if supported + * Update last sync time despite differences if nothing to do + * Reduce graph total time update interval + * Remember folder history not just for first folder pair + * Allow unprivileged symlink creation in Windows Developer Mode + * Integrate latest libcurl FTP bug fixes + * Detect common invalid SFTP key file formats + * Fixed startup crash caused by corrupted HDD properties + * Allow SFTP access via Ed25519 key in PKIX format + freefilesync (10.16-1+devuan) obs; urgency=low * Redesigned progress indicator graphs diff --git a/freefilesync/debian/patches/ffs_curl.patch b/freefilesync/debian/patches/ffs_curl.patch new file mode 100644 index 0000000..2844a54 --- /dev/null +++ b/freefilesync/debian/patches/ffs_curl.patch @@ -0,0 +1,20 @@ +Source: AUR +Author: Simon Brulhart +Date: 2019-10-20 21:33:47 +0200 +Message: +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 @@ + 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)); + /* 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 + diff --git a/freefilesync/debian/patches/ffs_devuan.patch b/freefilesync/debian/patches/ffs_devuan.patch index a71649d..fc16f54 100644 --- a/freefilesync/debian/patches/ffs_devuan.patch +++ b/freefilesync/debian/patches/ffs_devuan.patch @@ -1,3 +1,8 @@ +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 @@ -18,7 +23,7 @@ diff -Naur -x '*.orig' -x '*.rej' 10.11-0/FreeFileSync/Source/Makefile 10.11-1/F -EXENAME = FreeFileSync_$(shell arch) +EXENAME = FreeFileSync - CXXFLAGS = -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -DLIBSSH2_OPENSSL -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 @@ -35,6 +40,14 @@ diff -Naur -x '*.orig' -x '*.rej' 10.11-0/FreeFileSync/Source/Makefile 10.11-1/F #treat as system headers so that warnings are hidden: CXXFLAGS += -isystem/usr/include/gtk-2.0 +@@ -56,7 +56,6 @@ + CPP_FILES+=afs/init_curl_libssh2.cpp + CPP_FILES+=afs/native.cpp + CPP_FILES+=afs/sftp.cpp +-CPP_FILES+=afs/libssh2/init_libssh2.cpp + CPP_FILES+=ui/batch_config.cpp + CPP_FILES+=ui/abstract_folder_picker.cpp + CPP_FILES+=ui/batch_status_handler.cpp diff -Naur -x '*.orig' -x '*.rej' 10.11-0/FreeFileSync/Source/RealTimeSync/Makefile 10.11-1/FreeFileSync/Source/RealTimeSync/Makefile --- 10.11-0/FreeFileSync/Source/RealTimeSync/Makefile 2019-04-12 08:05:57.000000000 -0400 +++ 10.15-1/FreeFileSync/Source/RealTimeSync/Makefile 2019-08-15 13:59:53.934551753 -0400 diff --git a/freefilesync/debian/patches/ffs_libssh2.patch b/freefilesync/debian/patches/ffs_libssh2.patch index d901cf5..0abd660 100644 --- a/freefilesync/debian/patches/ffs_libssh2.patch +++ b/freefilesync/debian/patches/ffs_libssh2.patch @@ -9,10 +9,9 @@ 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 -diff -x '*.orig' -x '*.swp' -x '.git*' -Naur 10.16-0/FreeFileSync/Source/afs/sftp.cpp 10.16-1/FreeFileSync/Source/afs/sftp.cpp ---- 10.16-0/FreeFileSync/Source/afs/sftp.cpp 2019-09-17 07:56:37.359051676 -0400 -+++ 10.16-1/FreeFileSync/Source/afs/sftp.cpp 2019-09-17 09:30:59.293824626 -0400 -@@ -218,8 +218,8 @@ +--- 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); @@ -25,15 +24,13 @@ diff -x '*.orig' -x '*.swp' -x '.git*' -Naur 10.16-0/FreeFileSync/Source/afs/sft } diff -x '*.swp' -x .git -Naur 10.10-0/FreeFileSync/Source/afs/sftp.cpp 10.10-1/FreeFileSync/Source/afs/sftp.cpp --- 10.10-0/FreeFileSync/Source/afs/sftp.cpp 2019-03-12 08:09:58.465098982 -0400 -+++ 10.10-1/FreeFileSync/Source/afs/sftp.cpp 2019-03-12 08:27:05.718963710 -0400 -@@ -1657,8 +1657,8 @@ ++++ 10.17-1/FreeFileSync/Source/afs/sftp.cpp 2019-10-21 08:46:07.562161269 -0400 +@@ -1588,7 +1588,7 @@ runSftpCommand(login_, L"libssh2_sftp_mkdir", //throw SysError [&](const SshSession::Details& sd) //noexcept! { --#if 1 //let's see how LIBSSH2_SFTP_DEFAULT_MODE works out: -- return ::libssh2_sftp_mkdir(sd.sftpChannel, getLibssh2Path(afsPath).c_str(), LIBSSH2_SFTP_DEFAULT_MODE); -+#if 1 //let's see how LIBSSH2_SFTP_S_IRWXU | LIBSSH2_SFTP_S_IRWXG | LIBSSH2_SFTP_S_IRWXO works out: -+ return ::libssh2_sftp_mkdir(sd.sftpChannel, getLibssh2Path(afsPath).c_str(), LIBSSH2_SFTP_S_IRWXU | LIBSSH2_SFTP_S_IRWXG | LIBSSH2_SFTP_S_IRWXO); - #else //default for newly created directories: 0777 - return ::libssh2_sftp_mkdir(sd.sftpChannel, getLibssh2Path(afsPath).c_str(), LIBSSH2_SFTP_S_IRWXU | LIBSSH2_SFTP_S_IRWXG | LIBSSH2_SFTP_S_IRWXO); - #endif +- return ::libssh2_sftp_mkdir(sd.sftpChannel, getLibssh2Path(afsPath), LIBSSH2_SFTP_DEFAULT_MODE); ++ return ::libssh2_sftp_mkdir(sd.sftpChannel, getLibssh2Path(afsPath), LIBSSH2_SFTP_S_IRWXU | LIBSSH2_SFTP_S_IRWXG | LIBSSH2_SFTP_S_IRWXO); + //default for newly created directories: 0777 (LIBSSH2_SFTP_S_IRWXU | LIBSSH2_SFTP_S_IRWXG | LIBSSH2_SFTP_S_IRWXO) + }); + } diff --git a/freefilesync/debian/patches/ffs_sftp.patch b/freefilesync/debian/patches/ffs_sftp.patch index afc8f07..c30b09c 100644 --- a/freefilesync/debian/patches/ffs_sftp.patch +++ b/freefilesync/debian/patches/ffs_sftp.patch @@ -1,70 +1,8 @@ -Source: -Author: B Stack -Message: In FreeFileSync 10.16, upstream uses a higher version of libcurl than what is available for most distros. This change will probably break ftp usage and any such breakage should be reported to this patch author so that he can actually go package the latest version of libcurl for the affected distro instead of being lazy and basically breaking stuff just to compile. -Date: 2019-09-17T13:46:28Z - Source: Author: B Stack Message: The upstream author observed that some of the values he uses are not in the libssh2 public headers. I don't know where he uses them from, but I had to replace them here to get this to compile. Date: 2019-02-11T12:15:59Z https://github.com/libssh2/libssh2/issues/90 -diff -x '*.swp' -x '.git*' -Naur 10.16-0/FreeFileSync/Source/afs/ftp.cpp 10.16-1/FreeFileSync/Source/afs/ftp.cpp ---- 10.16-0/FreeFileSync/Source/afs/ftp.cpp 2019-09-17 07:56:37.351051558 -0400 -+++ 10.16-1/FreeFileSync/Source/afs/ftp.cpp 2019-09-17 09:07:42.581456870 -0400 -@@ -543,7 +543,7 @@ - ZEN_ON_SCOPE_EXIT(::curl_slist_free_all(quote)); - quote = ::curl_slist_append(quote, ftpCmd.c_str()); - -- return perform(AfsPath(), true /*isDir*/, CURLFTPMETHOD_FULLPATH, //really avoid needless CWDs unlike buggy(!) CURLFTPMETHOD_NOCWD -+ return perform(AfsPath(), true /*isDir*/, CURLFTPMETHOD_LAST, //really avoid needless CWDs unlike buggy(!) CURLFTPMETHOD_NOCWD - { - { CURLOPT_NOBODY, 1L }, - { CURLOPT_QUOTE, quote }, -@@ -665,7 +665,7 @@ - } - - /* 1. FFS CURLFTPMETHOD_NOCWD is buggy (see comment FtpSession::perform()) => must use absolute, not home-relative paths! -- 2. Support CURLFTPMETHOD_FULLPATH => must use absolute, not home-relative paths! -+ 2. Support CURLFTPMETHOD_LAST => must use absolute, not home-relative paths! - 3. Some FTP servers distinguish between user-home- and root-relative paths! e.g. FreeNAS: https://freefilesync.org/forum/viewtopic.php?t=6129 - => use root-relative paths (= same as expected by CURLOPT_QUOTE) https://curl.haxx.se/docs/faq.html#How_do_I_list_the_root_dir_of_an - => use // because /%2f had bugs (but they should be fixed: https://github.com/curl/curl/pull/4348) -@@ -1021,7 +1021,7 @@ - }(); - - if (!pathHasWildcards) -- pathMethod = CURLFTPMETHOD_FULLPATH; //16% faster traversal compared to CURLFTPMETHOD_SINGLECWD (35% faster than CURLFTPMETHOD_MULTICWD) -+ pathMethod = CURLFTPMETHOD_LAST; //16% faster traversal compared to CURLFTPMETHOD_SINGLECWD (35% faster than CURLFTPMETHOD_MULTICWD) - } - //else: use "LIST" + CURLFTPMETHOD_SINGLECWD - //caveat: let's better not use LIST parameters: https://cr.yp.to/ftp/list.html -@@ -1591,7 +1591,7 @@ - { - accessFtpSession(login, [&](FtpSession& session) //throw SysError - { -- session.perform(afsFilePath, false /*isDir*/, CURLFTPMETHOD_FULLPATH, //are there any servers that require CURLFTPMETHOD_SINGLECWD? let's find out -+ session.perform(afsFilePath, false /*isDir*/, CURLFTPMETHOD_LAST, //are there any servers that require CURLFTPMETHOD_SINGLECWD? let's find out - { - { CURLOPT_WRITEDATA, &onBytesReceived }, - { CURLOPT_WRITEFUNCTION, onBytesReceivedWrapper }, -@@ -1657,7 +1657,7 @@ - - //optimize fail-safe copy with RNFR/RNTO as CURLOPT_POSTQUOTE? -> even slightly *slower* than RNFR/RNTO as additional curl_easy_perform() - */ -- session.perform(afsFilePath, false /*isDir*/, CURLFTPMETHOD_FULLPATH, //are there any servers that require CURLFTPMETHOD_SINGLECWD? let's find out -+ session.perform(afsFilePath, false /*isDir*/, CURLFTPMETHOD_LAST, //are there any servers that require CURLFTPMETHOD_SINGLECWD? let's find out - { - { CURLOPT_UPLOAD, 1L }, - { CURLOPT_READDATA, &getBytesToSend }, -@@ -2126,7 +2126,7 @@ - quote = ::curl_slist_append(quote, ("RNFR " + session.getServerRelPathInternal(pathFrom, login_.timeoutSec)).c_str()); //throw SysError - quote = ::curl_slist_append(quote, ("RNTO " + session.getServerRelPathInternal(pathTo.afsPath, login_.timeoutSec)).c_str()); // - -- session.perform(AfsPath(), true /*isDir*/, CURLFTPMETHOD_FULLPATH, //really avoid needless CWDs unlike buggy(!) CURLFTPMETHOD_NOCWD -+ session.perform(AfsPath(), true /*isDir*/, CURLFTPMETHOD_LAST, //really avoid needless CWDs unlike buggy(!) CURLFTPMETHOD_NOCWD - { - { CURLOPT_NOBODY, 1L }, - { CURLOPT_QUOTE, quote }, diff -x '*.orig' -x '*.swp' -x '*.rej' -Naur 10.9-0/FreeFileSync/Source/afs/sftp.cpp 10.9-1/FreeFileSync/Source/afs/sftp.cpp --- 10.9-0/FreeFileSync/Source/afs/sftp.cpp 2019-02-10 16:42:29.139040980 -0500 +++ 10.9-1/FreeFileSync/Source/afs/sftp.cpp 2019-02-10 21:28:00.030732089 -0500 diff --git a/freefilesync/debian/patches/series b/freefilesync/debian/patches/series index 54052a9..51b0191 100644 --- a/freefilesync/debian/patches/series +++ b/freefilesync/debian/patches/series @@ -4,3 +4,4 @@ ffs_no_check_updates.patch ffs_no_wx311.patch ffs_sftp.patch ffs_libssh2.patch +ffs_curl.patch -- cgit From 8303df38956fc971a236a2c7fc776a8da2f6ab54 Mon Sep 17 00:00:00 2001 From: B Stack Date: Tue, 22 Oct 2019 09:37:03 -0400 Subject: WIP: freefilesync 10.17 rpm rc1 Attempt at updating the patches for 10.17. Need to try with libcurl 7.66.0 which my local install does not have. --- freefilesync/ffs_curl.patch | 50 ++++++++++++++++++++++++++++++++++ freefilesync/ffs_el.patch | 14 ++++++++-- freefilesync/ffs_fedora.patch | 20 ++++++++++++-- freefilesync/ffs_libssh2.patch | 33 ++++++++++++++++------ freefilesync/ffs_sftp.patch | 62 ------------------------------------------ freefilesync/freefilesync.spec | 9 ++++-- 6 files changed, 109 insertions(+), 79 deletions(-) create mode 100644 freefilesync/ffs_curl.patch (limited to 'freefilesync') diff --git a/freefilesync/ffs_curl.patch b/freefilesync/ffs_curl.patch new file mode 100644 index 0000000..25ad6a6 --- /dev/null +++ b/freefilesync/ffs_curl.patch @@ -0,0 +1,50 @@ +Source: AUR +Author: Simon Brulhart +Date: 2019-10-20 21:33:47 +0200 +Message: +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 + +# ffs_curl.patch is different between the rpm and dpkg +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 @@ + 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)); + /* 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: For Fedora <= 30 that has curl < 7.66.0 you need this patch. +diff -x '*.swp' -Naur 10.17-0/FreeFileSync/Source/afs/libcurl/curl_wrap.h 10.17-1/FreeFileSync/Source/afs/libcurl/curl_wrap.h +--- 10.17-0/FreeFileSync/Source/afs/libcurl/curl_wrap.h 2019-10-21 11:23:51.238139296 -0400 ++++ 10.17-1/FreeFileSync/Source/afs/libcurl/curl_wrap.h 2019-10-21 11:37:17.175140528 -0400 +@@ -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(L"Curl status %x.", L"%x", numberTo(static_cast(sc))); + } diff --git a/freefilesync/ffs_el.patch b/freefilesync/ffs_el.patch index 1e75f1c..05d8dd6 100644 --- a/freefilesync/ffs_el.patch +++ b/freefilesync/ffs_el.patch @@ -10,7 +10,7 @@ diff -Naur 10.13-0/FreeFileSync/Source/base/ffs_paths.cpp 10.13-1/FreeFileSync/S Zstring fff::getResourceDirPf() { - return getProcessParentFolderPath() + FILE_NAME_SEPARATOR + Zstr("Resources") + FILE_NAME_SEPARATOR; -+ // For Fedora/EL, install to /usr/share/freefilesync specificly ++ // For Fedora, EL and Devuan, install to /usr/share/freefilesync specificly + return Zstr("/usr/share/freefilesync/"); } @@ -22,8 +22,8 @@ diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/FreeFileSync/Source/Makefil -EXENAME = FreeFileSync_$(shell arch) +EXENAME = FreeFileSync --CXXFLAGS = -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -DLIBSSH2_OPENSSL -I../.. -I../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \ -+CXXFLAGS = -std=c++17 -pipe -DWXINTL_NO_GETTEXT_MACRO -DLIBSSH2_OPENSSL -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++17 -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 -fPIC `wx-config --version=3.0 --cxxflags --debug=no` -pthread @@ -75,6 +75,14 @@ diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/FreeFileSync/Source/RealTim #treat as system headers so that warnings are hidden: CXXFLAGS += -isystem/usr/include/gtk-2.0 +@@ -56,7 +56,6 @@ + CPP_FILES+=afs/init_curl_libssh2.cpp + CPP_FILES+=afs/native.cpp + CPP_FILES+=afs/sftp.cpp +-CPP_FILES+=afs/libssh2/init_libssh2.cpp + CPP_FILES+=ui/batch_config.cpp + CPP_FILES+=ui/abstract_folder_picker.cpp + CPP_FILES+=ui/batch_status_handler.cpp diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/FreeFileSync/Source/ui/small_dlgs.cpp 10.11-1/FreeFileSync/Source/ui/small_dlgs.cpp --- 10.11-0/FreeFileSync/Source/ui/small_dlgs.cpp 2019-04-12 07:59:45.318160616 -0400 +++ 10.11-1/FreeFileSync/Source/ui/small_dlgs.cpp 2019-04-12 10:19:57.228913439 -0400 diff --git a/freefilesync/ffs_fedora.patch b/freefilesync/ffs_fedora.patch index 3355299..5c5e3b7 100644 --- a/freefilesync/ffs_fedora.patch +++ b/freefilesync/ffs_fedora.patch @@ -1,4 +1,8 @@ -Upstream uses a libcurl more current than Fedora 29. +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 @@ -7,11 +11,13 @@ diff -Naur 10.13-0/FreeFileSync/Source/base/ffs_paths.cpp 10.13-1/FreeFileSync/S Zstring fff::getResourceDirPf() { - return getProcessParentFolderPath() + FILE_NAME_SEPARATOR + Zstr("Resources") + FILE_NAME_SEPARATOR; -+ // For Fedora/EL, install to /usr/share/freefilesync specificly ++ // For Fedora, EL and Devuan, install to /usr/share/freefilesync specificly + return Zstr("/usr/share/freefilesync/"); } +Author: B Stack +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 @@ -31,7 +37,7 @@ diff -Naur 10.11-0/FreeFileSync/Source/Makefile 10.11-1/FreeFileSync/Source/Make -EXENAME = FreeFileSync_$(shell arch) +EXENAME = FreeFileSync - CXXFLAGS = -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -DLIBSSH2_OPENSSL -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 @@ -48,6 +54,14 @@ diff -Naur 10.11-0/FreeFileSync/Source/Makefile 10.11-1/FreeFileSync/Source/Make #treat as system headers so that warnings are hidden: CXXFLAGS += -isystem/usr/include/gtk-2.0 +@@ -56,7 +56,6 @@ + CPP_FILES+=afs/init_curl_libssh2.cpp + CPP_FILES+=afs/native.cpp + CPP_FILES+=afs/sftp.cpp +-CPP_FILES+=afs/libssh2/init_libssh2.cpp + CPP_FILES+=ui/batch_config.cpp + CPP_FILES+=ui/abstract_folder_picker.cpp + CPP_FILES+=ui/batch_status_handler.cpp diff -Naur 10.11-0/FreeFileSync/Source/RealTimeSync/Makefile 10.11-1/FreeFileSync/Source/RealTimeSync/Makefile --- 10.11-0/FreeFileSync/Source/RealTimeSync/Makefile 2019-04-12 07:59:45.008146336 -0400 +++ 10.15-1/FreeFileSync/Source/RealTimeSync/Makefile 2019-08-15 13:59:53.934551753 -0400 diff --git a/freefilesync/ffs_libssh2.patch b/freefilesync/ffs_libssh2.patch index 4fc1497..0abd660 100644 --- a/freefilesync/ffs_libssh2.patch +++ b/freefilesync/ffs_libssh2.patch @@ -5,17 +5,32 @@ Method: sed -e 's/LIBSSH2_SFTP_DEFAULT_MODE/LIBSSH2_SFTP_S_IRWXU | LIBSSH2_SFTP_S_IRWXG | LIBSSH2_SFTP_S_IRWXO/g' -i 'FreeFileSync/Source/afs/sftp.cpp' +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 +@@ -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)); + } diff -x '*.swp' -x .git -Naur 10.10-0/FreeFileSync/Source/afs/sftp.cpp 10.10-1/FreeFileSync/Source/afs/sftp.cpp --- 10.10-0/FreeFileSync/Source/afs/sftp.cpp 2019-03-12 08:09:58.465098982 -0400 -+++ 10.10-1/FreeFileSync/Source/afs/sftp.cpp 2019-03-12 08:27:05.718963710 -0400 -@@ -1657,8 +1657,8 @@ ++++ 10.17-1/FreeFileSync/Source/afs/sftp.cpp 2019-10-21 08:46:07.562161269 -0400 +@@ -1588,7 +1588,7 @@ runSftpCommand(login_, L"libssh2_sftp_mkdir", //throw SysError [&](const SshSession::Details& sd) //noexcept! { --#if 1 //let's see how LIBSSH2_SFTP_DEFAULT_MODE works out: -- return ::libssh2_sftp_mkdir(sd.sftpChannel, getLibssh2Path(afsPath).c_str(), LIBSSH2_SFTP_DEFAULT_MODE); -+#if 1 //let's see how LIBSSH2_SFTP_S_IRWXU | LIBSSH2_SFTP_S_IRWXG | LIBSSH2_SFTP_S_IRWXO works out: -+ return ::libssh2_sftp_mkdir(sd.sftpChannel, getLibssh2Path(afsPath).c_str(), LIBSSH2_SFTP_S_IRWXU | LIBSSH2_SFTP_S_IRWXG | LIBSSH2_SFTP_S_IRWXO); - #else //default for newly created directories: 0777 - return ::libssh2_sftp_mkdir(sd.sftpChannel, getLibssh2Path(afsPath).c_str(), LIBSSH2_SFTP_S_IRWXU | LIBSSH2_SFTP_S_IRWXG | LIBSSH2_SFTP_S_IRWXO); - #endif +- return ::libssh2_sftp_mkdir(sd.sftpChannel, getLibssh2Path(afsPath), LIBSSH2_SFTP_DEFAULT_MODE); ++ return ::libssh2_sftp_mkdir(sd.sftpChannel, getLibssh2Path(afsPath), LIBSSH2_SFTP_S_IRWXU | LIBSSH2_SFTP_S_IRWXG | LIBSSH2_SFTP_S_IRWXO); + //default for newly created directories: 0777 (LIBSSH2_SFTP_S_IRWXU | LIBSSH2_SFTP_S_IRWXG | LIBSSH2_SFTP_S_IRWXO) + }); + } diff --git a/freefilesync/ffs_sftp.patch b/freefilesync/ffs_sftp.patch index afc8f07..c30b09c 100644 --- a/freefilesync/ffs_sftp.patch +++ b/freefilesync/ffs_sftp.patch @@ -1,70 +1,8 @@ -Source: -Author: B Stack -Message: In FreeFileSync 10.16, upstream uses a higher version of libcurl than what is available for most distros. This change will probably break ftp usage and any such breakage should be reported to this patch author so that he can actually go package the latest version of libcurl for the affected distro instead of being lazy and basically breaking stuff just to compile. -Date: 2019-09-17T13:46:28Z - Source: Author: B Stack Message: The upstream author observed that some of the values he uses are not in the libssh2 public headers. I don't know where he uses them from, but I had to replace them here to get this to compile. Date: 2019-02-11T12:15:59Z https://github.com/libssh2/libssh2/issues/90 -diff -x '*.swp' -x '.git*' -Naur 10.16-0/FreeFileSync/Source/afs/ftp.cpp 10.16-1/FreeFileSync/Source/afs/ftp.cpp ---- 10.16-0/FreeFileSync/Source/afs/ftp.cpp 2019-09-17 07:56:37.351051558 -0400 -+++ 10.16-1/FreeFileSync/Source/afs/ftp.cpp 2019-09-17 09:07:42.581456870 -0400 -@@ -543,7 +543,7 @@ - ZEN_ON_SCOPE_EXIT(::curl_slist_free_all(quote)); - quote = ::curl_slist_append(quote, ftpCmd.c_str()); - -- return perform(AfsPath(), true /*isDir*/, CURLFTPMETHOD_FULLPATH, //really avoid needless CWDs unlike buggy(!) CURLFTPMETHOD_NOCWD -+ return perform(AfsPath(), true /*isDir*/, CURLFTPMETHOD_LAST, //really avoid needless CWDs unlike buggy(!) CURLFTPMETHOD_NOCWD - { - { CURLOPT_NOBODY, 1L }, - { CURLOPT_QUOTE, quote }, -@@ -665,7 +665,7 @@ - } - - /* 1. FFS CURLFTPMETHOD_NOCWD is buggy (see comment FtpSession::perform()) => must use absolute, not home-relative paths! -- 2. Support CURLFTPMETHOD_FULLPATH => must use absolute, not home-relative paths! -+ 2. Support CURLFTPMETHOD_LAST => must use absolute, not home-relative paths! - 3. Some FTP servers distinguish between user-home- and root-relative paths! e.g. FreeNAS: https://freefilesync.org/forum/viewtopic.php?t=6129 - => use root-relative paths (= same as expected by CURLOPT_QUOTE) https://curl.haxx.se/docs/faq.html#How_do_I_list_the_root_dir_of_an - => use // because /%2f had bugs (but they should be fixed: https://github.com/curl/curl/pull/4348) -@@ -1021,7 +1021,7 @@ - }(); - - if (!pathHasWildcards) -- pathMethod = CURLFTPMETHOD_FULLPATH; //16% faster traversal compared to CURLFTPMETHOD_SINGLECWD (35% faster than CURLFTPMETHOD_MULTICWD) -+ pathMethod = CURLFTPMETHOD_LAST; //16% faster traversal compared to CURLFTPMETHOD_SINGLECWD (35% faster than CURLFTPMETHOD_MULTICWD) - } - //else: use "LIST" + CURLFTPMETHOD_SINGLECWD - //caveat: let's better not use LIST parameters: https://cr.yp.to/ftp/list.html -@@ -1591,7 +1591,7 @@ - { - accessFtpSession(login, [&](FtpSession& session) //throw SysError - { -- session.perform(afsFilePath, false /*isDir*/, CURLFTPMETHOD_FULLPATH, //are there any servers that require CURLFTPMETHOD_SINGLECWD? let's find out -+ session.perform(afsFilePath, false /*isDir*/, CURLFTPMETHOD_LAST, //are there any servers that require CURLFTPMETHOD_SINGLECWD? let's find out - { - { CURLOPT_WRITEDATA, &onBytesReceived }, - { CURLOPT_WRITEFUNCTION, onBytesReceivedWrapper }, -@@ -1657,7 +1657,7 @@ - - //optimize fail-safe copy with RNFR/RNTO as CURLOPT_POSTQUOTE? -> even slightly *slower* than RNFR/RNTO as additional curl_easy_perform() - */ -- session.perform(afsFilePath, false /*isDir*/, CURLFTPMETHOD_FULLPATH, //are there any servers that require CURLFTPMETHOD_SINGLECWD? let's find out -+ session.perform(afsFilePath, false /*isDir*/, CURLFTPMETHOD_LAST, //are there any servers that require CURLFTPMETHOD_SINGLECWD? let's find out - { - { CURLOPT_UPLOAD, 1L }, - { CURLOPT_READDATA, &getBytesToSend }, -@@ -2126,7 +2126,7 @@ - quote = ::curl_slist_append(quote, ("RNFR " + session.getServerRelPathInternal(pathFrom, login_.timeoutSec)).c_str()); //throw SysError - quote = ::curl_slist_append(quote, ("RNTO " + session.getServerRelPathInternal(pathTo.afsPath, login_.timeoutSec)).c_str()); // - -- session.perform(AfsPath(), true /*isDir*/, CURLFTPMETHOD_FULLPATH, //really avoid needless CWDs unlike buggy(!) CURLFTPMETHOD_NOCWD -+ session.perform(AfsPath(), true /*isDir*/, CURLFTPMETHOD_LAST, //really avoid needless CWDs unlike buggy(!) CURLFTPMETHOD_NOCWD - { - { CURLOPT_NOBODY, 1L }, - { CURLOPT_QUOTE, quote }, diff -x '*.orig' -x '*.swp' -x '*.rej' -Naur 10.9-0/FreeFileSync/Source/afs/sftp.cpp 10.9-1/FreeFileSync/Source/afs/sftp.cpp --- 10.9-0/FreeFileSync/Source/afs/sftp.cpp 2019-02-10 16:42:29.139040980 -0500 +++ 10.9-1/FreeFileSync/Source/afs/sftp.cpp 2019-02-10 21:28:00.030732089 -0500 diff --git a/freefilesync/freefilesync.spec b/freefilesync/freefilesync.spec index 7b7cc80..157c66b 100644 --- a/freefilesync/freefilesync.spec +++ b/freefilesync/freefilesync.spec @@ -18,8 +18,8 @@ %define libssh2_name libssh2-%{name} %endif Name: freefilesync -Version: 10.16 -Release: 2%{?dist} +Version: 10.17 +Release: 1%{?dist} Summary: A file synchronization utility Group: Applications/File @@ -38,6 +38,7 @@ Patch3: ffs_sftp.patch Patch4: ffs_fedora.patch Patch5: ffs_el.patch Patch6: ffs_libssh2.patch +Patch7: ffs_curl.patch Packager: B Stack # WARNING: the build will FAIL if you have wxGTK3-devel installed. Only wxGTK2-devel should be on the build system. @@ -92,6 +93,7 @@ find . ! -type d \( -name '*.c' -o -name '*.cpp' -o -name '*.h' \) \ %patch4 -p1 %endif %patch6 -p1 +%patch7 -p1 # custom build parameters for packaging application in rpm # fedora provides build_cxxflags, which is really just optflags @@ -194,6 +196,9 @@ update-mime-database -n ${_datadir}/mime 1>/dev/null 2>&1 & : %ghost %config %attr(666, -, -) %{_datadir}/%{name}/GlobalSettings.xml %changelog +* Mon Oct 21 2019 B Stack - 10.17-1 +- version bump + * Wed Oct 09 2019 B Stack - 10.16-2 - include support for el8 -- cgit From ee0f89a752197d8f7d0387ef102548e9a87f858a Mon Sep 17 00:00:00 2001 From: B Stack Date: Tue, 22 Oct 2019 11:02:57 -0400 Subject: WIP: ffs el patch --- freefilesync/ffs_el.patch | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) (limited to 'freefilesync') diff --git a/freefilesync/ffs_el.patch b/freefilesync/ffs_el.patch index 05d8dd6..f029be8 100644 --- a/freefilesync/ffs_el.patch +++ b/freefilesync/ffs_el.patch @@ -41,6 +41,14 @@ diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/FreeFileSync/Source/Makefil #treat as system headers so that warnings are hidden: CXXFLAGS += -isystem/usr/include/gtk-2.0 +@@ -56,7 +56,6 @@ + CPP_FILES+=afs/init_curl_libssh2.cpp + CPP_FILES+=afs/native.cpp + CPP_FILES+=afs/sftp.cpp +-CPP_FILES+=afs/libssh2/init_libssh2.cpp + CPP_FILES+=ui/batch_config.cpp + CPP_FILES+=ui/abstract_folder_picker.cpp + CPP_FILES+=ui/batch_status_handler.cpp diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/FreeFileSync/Source/RealTimeSync/application.h 10.11-1/FreeFileSync/Source/RealTimeSync/application.h --- 10.11-0/FreeFileSync/Source/RealTimeSync/application.h 2019-04-12 07:59:45.035147580 -0400 +++ 10.11-1/FreeFileSync/Source/RealTimeSync/application.h 2019-04-12 10:19:57.227913415 -0400 @@ -75,14 +83,6 @@ diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/FreeFileSync/Source/RealTim #treat as system headers so that warnings are hidden: CXXFLAGS += -isystem/usr/include/gtk-2.0 -@@ -56,7 +56,6 @@ - CPP_FILES+=afs/init_curl_libssh2.cpp - CPP_FILES+=afs/native.cpp - CPP_FILES+=afs/sftp.cpp --CPP_FILES+=afs/libssh2/init_libssh2.cpp - CPP_FILES+=ui/batch_config.cpp - CPP_FILES+=ui/abstract_folder_picker.cpp - CPP_FILES+=ui/batch_status_handler.cpp diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/FreeFileSync/Source/ui/small_dlgs.cpp 10.11-1/FreeFileSync/Source/ui/small_dlgs.cpp --- 10.11-0/FreeFileSync/Source/ui/small_dlgs.cpp 2019-04-12 07:59:45.318160616 -0400 +++ 10.11-1/FreeFileSync/Source/ui/small_dlgs.cpp 2019-04-12 10:19:57.228913439 -0400 @@ -107,6 +107,21 @@ diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/wx+/app_main.h 10.11-1/wx+/ #include #include +Version: FreeFileSync 10.17 +Distro: EL7,EL8,fc29 +Message: short-circuit for EL and Fedora 29. This probably has to do with gcc < 9. Conveniently, x86 and x86_64 are my only targets and they are little-endian. +diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.17-0/zen/build_info.h 10.17-1/zen/build_info.h +--- 10.17-0/zen/build_info.h 2019-10-21 11:23:51.249139703 -0400 ++++ 10.17-1/zen/build_info.h 2019-10-22 10:52:41.846538926 -0400 +@@ -24,7 +24,9 @@ + + constexpr bool usingLittleEndian() + { +- return std::endian::native == std::endian::little; ++ return true; + } + + #endif //BUILD_INFO_H_5928539285603428657 diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/zen/ring_buffer.h 10.11-1/zen/ring_buffer.h --- 10.11-0/zen/ring_buffer.h 2019-04-12 07:59:46.098196548 -0400 +++ 10.11-1/zen/ring_buffer.h 2019-04-12 10:19:57.228913439 -0400 -- cgit From 7d4b22aebbdf074592288daba85c1a1dae626875 Mon Sep 17 00:00:00 2001 From: B Stack Date: Tue, 22 Oct 2019 11:41:32 -0400 Subject: WIP: fix el patch --- freefilesync/ffs_el.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'freefilesync') diff --git a/freefilesync/ffs_el.patch b/freefilesync/ffs_el.patch index f029be8..5365636 100644 --- a/freefilesync/ffs_el.patch +++ b/freefilesync/ffs_el.patch @@ -112,8 +112,8 @@ Distro: EL7,EL8,fc29 Message: short-circuit for EL and Fedora 29. This probably has to do with gcc < 9. Conveniently, x86 and x86_64 are my only targets and they are little-endian. diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.17-0/zen/build_info.h 10.17-1/zen/build_info.h --- 10.17-0/zen/build_info.h 2019-10-21 11:23:51.249139703 -0400 -+++ 10.17-1/zen/build_info.h 2019-10-22 10:52:41.846538926 -0400 -@@ -24,7 +24,9 @@ ++++ 10.17-1/zen/build_info.h 2019-10-22 11:40:19.873435707 -0400 +@@ -24,7 +24,7 @@ constexpr bool usingLittleEndian() { -- cgit From 1240098e4905fc5fdf54740709873bed5137f7eb Mon Sep 17 00:00:00 2001 From: B Stack Date: Tue, 22 Oct 2019 13:56:22 -0400 Subject: WIP: test a separate patch for the include --- freefilesync/ffs_bit.patch | 26 ++++++++++++++++++++++++++ freefilesync/ffs_el.patch | 15 --------------- freefilesync/freefilesync.spec | 4 ++++ 3 files changed, 30 insertions(+), 15 deletions(-) create mode 100644 freefilesync/ffs_bit.patch (limited to 'freefilesync') diff --git a/freefilesync/ffs_bit.patch b/freefilesync/ffs_bit.patch new file mode 100644 index 0000000..3cc6ccc --- /dev/null +++ b/freefilesync/ffs_bit.patch @@ -0,0 +1,26 @@ +Author: bgstack15 +Date: 2019-10-22 +Version: FreeFileSync 10.17 +Distro: el7,el8,fc29 +Message: Some library is not available to these older distros, and it doesn't matter too much so far. +diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.17-0/zen/build_info.h 10.17-1/zen/build_info.h +--- 10.17-0/zen/build_info.h 2019-10-21 11:23:51.249139703 -0400 ++++ 10.17-1/zen/build_info.h 2019-10-22 13:53:00.207113564 -0400 +@@ -7,7 +7,7 @@ + #ifndef BUILD_INFO_H_5928539285603428657 + #define BUILD_INFO_H_5928539285603428657 + +- #include //std::endian ++ //#include //std::endian + + #define ZEN_ARCH_32BIT 32 + #define ZEN_ARCH_64BIT 64 +@@ -24,7 +24,7 @@ + + constexpr bool usingLittleEndian() + { +- return std::endian::native == std::endian::little; ++ return true; + } + + #endif //BUILD_INFO_H_5928539285603428657 diff --git a/freefilesync/ffs_el.patch b/freefilesync/ffs_el.patch index 5365636..b25c74e 100644 --- a/freefilesync/ffs_el.patch +++ b/freefilesync/ffs_el.patch @@ -107,21 +107,6 @@ diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/wx+/app_main.h 10.11-1/wx+/ #include #include -Version: FreeFileSync 10.17 -Distro: EL7,EL8,fc29 -Message: short-circuit for EL and Fedora 29. This probably has to do with gcc < 9. Conveniently, x86 and x86_64 are my only targets and they are little-endian. -diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.17-0/zen/build_info.h 10.17-1/zen/build_info.h ---- 10.17-0/zen/build_info.h 2019-10-21 11:23:51.249139703 -0400 -+++ 10.17-1/zen/build_info.h 2019-10-22 11:40:19.873435707 -0400 -@@ -24,7 +24,7 @@ - - constexpr bool usingLittleEndian() - { -- return std::endian::native == std::endian::little; -+ return true; - } - - #endif //BUILD_INFO_H_5928539285603428657 diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/zen/ring_buffer.h 10.11-1/zen/ring_buffer.h --- 10.11-0/zen/ring_buffer.h 2019-04-12 07:59:46.098196548 -0400 +++ 10.11-1/zen/ring_buffer.h 2019-04-12 10:19:57.228913439 -0400 diff --git a/freefilesync/freefilesync.spec b/freefilesync/freefilesync.spec index 157c66b..a10ff55 100644 --- a/freefilesync/freefilesync.spec +++ b/freefilesync/freefilesync.spec @@ -39,6 +39,7 @@ Patch4: ffs_fedora.patch Patch5: ffs_el.patch Patch6: ffs_libssh2.patch Patch7: ffs_curl.patch +Patch8: ffs_bit.patch Packager: B Stack # WARNING: the build will FAIL if you have wxGTK3-devel installed. Only wxGTK2-devel should be on the build system. @@ -94,6 +95,9 @@ find . ! -type d \( -name '*.c' -o -name '*.cpp' -o -name '*.h' \) \ %endif %patch6 -p1 %patch7 -p1 +%if 0%{?el6}%{?el7}%{?el8}{?fc29} +%patch8 -p1 +%endif # custom build parameters for packaging application in rpm # fedora provides build_cxxflags, which is really just optflags -- cgit From e39a5f977252c1169ac6c116e9099a99ac0ef4b6 Mon Sep 17 00:00:00 2001 From: B Stack Date: Tue, 22 Oct 2019 14:11:00 -0400 Subject: WIP: fix typo --- freefilesync/freefilesync.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'freefilesync') diff --git a/freefilesync/freefilesync.spec b/freefilesync/freefilesync.spec index a10ff55..4bba3cb 100644 --- a/freefilesync/freefilesync.spec +++ b/freefilesync/freefilesync.spec @@ -95,7 +95,7 @@ find . ! -type d \( -name '*.c' -o -name '*.cpp' -o -name '*.h' \) \ %endif %patch6 -p1 %patch7 -p1 -%if 0%{?el6}%{?el7}%{?el8}{?fc29} +%if 0%{?el6}%{?el7}%{?el8}%{?fc29} %patch8 -p1 %endif -- cgit From 5698f851f2b147e05aa9693cfc8d5f6e1e451635 Mon Sep 17 00:00:00 2001 From: B Stack Date: Wed, 23 Oct 2019 09:55:53 -0400 Subject: freefilesync: el7 use c++2a now Thanks to devtoolset-8, el7 can now compile against -std=c++2a --- freefilesync/ffs_el.patch | 13 ++++++------- freefilesync/freefilesync.spec | 7 ++++--- 2 files changed, 10 insertions(+), 10 deletions(-) (limited to 'freefilesync') diff --git a/freefilesync/ffs_el.patch b/freefilesync/ffs_el.patch index b25c74e..3e1e9d3 100644 --- a/freefilesync/ffs_el.patch +++ b/freefilesync/ffs_el.patch @@ -21,17 +21,16 @@ diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/FreeFileSync/Source/Makefil @@ -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++17 -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 + -O3 -DNDEBUG -fPIC `wx-config --version=3.0 --cxxflags --debug=no` -pthread - + -LINKFLAGS = -s -no-pie `wx-config --libs std, aui --debug=no` -pthread +LINKFLAGS = -s -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-z,relro -no-pie `wx-config --version=3.0 --libs std, aui --debug=no | sed -r -e 's/-[^[:space:]]+web[^[:space:]]+//;'` -lz -pthread - - + + CXXFLAGS += `pkg-config --cflags openssl` @@ -17,6 +17,7 @@ LINKFLAGS += `pkg-config --libs libssh2` @@ -69,7 +68,7 @@ diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/FreeFileSync/Source/RealTim +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++17 -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 + -O3 -DNDEBUG -fPIC `wx-config --version=3.0 --cxxflags --debug=no` -pthread diff --git a/freefilesync/freefilesync.spec b/freefilesync/freefilesync.spec index 4bba3cb..ce183fa 100644 --- a/freefilesync/freefilesync.spec +++ b/freefilesync/freefilesync.spec @@ -7,8 +7,8 @@ %define scl_env %{nil} %define scl_buildreq coreutils %if 0%{?el6}%{?el7} - %define scl_env devtoolset-7 - %define scl_buildreq devtoolset-7-toolchain + %define scl_env devtoolset-8 + %define scl_buildreq devtoolset-8-toolchain %define min_libcurl >= 7.64.0 %define min_libssh2 >= 1.8.0 %define min_openssl >= 1.1.1c @@ -200,8 +200,9 @@ update-mime-database -n ${_datadir}/mime 1>/dev/null 2>&1 & : %ghost %config %attr(666, -, -) %{_datadir}/%{name}/GlobalSettings.xml %changelog -* Mon Oct 21 2019 B Stack - 10.17-1 +* Wed Oct 23 2019 B Stack - 10.17-1 - version bump +- el7 uses devtoolset-8 for c++2a support * Wed Oct 09 2019 B Stack - 10.16-2 - include support for el8 -- cgit