From 6915b8fad2d8897573cbd02aa7d76413eec7d0c7 Mon Sep 17 00:00:00 2001 From: B Stack Date: Thu, 26 Dec 2019 11:48:39 -0500 Subject: revert ffs to gtk2 Which means I can only build it locally and not on OBS. --- freefilesync/debian/README.Debian | 8 ++ freefilesync/debian/changelog | 8 ++ freefilesync/debian/compat | 2 +- freefilesync/debian/control | 12 ++- freefilesync/debian/patches/ffs_devuan.patch | 107 ---------------------- freefilesync/debian/patches/ffs_devuan_gtk2.patch | 82 +++++++++++++++++ freefilesync/debian/patches/ffs_devuan_gtk3.patch | 107 ++++++++++++++++++++++ freefilesync/debian/patches/series | 3 +- 8 files changed, 216 insertions(+), 113 deletions(-) delete mode 100644 freefilesync/debian/patches/ffs_devuan.patch create mode 100644 freefilesync/debian/patches/ffs_devuan_gtk2.patch create mode 100644 freefilesync/debian/patches/ffs_devuan_gtk3.patch (limited to 'freefilesync') diff --git a/freefilesync/debian/README.Debian b/freefilesync/debian/README.Debian index 2dd582d..c49274e 100644 --- a/freefilesync/debian/README.Debian +++ b/freefilesync/debian/README.Debian @@ -1,3 +1,11 @@ +freefilesync (10.18-2+devuan) + + * Revert to libwxgtk3.0 (gtk2) instead of libwxgtk3.0-gtk3 + * This involves using the local devuan-archive repo because libwxgtk3.0 + was dropped in Devuan upstream + + -- B Stack Thu, 26 Dec 2019 09:46:15 -0500 + freefilesync (10.18-1+devuan) * Switch to gtk3 so OBS can build it diff --git a/freefilesync/debian/changelog b/freefilesync/debian/changelog index a271815..028ac27 100644 --- a/freefilesync/debian/changelog +++ b/freefilesync/debian/changelog @@ -1,3 +1,11 @@ +freefilesync (10.18-2+devuan) obs; urgency=medium + + * Revert to libwxgtk3.0 (gtk2) instead of libwxgtk3.0-gtk3 + * This involves using the local devuan-archive repo because libwxgtk3.0 + was dropped in Devuan upstream + + -- B Stack Thu, 26 Dec 2019 09:46:15 -0500 + freefilesync (10.18-1+devuan) obs; urgency=low * Save/load database files in parallel diff --git a/freefilesync/debian/compat b/freefilesync/debian/compat index b4de394..48082f7 100644 --- a/freefilesync/debian/compat +++ b/freefilesync/debian/compat @@ -1 +1 @@ -11 +12 diff --git a/freefilesync/debian/control b/freefilesync/debian/control index 4d8291f..58a71cf 100644 --- a/freefilesync/debian/control +++ b/freefilesync/debian/control @@ -2,16 +2,20 @@ Source: freefilesync Section: utils Priority: optional Maintainer: B Stack -Build-Depends: debhelper (>=11~), +Build-Depends: debhelper (>=12~), autotools-dev, imagemagick, libcurl4-openssl-dev, - libgtk-3-dev, libssh2-1-dev, libssl-dev, - libwxgtk3.0-gtk3-dev, wx3.0-headers, - unzip + unzip, +# gtk2 version + libgtk2.0-dev, + libwxgtk3.0-dev, +# gtk3 version +# libgtk-3-dev, +# libwxgtk3.0-gtk3-dev, Standards-Version: 4.1.4 Homepage: https://freefilesync.org/ diff --git a/freefilesync/debian/patches/ffs_devuan.patch b/freefilesync/debian/patches/ffs_devuan.patch deleted file mode 100644 index 705d84d..0000000 --- a/freefilesync/debian/patches/ffs_devuan.patch +++ /dev/null @@ -1,107 +0,0 @@ -Author: B Stack -Source: Original research -Date: 2019-11-21 -Message: Main patch to compile on Devuan. -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/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 -@@ -64,7 +64,8 @@ - - Zstring fff::getResourceDirPf() - { -- return getProcessParentFolderPath() + FILE_NAME_SEPARATOR + Zstr("Resources") + FILE_NAME_SEPARATOR; -+ // For Fedora, EL and Devuan, install to /usr/share/freefilesync specificly -+ return Zstr("/usr/share/freefilesync/"); - } - - -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-1/FreeFileSync/Source/Makefile 2019-11-21 09:42:57.408243242 -0500 -@@ -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" \ - -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 - - - CXXFLAGS += `pkg-config --cflags openssl` -@@ -16,9 +16,10 @@ - CXXFLAGS += `pkg-config --cflags libssh2` - LINKFLAGS += `pkg-config --libs libssh2` - --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-3.0 - - #support for SELinux (optional) - SELINUX_EXISTING=$(shell pkg-config --exists libselinux && echo YES) -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.11-0/FreeFileSync/Source/RealTimeSync/Makefile 2019-04-12 08:05:57.000000000 -0400 -+++ 10.18-1/FreeFileSync/Source/RealTimeSync/Makefile 2019-11-21 09:46:11.378240094 -0500 -@@ -1,15 +1,16 @@ --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" \ - -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 - - #Gtk - support "no button border" --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-3.0 - - CPP_FILES= - CPP_FILES+=application.cpp -diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/ui/small_dlgs.cpp 10.18-1/FreeFileSync/Source/ui/small_dlgs.cpp ---- 10.11-0/FreeFileSync/Source/ui/small_dlgs.cpp 2019-04-12 08:05:57.000000000 -0400 -+++ 10.11-1/FreeFileSync/Source/ui/small_dlgs.cpp 2019-04-12 13:58:55.050550183 -0400 -@@ -117,6 +117,8 @@ - L" x64"; - #endif - -+ build += -+ L" for Devuan"; - - GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() - -diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/wx+/dc.h 10.18-1/wx+/dc.h ---- 10.18-0/wx+/dc.h 2019-11-21 08:24:23.967769384 -0500 -+++ 10.18-1/wx+/dc.h 2019-11-21 09:42:12.779786504 -0500 -@@ -54,7 +54,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 -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/base/icon_loader.cpp 10.18-1/FreeFileSync/Source/base/icon_loader.cpp ---- 10.18-0/FreeFileSync/Source/base/icon_loader.cpp 2019-11-21 08:24:23.955769262 -0500 -+++ 10.18-1/FreeFileSync/Source/base/icon_loader.cpp 2019-11-21 09:42:15.439813730 -0500 -@@ -18,7 +18,7 @@ - - namespace - { --static_assert(GTK_MAJOR_VERSION == 2, "FreeFileSync does NOT (currently) support GTK3! The GTK calls below will lead to crashes due to not being thread-safe on GTK3."); -+static_assert(GTK_MAJOR_VERSION == 3, "FreeFileSync does NOT (currently) support GTK3! The GTK calls below will lead to crashes due to not being thread-safe on GTK3."); - //gdk_threads_enter(); + ZEN_ON_SCOPE_EXIT(::gdk_threads_leave); is NOT enough; e.g. GTK3 + openSuse still crashes with: - // Gtk:ERROR:gtkicontheme.c:4026:proxy_pixbuf_destroy: assertion failed: (icon_info->proxy_pixbuf != NULL) - //GTK icon theme internals: https://github.com/GNOME/gtk/blob/master/gtk/gtkicontheme.c diff --git a/freefilesync/debian/patches/ffs_devuan_gtk2.patch b/freefilesync/debian/patches/ffs_devuan_gtk2.patch new file mode 100644 index 0000000..f7680d7 --- /dev/null +++ b/freefilesync/debian/patches/ffs_devuan_gtk2.patch @@ -0,0 +1,82 @@ +Author: B Stack +Source: Original research +Date: 2019-11-21 +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 +@@ -64,7 +64,8 @@ + + Zstring fff::getResourceDirPf() + { +- return getProcessParentFolderPath() + FILE_NAME_SEPARATOR + Zstr("Resources") + FILE_NAME_SEPARATOR; ++ // For Fedora, EL and Devuan, install to /usr/share/freefilesync specificly ++ return Zstr("/usr/share/freefilesync/"); + } + + +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 +@@ -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" \ + -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 + + + CXXFLAGS += `pkg-config --cflags openssl` +@@ -16,9 +16,10 @@ + CXXFLAGS += `pkg-config --cflags libssh2` + LINKFLAGS += `pkg-config --libs libssh2` + +-CXXFLAGS += `pkg-config --cflags gtk+-2.0` ++CXXFLAGS += `pkg-config --cflags gtk+-2.0` ++LINKFLAGS += `pkg-config --libs gtk+-2.0` + #treat as system headers so that warnings are hidden: +-CXXFLAGS += -isystem/usr/include/gtk-2.0 ++CXXFLAGS += -isystem/usr/include/gtk-2.0 + + #support for SELinux (optional) + SELINUX_EXISTING=$(shell pkg-config --exists libselinux && echo YES) +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.11-0/FreeFileSync/Source/RealTimeSync/Makefile 2019-04-12 08:05:57.000000000 -0400 ++++ 10.18-2/FreeFileSync/Source/RealTimeSync/Makefile 2019-11-21 09:46:11.378240094 -0500 +@@ -1,15 +1,16 @@ +-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" \ + -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 + + #Gtk - support "no button border" +-CXXFLAGS += `pkg-config --cflags gtk+-2.0` ++CXXFLAGS += `pkg-config --cflags gtk+-2.0` ++LINKFLAGS += `pkg-config --libs gtk+-2.0` + #treat as system headers so that warnings are hidden: +-CXXFLAGS += -isystem/usr/include/gtk-2.0 ++CXXFLAGS += -isystem/usr/include/gtk-2.0 + + CPP_FILES= + CPP_FILES+=application.cpp +diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/ui/small_dlgs.cpp 10.18-1/FreeFileSync/Source/ui/small_dlgs.cpp +--- 10.11-0/FreeFileSync/Source/ui/small_dlgs.cpp 2019-04-12 08:05:57.000000000 -0400 ++++ 10.11-1/FreeFileSync/Source/ui/small_dlgs.cpp 2019-04-12 13:58:55.050550183 -0400 +@@ -117,6 +117,8 @@ + L" x64"; + #endif + ++ build += ++ L" for Devuan"; + + GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() + diff --git a/freefilesync/debian/patches/ffs_devuan_gtk3.patch b/freefilesync/debian/patches/ffs_devuan_gtk3.patch new file mode 100644 index 0000000..705d84d --- /dev/null +++ b/freefilesync/debian/patches/ffs_devuan_gtk3.patch @@ -0,0 +1,107 @@ +Author: B Stack +Source: Original research +Date: 2019-11-21 +Message: Main patch to compile on Devuan. +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/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 +@@ -64,7 +64,8 @@ + + Zstring fff::getResourceDirPf() + { +- return getProcessParentFolderPath() + FILE_NAME_SEPARATOR + Zstr("Resources") + FILE_NAME_SEPARATOR; ++ // For Fedora, EL and Devuan, install to /usr/share/freefilesync specificly ++ return Zstr("/usr/share/freefilesync/"); + } + + +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-1/FreeFileSync/Source/Makefile 2019-11-21 09:42:57.408243242 -0500 +@@ -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" \ + -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 + + + CXXFLAGS += `pkg-config --cflags openssl` +@@ -16,9 +16,10 @@ + CXXFLAGS += `pkg-config --cflags libssh2` + LINKFLAGS += `pkg-config --libs libssh2` + +-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-3.0 + + #support for SELinux (optional) + SELINUX_EXISTING=$(shell pkg-config --exists libselinux && echo YES) +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.11-0/FreeFileSync/Source/RealTimeSync/Makefile 2019-04-12 08:05:57.000000000 -0400 ++++ 10.18-1/FreeFileSync/Source/RealTimeSync/Makefile 2019-11-21 09:46:11.378240094 -0500 +@@ -1,15 +1,16 @@ +-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" \ + -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 + + #Gtk - support "no button border" +-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-3.0 + + CPP_FILES= + CPP_FILES+=application.cpp +diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/ui/small_dlgs.cpp 10.18-1/FreeFileSync/Source/ui/small_dlgs.cpp +--- 10.11-0/FreeFileSync/Source/ui/small_dlgs.cpp 2019-04-12 08:05:57.000000000 -0400 ++++ 10.11-1/FreeFileSync/Source/ui/small_dlgs.cpp 2019-04-12 13:58:55.050550183 -0400 +@@ -117,6 +117,8 @@ + L" x64"; + #endif + ++ build += ++ L" for Devuan"; + + GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() + +diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/wx+/dc.h 10.18-1/wx+/dc.h +--- 10.18-0/wx+/dc.h 2019-11-21 08:24:23.967769384 -0500 ++++ 10.18-1/wx+/dc.h 2019-11-21 09:42:12.779786504 -0500 +@@ -54,7 +54,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 -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/base/icon_loader.cpp 10.18-1/FreeFileSync/Source/base/icon_loader.cpp +--- 10.18-0/FreeFileSync/Source/base/icon_loader.cpp 2019-11-21 08:24:23.955769262 -0500 ++++ 10.18-1/FreeFileSync/Source/base/icon_loader.cpp 2019-11-21 09:42:15.439813730 -0500 +@@ -18,7 +18,7 @@ + + namespace + { +-static_assert(GTK_MAJOR_VERSION == 2, "FreeFileSync does NOT (currently) support GTK3! The GTK calls below will lead to crashes due to not being thread-safe on GTK3."); ++static_assert(GTK_MAJOR_VERSION == 3, "FreeFileSync does NOT (currently) support GTK3! The GTK calls below will lead to crashes due to not being thread-safe on GTK3."); + //gdk_threads_enter(); + ZEN_ON_SCOPE_EXIT(::gdk_threads_leave); is NOT enough; e.g. GTK3 + openSuse still crashes with: + // Gtk:ERROR:gtkicontheme.c:4026:proxy_pixbuf_destroy: assertion failed: (icon_info->proxy_pixbuf != NULL) + //GTK icon theme internals: https://github.com/GNOME/gtk/blob/master/gtk/gtkicontheme.c diff --git a/freefilesync/debian/patches/series b/freefilesync/debian/patches/series index 51b0191..e3ea666 100644 --- a/freefilesync/debian/patches/series +++ b/freefilesync/debian/patches/series @@ -1,5 +1,6 @@ ffs_allow_parallel_ops.patch -ffs_devuan.patch +# can be either gtk2 or gtk3 +ffs_devuan_gtk2.patch ffs_no_check_updates.patch ffs_no_wx311.patch ffs_sftp.patch -- cgit From 71af72d88ef955a2fa295177dc57825f5c349540 Mon Sep 17 00:00:00 2001 From: B Stack Date: Fri, 27 Dec 2019 09:48:04 -0500 Subject: ffs 10.19 dpkg rc1, gtk2 --- freefilesync/debian/README.Debian | 6 ++++++ freefilesync/debian/changelog | 14 ++++++++++++++ freefilesync/debian/patches/ffs_devuan_gtk2.patch | 18 +++++++++--------- freefilesync/debian/patches/ffs_devuan_gtk3.patch | 18 +++++++++--------- freefilesync/debian/patches/ffs_no_wx311.patch | 11 +++++------ 5 files changed, 43 insertions(+), 24 deletions(-) (limited to 'freefilesync') diff --git a/freefilesync/debian/README.Debian b/freefilesync/debian/README.Debian index c49274e..3f5653f 100644 --- a/freefilesync/debian/README.Debian +++ b/freefilesync/debian/README.Debian @@ -1,3 +1,9 @@ +freefilesync (10.19-1+devuan) + + * Upgrade application + + -- B Stack Fri, 27 Dec 2019 09:32:55 -0500 + freefilesync (10.18-2+devuan) * Revert to libwxgtk3.0 (gtk2) instead of libwxgtk3.0-gtk3 diff --git a/freefilesync/debian/changelog b/freefilesync/debian/changelog index 028ac27..f8b1539 100644 --- a/freefilesync/debian/changelog +++ b/freefilesync/debian/changelog @@ -1,3 +1,17 @@ +freefilesync (10.19-1+devuan) obs; urgency=low + + * Unified rendering of disabled grid layouts + * Count moved file pair as one update in view filter buttons + * Fix command button default sizes (Windows) + * Added %item_name%, %item_name2% context menu macros + * Support deleting references to shared Google Drive files + * Trash Google Drive files only when having single parent + * Fixed high DPI scaling issue on image borders + * Preserve system date format for RTL languages + * Fall back to folder path if resource archives are missing + + -- B Stack Fri, 27 Dec 2019 09:32:55 -0500 + freefilesync (10.18-2+devuan) obs; urgency=medium * Revert to libwxgtk3.0 (gtk2) instead of libwxgtk3.0-gtk3 diff --git a/freefilesync/debian/patches/ffs_devuan_gtk2.patch b/freefilesync/debian/patches/ffs_devuan_gtk2.patch index f7680d7..9db9584 100644 --- a/freefilesync/debian/patches/ffs_devuan_gtk2.patch +++ b/freefilesync/debian/patches/ffs_devuan_gtk2.patch @@ -68,15 +68,15 @@ diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Sou CPP_FILES= CPP_FILES+=application.cpp -diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/ui/small_dlgs.cpp 10.18-1/FreeFileSync/Source/ui/small_dlgs.cpp ---- 10.11-0/FreeFileSync/Source/ui/small_dlgs.cpp 2019-04-12 08:05:57.000000000 -0400 -+++ 10.11-1/FreeFileSync/Source/ui/small_dlgs.cpp 2019-04-12 13:58:55.050550183 -0400 -@@ -117,6 +117,8 @@ - L" x64"; +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 @@ + build += L"64 Bit"; #endif -+ build += -+ L" for Devuan"; - - GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() ++ build += L" for Devuan"; ++ + build += SPACED_BULLET; + build += formatTime(FORMAT_DATE, getCompileTime()); diff --git a/freefilesync/debian/patches/ffs_devuan_gtk3.patch b/freefilesync/debian/patches/ffs_devuan_gtk3.patch index 705d84d..787f6d5 100644 --- a/freefilesync/debian/patches/ffs_devuan_gtk3.patch +++ b/freefilesync/debian/patches/ffs_devuan_gtk3.patch @@ -69,17 +69,17 @@ diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Sou CPP_FILES= CPP_FILES+=application.cpp -diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/ui/small_dlgs.cpp 10.18-1/FreeFileSync/Source/ui/small_dlgs.cpp ---- 10.11-0/FreeFileSync/Source/ui/small_dlgs.cpp 2019-04-12 08:05:57.000000000 -0400 -+++ 10.11-1/FreeFileSync/Source/ui/small_dlgs.cpp 2019-04-12 13:58:55.050550183 -0400 -@@ -117,6 +117,8 @@ - L" x64"; +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 @@ + build += L"64 Bit"; #endif -+ build += -+ L" for Devuan"; - - GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() ++ build += L" for Devuan"; ++ + build += SPACED_BULLET; + build += formatTime(FORMAT_DATE, getCompileTime()); diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/wx+/dc.h 10.18-1/wx+/dc.h --- 10.18-0/wx+/dc.h 2019-11-21 08:24:23.967769384 -0500 diff --git a/freefilesync/debian/patches/ffs_no_wx311.patch b/freefilesync/debian/patches/ffs_no_wx311.patch index 92b5372..204740d 100644 --- a/freefilesync/debian/patches/ffs_no_wx311.patch +++ b/freefilesync/debian/patches/ffs_no_wx311.patch @@ -1,13 +1,12 @@ 2019-08-15 just compile. -diff -Naur -x '*.orig' -x '*.rej' 10.3-0/FreeFileSync/Source/ui/small_dlgs.cpp 10.3-2/FreeFileSync/Source/ui/small_dlgs.cpp ---- 10.3-0/FreeFileSync/Source/ui/small_dlgs.cpp 2018-08-07 05:03:34.000000000 -0400 -+++ 10.3-2/FreeFileSync/Source/ui/small_dlgs.cpp 2018-08-08 19:16:54.026727623 -0400 -@@ -984,7 +984,8 @@ +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.3-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:41:43.498308243 -0500 +@@ -1546,7 +1546,7 @@ //setMainInstructionFont(*m_staticTextMain); - m_bitmapActivation->SetBitmap(getResourceImage(L"website")); + m_bitmapActivation->SetBitmap(getResourceImage(L"internet")); - m_textCtrlOfflineActivationKey->ForceUpper(); -+ // Fedora 27 does not have wxWidgets 3.1.1 yet. https://github.com/wxWidgets/wxWidgets/commit/69b66e9e2e2b8e49e3816acdde079686ce9b0da1 + //m_textCtrlOfflineActivationKey->ForceUpper(); m_textCtrlLastError ->ChangeValue(lastErrorMsg); -- cgit From 5714157e4ac6ed155db979867462e13a2783a12a Mon Sep 17 00:00:00 2001 From: B Stack Date: Fri, 27 Dec 2019 10:16:51 -0500 Subject: freefilesync 10.19-2+devuan for gtk2 --- freefilesync/debian/README.Debian | 6 ++++++ freefilesync/debian/changelog | 6 ++++++ 2 files changed, 12 insertions(+) (limited to 'freefilesync') diff --git a/freefilesync/debian/README.Debian b/freefilesync/debian/README.Debian index 3f5653f..dee9b13 100644 --- a/freefilesync/debian/README.Debian +++ b/freefilesync/debian/README.Debian @@ -1,3 +1,9 @@ +freefilesync (10.19-2+devuan) + + * gtk2 build + + -- B Stack Fri, 27 Dec 2019 09:52:13 -0500 + freefilesync (10.19-1+devuan) * Upgrade application diff --git a/freefilesync/debian/changelog b/freefilesync/debian/changelog index f8b1539..c57660b 100644 --- a/freefilesync/debian/changelog +++ b/freefilesync/debian/changelog @@ -1,3 +1,9 @@ +freefilesync (10.19-2+devuan) manual; urgency=low + + * gtk2 build + + -- B Stack Fri, 27 Dec 2019 09:52:13 -0500 + freefilesync (10.19-1+devuan) obs; urgency=low * Unified rendering of disabled grid layouts -- cgit From 0302cae0504372f9dd12e76832faec22e7dc6f87 Mon Sep 17 00:00:00 2001 From: B Stack Date: Fri, 27 Dec 2019 10:44:02 -0500 Subject: ffs 10.19 rpm rc1 --- freefilesync/README.md | 17 ++++++++++------- freefilesync/ffs_el.patch | 18 +++++++++--------- freefilesync/ffs_fedora.patch | 18 +++++++++--------- freefilesync/ffs_no_wx311.patch | 11 +++++------ freefilesync/freefilesync.spec | 7 +++++-- 5 files changed, 38 insertions(+), 33 deletions(-) (limited to 'freefilesync') diff --git a/freefilesync/README.md b/freefilesync/README.md index 1c47327..de7b573 100644 --- a/freefilesync/README.md +++ b/freefilesync/README.md @@ -9,13 +9,16 @@ Fedora, CentOS, and Devuan do not package FreeFileSync. I maintained a separate # Reverse dependency matrix Distro | FreeFileSync version -------------- | -------------------- -CentOS 7 | 10.16 -CentOS 8 | 10.17 -Fedora 29 | 10.17 -Fedora 30 | 10.17 -Fedora 31 | 10.17 -Fedora Rawhide | 10.17 -Devuan Ceres | 10.17 +CentOS 7 | 10.19 +CentOS 8 | 10.19 +Fedora 29 | 10.19 +Fedora 30 | 10.19 +Fedora 31 | 10.19 +Fedora Rawhide | 10.19 +Devuan Ceres | 10.19 + +# Additional info +Devuan upstream recently dropped gtk2 packages required for building FreeFileSync. This means that OBS can only build the gtk3 version, which has some serious stability problems. My local gtk2 build is much more stable but depends on my local devuan-archive repo. # Differences from upstream None diff --git a/freefilesync/ffs_el.patch b/freefilesync/ffs_el.patch index d3849f3..64fdb03 100644 --- a/freefilesync/ffs_el.patch +++ b/freefilesync/ffs_el.patch @@ -75,17 +75,17 @@ 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 -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 -@@ -115,6 +115,8 @@ - L" x64"; +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 @@ + build += L"64 Bit"; #endif -+ build += -+ L" for CentOS 7"; - - GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() ++ build += L" for CentOS 7/Fedora 29"; ++ + build += SPACED_BULLET; + build += formatTime(FORMAT_DATE, 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 12346fb..546661b 100644 --- a/freefilesync/ffs_fedora.patch +++ b/freefilesync/ffs_fedora.patch @@ -74,15 +74,15 @@ diff -Naur 10.11-0/FreeFileSync/Source/RealTimeSync/Makefile 10.11-1/FreeFileSyn #treat as system headers so that warnings are hidden: CXXFLAGS += -isystem/usr/include/gtk-2.0 -diff -Naur 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 08:27:24.421735762 -0400 -@@ -115,6 +115,8 @@ - L" x64"; +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 @@ + build += L"64 Bit"; #endif -+ build += -+ L" for Fedora"; - - GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() ++ build += L" for Devuan"; ++ + build += SPACED_BULLET; + build += formatTime(FORMAT_DATE, getCompileTime()); diff --git a/freefilesync/ffs_no_wx311.patch b/freefilesync/ffs_no_wx311.patch index 92b5372..204740d 100644 --- a/freefilesync/ffs_no_wx311.patch +++ b/freefilesync/ffs_no_wx311.patch @@ -1,13 +1,12 @@ 2019-08-15 just compile. -diff -Naur -x '*.orig' -x '*.rej' 10.3-0/FreeFileSync/Source/ui/small_dlgs.cpp 10.3-2/FreeFileSync/Source/ui/small_dlgs.cpp ---- 10.3-0/FreeFileSync/Source/ui/small_dlgs.cpp 2018-08-07 05:03:34.000000000 -0400 -+++ 10.3-2/FreeFileSync/Source/ui/small_dlgs.cpp 2018-08-08 19:16:54.026727623 -0400 -@@ -984,7 +984,8 @@ +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.3-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:41:43.498308243 -0500 +@@ -1546,7 +1546,7 @@ //setMainInstructionFont(*m_staticTextMain); - m_bitmapActivation->SetBitmap(getResourceImage(L"website")); + m_bitmapActivation->SetBitmap(getResourceImage(L"internet")); - m_textCtrlOfflineActivationKey->ForceUpper(); -+ // Fedora 27 does not have wxWidgets 3.1.1 yet. https://github.com/wxWidgets/wxWidgets/commit/69b66e9e2e2b8e49e3816acdde079686ce9b0da1 + //m_textCtrlOfflineActivationKey->ForceUpper(); m_textCtrlLastError ->ChangeValue(lastErrorMsg); diff --git a/freefilesync/freefilesync.spec b/freefilesync/freefilesync.spec index 3ed654a..85cb94a 100644 --- a/freefilesync/freefilesync.spec +++ b/freefilesync/freefilesync.spec @@ -18,8 +18,8 @@ %define libssh2_name libssh2-%{name} %endif Name: freefilesync -Version: 10.18 -Release: 2%{?dist} +Version: 10.19 +Release: 1%{?dist} Summary: A file synchronization utility Group: Applications/File @@ -202,6 +202,9 @@ update-mime-database -n ${_datadir}/mime 1>/dev/null 2>&1 & : %ghost %config %attr(666, -, -) %{_datadir}/%{name}/GlobalSettings.xml %changelog +* Thu Dec 27 2019 B Stack - 10.19-1 +- version bump + * Thu Nov 21 2019 B Stack - 10.18-2 - el and fc29 reverted to devtoolset-7, -std=c++17, and some older internal logic -- cgit From ead5a206300274166f59ed1f23677ab8e6863145 Mon Sep 17 00:00:00 2001 From: B Stack Date: Fri, 27 Dec 2019 10:56:41 -0500 Subject: fix date in spec --- 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 85cb94a..6d1ccf2 100644 --- a/freefilesync/freefilesync.spec +++ b/freefilesync/freefilesync.spec @@ -202,7 +202,7 @@ update-mime-database -n ${_datadir}/mime 1>/dev/null 2>&1 & : %ghost %config %attr(666, -, -) %{_datadir}/%{name}/GlobalSettings.xml %changelog -* Thu Dec 27 2019 B Stack - 10.19-1 +* Fri Dec 27 2019 B Stack - 10.19-1 - version bump * Thu Nov 21 2019 B Stack - 10.18-2 -- cgit From 22b9dd834e0d7837dae06048423663f34c4371c9 Mon Sep 17 00:00:00 2001 From: B Stack Date: Fri, 27 Dec 2019 11:27:13 -0500 Subject: fix no_eraseif fuzz --- freefilesync/ffs_no_eraseif.patch | 40 +++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) (limited to 'freefilesync') diff --git a/freefilesync/ffs_no_eraseif.patch b/freefilesync/ffs_no_eraseif.patch index eaaab38..d820cad 100644 --- a/freefilesync/ffs_no_eraseif.patch +++ b/freefilesync/ffs_no_eraseif.patch @@ -1,3 +1,4 @@ +Message: generated with roughly sed -i -r -e 's/std::erase_if/eraseIf/g' $( grep -l -riIE 'std::erase_if\(' ) diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-1/FreeFileSync/Source/afs/abstract_impl.h 10.18-2/FreeFileSync/Source/afs/abstract_impl.h --- 10.18-1/FreeFileSync/Source/afs/abstract_impl.h 2019-11-20 16:15:55.823668066 -0500 +++ 10.18-2/FreeFileSync/Source/afs/abstract_impl.h 2019-11-20 17:57:30.555558350 -0500 @@ -10,11 +11,11 @@ diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-1/FreeFileSync/Source //get or create mutex std::weak_ptr& weakPtr = pathLocks[nativePath]; -diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-1/FreeFileSync/Source/afs/gdrive.cpp 10.18-2/FreeFileSync/Source/afs/gdrive.cpp ---- 10.18-1/FreeFileSync/Source/afs/gdrive.cpp 2019-11-20 16:15:55.828668123 -0500 -+++ 10.18-2/FreeFileSync/Source/afs/gdrive.cpp 2019-11-20 17:57:30.556558361 -0500 -@@ -1777,7 +1777,7 @@ - if (it != itemDetails_.end()) +diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/afs/gdrive.cpp 10.19-1/FreeFileSync/Source/afs/gdrive.cpp +--- 10.18-0/FreeFileSync/Source/afs/gdrive.cpp 2019-11-20 16:15:55.828668123 -0500 ++++ 10.19-1/FreeFileSync/Source/afs/gdrive.cpp 2019-12-27 11:17:35.793612360 -0500 +@@ -1788,7 +1788,7 @@ + if (auto it = itemDetails_.find(itemId); it != itemDetails_.end()) { GoogleItemDetails detailsNew = it->second; - std::erase_if(detailsNew.parentIds, [&](const std::string& id) { return id == parentIdOld; }); @@ -22,7 +23,7 @@ diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-1/FreeFileSync/Source notifyItemUpdate(stateDelta, itemId, detailsNew); } else //conflict!!! -@@ -1792,7 +1792,7 @@ +@@ -1802,7 +1802,7 @@ GoogleItemDetails detailsNew = it->second; detailsNew.itemName = utfTo(newName); @@ -31,7 +32,7 @@ diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-1/FreeFileSync/Source detailsNew.parentIds.push_back(parentIdTo); //not a duplicate notifyItemUpdate(stateDelta, itemId, detailsNew); -@@ -1902,7 +1902,7 @@ +@@ -1911,7 +1911,7 @@ return; //=> avoid misleading changeLog_ entries after Google Drive sync!!! //update change logs (and clean up obsolete entries) @@ -40,7 +41,7 @@ diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-1/FreeFileSync/Source { if (std::shared_ptr iid = weakPtr.lock()) { -@@ -1923,8 +1923,8 @@ +@@ -1932,15 +1932,15 @@ std::vector parentIdsNew = details->parentIds; std::vector parentIdsRemoved = it->second.parentIds; @@ -51,26 +52,25 @@ diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-1/FreeFileSync/Source for (const std::string& parentId : parentIdsNew) folderContents_[parentId].childItems.push_back(it); //new insert => no need for duplicate check -@@ -1933,7 +1933,7 @@ - { - auto itP = folderContents_.find(parentId); - if (itP != folderContents_.end()) + + for (const std::string& parentId : parentIdsRemoved) + if (auto itP = folderContents_.find(parentId); itP != folderContents_.end()) - std::erase_if(itP->second.childItems, [&](auto itChild) { return itChild == it; }); + eraseIf(itP->second.childItems, [&](auto itChild) { return itChild == it; }); - } //if all parents are removed, Google Drive will (recursively) delete the item => don't prematurely do this now: wait for change notifications! -@@ -1955,7 +1955,7 @@ - { - auto itP = folderContents_.find(parentId); - if (itP != folderContents_.end()) + it->second = *details; +@@ -1959,7 +1959,7 @@ + { + for (const std::string& parentId : it->second.parentIds) //1. delete from parent folders + if (auto itP = folderContents_.find(parentId); itP != folderContents_.end()) - std::erase_if(itP->second.childItems, [&](auto itChild) { return itChild == it; }); + eraseIf(itP->second.childItems, [&](auto itChild) { return itChild == it; }); - } + itemDetails_.erase(it); } -@@ -1964,7 +1964,7 @@ - if (itP != folderContents_.end()) +@@ -1967,7 +1967,7 @@ + if (auto itP = folderContents_.find(itemId); itP != folderContents_.end()) { for (auto itChild : itP->second.childItems) //2. delete as parent from child items (don't wait for change notifications of children) - std::erase_if(itChild->second.parentIds, [&](const std::string& id) { return id == itemId; }); -- cgit From 393b53198b25417b98097b00076d54caafd9d876 Mon Sep 17 00:00:00 2001 From: B Stack Date: Fri, 27 Dec 2019 11:40:08 -0500 Subject: fix ffs_el.patch serialize.h --- freefilesync/ffs_el.patch | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'freefilesync') diff --git a/freefilesync/ffs_el.patch b/freefilesync/ffs_el.patch index 64fdb03..bf4fa20 100644 --- a/freefilesync/ffs_el.patch +++ b/freefilesync/ffs_el.patch @@ -110,13 +110,13 @@ diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/zen/ring_buffer.h 10.11-1/z namespace zen -diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/zen/serialize.h 10.11-1/zen/serialize.h +diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/zen/serialize.h 10.19-1/zen/serialize.h --- 10.11-0/zen/serialize.h 2019-04-12 07:59:46.080195719 -0400 -+++ 10.11-1/zen/serialize.h 2019-04-12 10:19:57.229913463 -0400 -@@ -9,6 +9,7 @@ - ++++ 10.19-1/zen/serialize.h 2019-12-27 11:35:50.379901321 -0500 +@@ -10,6 +10,7 @@ #include #include + #include +#include #include "string_base.h" //keep header clean from specific stream implementations! (e.g.file_io.h)! used by abstract.h! -- cgit