From a187ebe1d5283202ef1379c7ca17444a1e98a76e Mon Sep 17 00:00:00 2001 From: B Stack Date: Wed, 22 Jul 2020 20:46:07 -0400 Subject: ffs 11.0 rpm rc1 Compiler g++-10 is still unavailable for el 6, 7, and 8 and fc31, so this package will only be good on fc32 and Rawhide. --- freefilesync/ffs_el.patch | 1 + freefilesync/ffs_fedora.patch | 56 +++++++++++++++++++++++---------- freefilesync/ffs_no_check_updates.patch | 31 +++++++++--------- freefilesync/ffs_no_wx311.patch | 6 ++-- freefilesync/freefilesync.spec | 16 +++++++--- 5 files changed, 71 insertions(+), 39 deletions(-) diff --git a/freefilesync/ffs_el.patch b/freefilesync/ffs_el.patch index 4611e5e..c8b0fcc 100644 --- a/freefilesync/ffs_el.patch +++ b/freefilesync/ffs_el.patch @@ -1,3 +1,4 @@ +# 2020-07-22 starting at FreeFileSync 10.25 in 2020-06, we need g++-10 to compile but all EL targets (6, 7, and 8) do not have gcc 10 so this patch is not usable as is. But it should get the gtk3 fix if any CentOS targets get gcc-10. The cstddef discovery is from https://stackoverflow.com/questions/52567517/freefilesync-c-error-byte-is-not-a-member-of-std 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 diff --git a/freefilesync/ffs_fedora.patch b/freefilesync/ffs_fedora.patch index 82787ea..f804660 100644 --- a/freefilesync/ffs_fedora.patch +++ b/freefilesync/ffs_fedora.patch @@ -1,3 +1,4 @@ +ffs_fedora 2020-07-22 now uses gtk3 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 @@ -11,9 +12,9 @@ diff -Naur 10.13-0/FreeFileSync/Source/ffs_paths.cpp 10.13-1/FreeFileSync/Source } -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 +diff -x '*.orig' -x '*.git' -x '*.rej' -x '*.swp' -Naur 11.0-0/FreeFileSync/Source/Makefile 11.0-1/FreeFileSync/Source/Makefile +--- 11.0-0/FreeFileSync/Source/Makefile 2020-07-22 11:36:55.000000000 -0400 ++++ 11.0-1/FreeFileSync/Source/Makefile 2020-07-22 13:36:27.193345688 -0400 @@ -1,10 +1,10 @@ -exeName = FreeFileSync_$(shell arch) +exeName = FreeFileSync @@ -27,18 +28,23 @@ diff -Naur 10.11-0/FreeFileSync/Source/Makefile 10.11-1/FreeFileSync/Source/Make cxxFlags += `pkg-config --cflags openssl` -@@ -17,6 +17,7 @@ cxxFlags += `pkg-config --cflags libssh2` +@@ -16,9 +16,10 @@ + cxxFlags += `pkg-config --cflags libssh2` linkFlags += `pkg-config --libs libssh2` - - cxxFlags += `pkg-config --cflags gtk+-2.0` -+linkFlags += `pkg-config --libs gtk+-2.0` + +-cxxFlags += `pkg-config --cflags gtk+-2.0` ++cxxFlags += `pkg-config --cflags gtk+-3.0` ++linkFlags += `pkg-config --libs gtk+-3.0` #treat as system headers so that warnings are hidden: - cxxFlags += -isystem/usr/include/gtk-2.0 - -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 -@@ -1,13 +1,14 @@ +-cxxFlags += -isystem/usr/include/gtk-2.0 ++cxxFlags += -isystem/usr/include/gtk-3.0 + + #support for SELinux (optional) + SELINUX_EXISTING=$(shell pkg-config --exists libselinux && echo YES) +diff -x '*.orig' -x '*.git' -x '*.rej' -x '*.swp' -Naur 11.0-0/FreeFileSync/Source/RealTimeSync/Makefile 11.0-1/FreeFileSync/Source/RealTimeSync/Makefile +--- 11.0-0/FreeFileSync/Source/RealTimeSync/Makefile 2020-07-22 11:36:55.000000000 -0400 ++++ 11.0-1/FreeFileSync/Source/RealTimeSync/Makefile 2020-07-22 13:36:32.262394424 -0400 +@@ -1,15 +1,16 @@ -exeName = RealTimeSync_$(shell arch) +exeName = RealTimeSync @@ -50,12 +56,16 @@ diff -Naur 10.11-0/FreeFileSync/Source/RealTimeSync/Makefile 10.11-1/FreeFileSyn +linkFlags = -s -no-pie `wx-config --libs std, aui --debug=no` -lz -pthread #Gtk - support "no button border" - cxxFlags += `pkg-config --cflags gtk+-2.0` -+linkFlags += `pkg-config --libs gtk+-2.0` +-cxxFlags += `pkg-config --cflags gtk+-2.0` ++cxxFlags += `pkg-config --cflags gtk+-3.0` ++linkFlags += `pkg-config --libs gtk+-3.0` #treat as system headers so that warnings are hidden: - cxxFlags += -isystem/usr/include/gtk-2.0 +-cxxFlags += -isystem/usr/include/gtk-2.0 ++cxxFlags += -isystem/usr/include/gtk-3.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 + cppFiles= + cppFiles+=application.cpp +iff -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.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 @@ @@ -67,3 +77,15 @@ diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.19-0/FreeFileSync/Sou build += SPACED_BULLET; build += utfTo(formatTime(formatDateTag, getCompileTime())); +diff -x '*.orig' -x '*.git' -x '*.rej' -x '*.swp' -Naur 11.0-0/wx+/dc.h 11.0-1/wx+/dc.h +--- 11.0-0/wx+/dc.h 2020-07-22 11:36:55.000000000 -0400 ++++ 11.0-1/wx+/dc.h 2020-07-22 13:37:49.535137357 -0400 +@@ -55,7 +55,7 @@ + #ifdef wxHAVE_DPI_INDEPENDENT_PIXELS //pulled from wx/window.h: https://github.com/wxWidgets/wxWidgets/blob/master/include/wx/window.h#L2029 + return d; //e.g. macOS, GTK3 + #else //https://github.com/wxWidgets/wxWidgets/blob/master/src/common/wincmn.cpp#L2865 +- static_assert(GTK_MAJOR_VERSION == 2); ++ static_assert(GTK_MAJOR_VERSION == 3); + //GTK2 doesn't properly support high DPI: https://freefilesync.org/forum/viewtopic.php?t=6114 + //=> requires general fix at wxWidgets-level + assert(wxTheApp); //only call after wxWidgets was initalized! diff --git a/freefilesync/ffs_no_check_updates.patch b/freefilesync/ffs_no_check_updates.patch index 1ef4148..62f4e7e 100644 --- a/freefilesync/ffs_no_check_updates.patch +++ b/freefilesync/ffs_no_check_updates.patch @@ -1,7 +1,7 @@ diff --exclude '*.orig' -Naur 10.14-0/FreeFileSync/Source/ui/main_dlg.cpp 10.14-1/FreeFileSync/Source/ui/main_dlg.cpp --- 10.9-0/FreeFileSync/Source/ui/main_dlg.cpp 2019-02-10 22:01:42.029158919 -0500 -+++ 10.14-1/FreeFileSync/Source/ui/main_dlg.cpp 2019-07-16 10:56:40.213575535 -0400 -@@ -5298,7 +5298,7 @@ ++++ 11.0-1/FreeFileSync/Source/ui/main_dlg.cpp 2020-07-22 11:49:13.747407290 -0400 +@@ -5538,7 +5538,7 @@ globalCfg_.gui.lastUpdateCheck = 0; //reset to GlobalSettings.xml default value! m_menuItemCheckVersionAuto->Check(updateCheckActive(globalCfg_.gui.lastUpdateCheck)); @@ -10,15 +10,15 @@ diff --exclude '*.orig' -Naur 10.14-0/FreeFileSync/Source/ui/main_dlg.cpp 10.14- if (shouldRunAutomaticUpdateCheck(globalCfg_.gui.lastUpdateCheck)) { flashStatusInformation(_("Searching for program updates...")); -@@ -5306,6 +5306,7 @@ +@@ -5546,6 +5546,7 @@ automaticUpdateCheckEval(this, globalCfg_.gui.lastUpdateCheck, globalCfg_.gui.lastOnlineVersion, - automaticUpdateCheckRunAsync(automaticUpdateCheckPrepare().get()).get()); + automaticUpdateCheckRunAsync(automaticUpdateCheckPrepare(*this).get()).get()); } + */ } -@@ -5313,7 +5314,7 @@ +@@ -5553,7 +5554,7 @@ { //execute just once per startup! Disconnect(wxEVT_IDLE, wxIdleEventHandler(MainDialog::OnRegularUpdateCheck), nullptr, this); @@ -27,7 +27,7 @@ diff --exclude '*.orig' -Naur 10.14-0/FreeFileSync/Source/ui/main_dlg.cpp 10.14- if (shouldRunAutomaticUpdateCheck(globalCfg_.gui.lastUpdateCheck)) { flashStatusInformation(_("Searching for program updates...")); -@@ -5327,6 +5328,7 @@ +@@ -5567,6 +5568,7 @@ resultAsync.get()); //run on main thread: }); } @@ -37,7 +37,7 @@ diff --exclude '*.orig' -Naur 10.14-0/FreeFileSync/Source/ui/main_dlg.cpp 10.14- diff --exclude '*.orig' -Naur 10.14-0/FreeFileSync/Source/ui/version_check.cpp 10.14-1/FreeFileSync/Source/ui/version_check.cpp --- 10.9-0/FreeFileSync/Source/ui/version_check.cpp 2019-02-10 22:01:42.126160041 -0500 -+++ 10.18-1/FreeFileSync/Source/ui/version_check.cpp 2019-11-20 09:19:50.936975067 -0500 ++++ 11.0-1/FreeFileSync/Source/ui/version_check.cpp 2020-07-22 11:43:36.895201090 -0400 @@ -69,6 +69,8 @@ bool fff::shouldRunAutomaticUpdateCheck(time_t lastUpdateCheck) @@ -47,7 +47,7 @@ diff --exclude '*.orig' -Naur 10.14-0/FreeFileSync/Source/ui/version_check.cpp 1 if (lastUpdateCheck == getVersionCheckInactiveId()) return false; -@@ -156,8 +158,7 @@ +@@ -159,8 +161,7 @@ { try { @@ -57,7 +57,7 @@ diff --exclude '*.orig' -Naur 10.14-0/FreeFileSync/Source/ui/version_check.cpp 1 updateDetailsMsg = utfTo(buf); } catch (const zen::SysError& e) { throw FileError(_("Failed to retrieve update information."), e.toString()); } -@@ -182,8 +183,7 @@ +@@ -189,8 +190,7 @@ std::string getOnlineVersion(const std::vector>& postParams) //throw SysError { @@ -67,21 +67,22 @@ diff --exclude '*.orig' -Naur 10.14-0/FreeFileSync/Source/ui/version_check.cpp 1 return trimCpy(response); } -@@ -235,13 +235,13 @@ - const std::string onlineVersion = getOnlineVersion(geHttpPostParameters()); //throw SysError +@@ -237,13 +237,13 @@ + const std::string onlineVersion = getOnlineVersion(geHttpPostParameters(parent)); //throw SysError lastOnlineVersion = onlineVersion; - if (haveNewerVersionOnline(onlineVersion)) -- showUpdateAvailableDialog(parent, onlineVersion); +- showUpdateAvailableDialog(&parent, onlineVersion); - else + //if (haveNewerVersionOnline(onlineVersion)) -+ // showUpdateAvailableDialog(parent, onlineVersion); ++ // showUpdateAvailableDialog(&parent, onlineVersion); + //else - showNotificationDialog(parent, DialogInfoType::info, PopupDialogCfg(). - setIcon(getResourceImage("update_check")). + showNotificationDialog(&parent, DialogInfoType::info, PopupDialogCfg(). + setIcon(loadImage("update_check")). setTitle(_("Check for Program Updates")). - setMainInstructions(_("FreeFileSync is up to date."))); + setMainInstructions(_("Use your package manager for any updates to FreeFileSync."))); } catch (const zen::SysError& e) { + diff --git a/freefilesync/ffs_no_wx311.patch b/freefilesync/ffs_no_wx311.patch index 926f7b8..22d8260 100644 --- a/freefilesync/ffs_no_wx311.patch +++ b/freefilesync/ffs_no_wx311.patch @@ -1,7 +1,7 @@ 2019-08-15 just compile. diff -Naur 10.25-0/FreeFileSync/Source/ui/small_dlgs.cpp 10.25-1/FreeFileSync/Source/ui/small_dlgs.cpp --- 10.25-0/FreeFileSync/Source/ui/small_dlgs.cpp 2020-06-19 16:17:15.000000000 -0400 -+++ 10.25-1/FreeFileSync/Source/ui/small_dlgs.cpp 2020-06-20 14:23:47.488836409 -0400 ++++ 11.0-1/FreeFileSync/Source/ui/small_dlgs.cpp 2020-07-22 11:39:25.820068366 -0400 @@ -293,7 +293,8 @@ { showNotificationDialog(this, DialogInfoType::error, PopupDialogCfg().setDetailInstructions(e.toString())); @@ -12,10 +12,10 @@ diff -Naur 10.25-0/FreeFileSync/Source/ui/small_dlgs.cpp 10.25-1/FreeFileSync/So //set default values for Google Drive: use first item of m_listBoxGdriveUsers if (!gdriveAccounts.empty() && !acceptsItemPathPhraseGdrive(folderPathPhrase)) -@@ -1663,7 +1664,7 @@ +@@ -1682,7 +1683,7 @@ //setMainInstructionFont(*m_staticTextMain); - m_bitmapActivation->SetBitmap(getResourceImage("internet")); + m_bitmapActivation->SetBitmap(loadImage("internet")); - m_textCtrlOfflineActivationKey->ForceUpper(); + //m_textCtrlOfflineActivationKey->ForceUpper(); diff --git a/freefilesync/freefilesync.spec b/freefilesync/freefilesync.spec index afc6c5f..861391f 100644 --- a/freefilesync/freefilesync.spec +++ b/freefilesync/freefilesync.spec @@ -19,7 +19,7 @@ %define libssh2_name libssh2-%{name} %endif Name: freefilesync -Version: 10.25 +Version: 11.0 Release: 1%{?dist} Summary: A file synchronization utility @@ -45,8 +45,8 @@ Patch9: ffs_no_eraseif.patch Patch10: revert_zenju_aggressive_upstreamisms.patch Packager: B Stack -# WARNING: the build will FAIL if you have wxGTK3-devel installed. Only wxGTK2-devel should be on the build system. -BuildRequires: compat-wxGTK3-gtk2-devel +BuildRequires: brotli-devel +BuildRequires: wxGTK3-devel BuildRequires: desktop-file-utils BuildRequires: gcc-c++ BuildRequires: ImageMagick @@ -57,7 +57,6 @@ BuildRequires: pkgconfig(gtk+-2.0) BuildRequires: pkgconfig(libselinux) BuildRequires: pkgconfig(zlib) %if 0%{?el6}%{?el7} -BuildRequires: wxGTK-devel BuildRequires: %{scl_buildreq} BuildRequires: openssl-%{name}-devel %{min_openssl} Requires: libcurl %{min_libcurl} @@ -205,6 +204,15 @@ update-mime-database -n ${_datadir}/mime 1>/dev/null 2>&1 & : %ghost %config %attr(666, -, -) %{_datadir}/%{name}/GlobalSettings.xml %changelog +* Wed Jul 22 2020 B Stack - 11.0-1 +- version bump +- use gtk3 +- el6,7,8 and fc31 packages are becoming stale + +* Mon Jun 21 2020 B Stack - 10.25-1 +- version bump +- el6,7,8 and fc31 packages not built because upstream requires g++-10 + * Mon May 18 2020 B Stack - 10.24-1 - version bump - add revert_zenju_aggressive_upstreamisms.patch -- cgit