summaryrefslogtreecommitdiff
path: root/freefilesync
diff options
context:
space:
mode:
Diffstat (limited to 'freefilesync')
-rw-r--r--freefilesync/00_allow_parallel_ops.patch (renamed from freefilesync/ffs_allow_parallel_ops.patch)16
-rw-r--r--freefilesync/01_no_check_updates.patch (renamed from freefilesync/ffs_no_check_updates.patch)114
-rw-r--r--freefilesync/02_no_wx311.patch (renamed from freefilesync/ffs_no_wx311.patch)0
-rw-r--r--freefilesync/03_sftp.patch (renamed from freefilesync/ffs_sftp.patch)0
-rw-r--r--freefilesync/04_revert_zenju_aggressive_upstreamisms.patch (renamed from freefilesync/revert_zenju_aggressive_upstreamisms.patch)69
-rw-r--r--freefilesync/05_traditional_view.patch (renamed from freefilesync/ffs_traditional_view.patch)18
-rw-r--r--freefilesync/06_icon_loader.patch (renamed from freefilesync/ffs_icon_loader.patch)0
-rw-r--r--freefilesync/07_libssh2.patch (renamed from freefilesync/ffs_libssh2.patch)0
-rw-r--r--freefilesync/_service2
-rw-r--r--freefilesync/debian/changelog16
-rw-r--r--freefilesync/debian/freefilesync+devuan.dsc2
-rw-r--r--freefilesync/debian/patches/ffs_allow_parallel_ops.patch16
-rw-r--r--freefilesync/debian/patches/ffs_devuan.patch25
-rw-r--r--freefilesync/debian/patches/ffs_no_check_updates.patch114
-rw-r--r--freefilesync/debian/patches/ffs_traditional_view.patch18
-rw-r--r--freefilesync/debian/patches/revert_zenju_aggressive_upstreamisms.patch69
-rw-r--r--freefilesync/ffs_distro_el6_el7.patch (renamed from freefilesync/ffs_el.patch)0
-rw-r--r--freefilesync/ffs_distro_fedora.patch (renamed from freefilesync/ffs_fedora.patch)25
-rw-r--r--freefilesync/ffs_el6_el7_bit.patch (renamed from freefilesync/ffs_bit.patch)0
-rw-r--r--freefilesync/ffs_el6_el7_no_eraseif.patch (renamed from freefilesync/ffs_no_eraseif.patch)0
-rw-r--r--freefilesync/ffs_libcurl_7.61.1.patch79
-rw-r--r--freefilesync/ffs_libcurl_7.71.1.patch (renamed from freefilesync/ffs_curl.patch)0
-rw-r--r--freefilesync/ffs_libcurl_7.79.1.patch39
-rw-r--r--freefilesync/ffs_no_gcc12.patch17
-rw-r--r--freefilesync/ffs_openssl.patch4
-rw-r--r--freefilesync/freefilesync.spec166
26 files changed, 613 insertions, 196 deletions
diff --git a/freefilesync/ffs_allow_parallel_ops.patch b/freefilesync/00_allow_parallel_ops.patch
index 473ae46..65226bb 100644
--- a/freefilesync/ffs_allow_parallel_ops.patch
+++ b/freefilesync/00_allow_parallel_ops.patch
@@ -1,5 +1,6 @@
-Last version tested: 11.13
-The source release appears not to actually include the logic that performs operations in parallel, so this patch doesn't actually do anything.
+Version: 11.22
+Date: 2022-06-26
+Message: The source release appears not to actually include the logic that performs operations in parallel, so this patch doesn't actually do anything.
diff -Naur -x '*.orig' -x '*.rej' -x '*.git*' 11.4-0/FreeFileSync/Source/ui/folder_selector.cpp 11.4-1/FreeFileSync/Source/ui/folder_selector.cpp
--- 11.4-0/FreeFileSync/Source/ui/folder_selector.cpp 2020-12-08 08:15:29.428156465 -0500
+++ 11.4-1/FreeFileSync/Source/ui/folder_selector.cpp 2020-12-08 19:12:09.205183330 -0500
@@ -44,14 +45,15 @@ diff -Naur -x '*.orig' -x '*.rej' -x '*.git*' 11.4-0/FreeFileSync/Source/ui/smal
m_targetFolderPath->setHistory(std::make_shared<HistoryList>(folderHistory, folderHistoryMax));
diff -Naur -x '*.orig' -x '*.rej' -x '*.git*' 11.4-0/FreeFileSync/Source/ui/sync_cfg.cpp 11.4-1/FreeFileSync/Source/ui/sync_cfg.cpp
---- 11.13-0/FreeFileSync/Source/ui/sync_cfg.cpp 2021-08-17 19:18:02.039992429 -0400
-+++ 11.13-1/FreeFileSync/Source/ui/sync_cfg.cpp 2021-08-17 19:33:01.693071327 -0400
-@@ -348,7 +348,7 @@
+--- 11.22-0/FreeFileSync/Source/ui/sync_cfg.cpp 2022-06-26 12:01:15.638291465 -0400
++++ 11.22-1/FreeFileSync/Source/ui/sync_cfg.cpp 2022-06-26 12:42:38.181161442 -0400
+@@ -352,7 +352,7 @@
commandHistoryOut_(commandHistory),
globalPairCfg_(globalPairCfg),
localPairCfg_(localPairCfg),
- enableExtraFeatures_(false),
+ enableExtraFeatures_(true),
- showMultipleCfgs_(showMultipleCfgs)
+ showMultipleCfgs_(showMultipleCfgs),
+ globalLogFolderPhrase_(globalLogFolderPhrase)
{
- setStandardButtonLayout(*bSizerStdButtons, StdButtons().setAffirmative(m_buttonOkay).setCancel(m_buttonCancel));
+
diff --git a/freefilesync/ffs_no_check_updates.patch b/freefilesync/01_no_check_updates.patch
index eececed..1d11f96 100644
--- a/freefilesync/ffs_no_check_updates.patch
+++ b/freefilesync/01_no_check_updates.patch
@@ -1,60 +1,68 @@
-Version: 11.20
-Date: 2022-04-18
+Version: 11.22
+Date: 2022-06-26
Author: bgstack15
Message: This is a major rewrite of the ffs_no_check_updates patch from before 11.10 which disabled only a few technical www interactions. This current version completely deletes all logic associated with checking the version of the program.
diff -aur 11.18-0/FreeFileSync/Source/ui/gui_generated.cpp 11.18-1/FreeFileSync/Source/ui/gui_generated.cpp
---- 11.21-0/FreeFileSync/Source/ui/gui_generated.cpp 2022-05-22 17:09:32.246809650 -0400
-+++ 11.21-1/FreeFileSync/Source/ui/gui_generated.cpp 2022-05-22 17:43:22.568148782 -0400
+--- 11.22-0/FreeFileSync/Source/ui/gui_generated.cpp 2022-06-26 12:01:15.634291415 -0400
++++ 11.22-1/FreeFileSync/Source/ui/gui_generated.cpp 2022-06-26 12:39:05.058511306 -0400
@@ -110,15 +110,6 @@
- m_menuHelp->AppendSeparator();
+ m_menuHelp->AppendSeparator();
-- m_menuItemCheckVersionNow = new wxMenuItem( m_menuHelp, wxID_ANY, wxString( _("&Check for updates now") ), wxEmptyString, wxITEM_NORMAL );
-- m_menuHelp->Append( m_menuItemCheckVersionNow );
+- m_menuItemCheckVersionNow = new wxMenuItem( m_menuHelp, wxID_ANY, wxString( _("&Check for updates now") ) , wxEmptyString, wxITEM_NORMAL );
+- m_menuHelp->Append( m_menuItemCheckVersionNow );
-
-- m_menuItemCheckVersionAuto = new wxMenuItem( m_menuHelp, wxID_ANY, wxString( _("Check &automatically once a week") ), wxEmptyString, wxITEM_CHECK );
-- m_menuHelp->Append( m_menuItemCheckVersionAuto );
-- m_menuItemCheckVersionAuto->Check( true );
+- m_menuItemCheckVersionAuto = new wxMenuItem( m_menuHelp, wxID_ANY, wxString( _("Check &automatically once a week") ) , wxEmptyString, wxITEM_CHECK );
+- m_menuHelp->Append( m_menuItemCheckVersionAuto );
+- m_menuItemCheckVersionAuto->Check( true );
-
-- m_menuHelp->AppendSeparator();
+- m_menuHelp->AppendSeparator();
-
- m_menuItemAbout = new wxMenuItem( m_menuHelp, wxID_ABOUT, wxString( _("&About") ) + wxT('\t') + wxT("Shift+F1"), wxEmptyString, wxITEM_NORMAL );
- m_menuHelp->Append( m_menuItemAbout );
+ m_menuItemAbout = new wxMenuItem( m_menuHelp, wxID_ABOUT, wxString( _("&About") ) + wxT('\t') + wxT("Shift+F1"), wxEmptyString, wxITEM_NORMAL );
+ m_menuHelp->Append( m_menuItemAbout );
@@ -1131,8 +1122,6 @@
- m_menuTools->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuExportFileList ), this, m_menuItemExportList->GetId());
- m_menuTools->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuResetLayout ), this, m_menuItemResetLayout->GetId());
- m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onShowHelp ), this, m_menuItemHelp->GetId());
-- m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuCheckVersion ), this, m_menuItemCheckVersionNow->GetId());
-- m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuCheckVersionAutomatically ), this, m_menuItemCheckVersionAuto->GetId());
- m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuAbout ), this, m_menuItemAbout->GetId());
- m_bpButtonCmpConfig->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::onCmpSettings ), NULL, this );
- m_bpButtonCmpConfig->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::onCompSettingsContextMouse ), NULL, this );
+ m_menuTools->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuExportFileList ), this, m_menuItemExportList->GetId());
+ m_menuTools->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuResetLayout ), this, m_menuItemResetLayout->GetId());
+ m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onShowHelp ), this, m_menuItemHelp->GetId());
+- m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuCheckVersion ), this, m_menuItemCheckVersionNow->GetId());
+- m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuCheckVersionAutomatically ), this, m_menuItemCheckVersionAuto->GetId());
+ m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuAbout ), this, m_menuItemAbout->GetId());
+ m_bpButtonCmpConfig->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::onCmpSettings ), NULL, this );
+ m_bpButtonCmpConfig->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::onCompSettingsContextMouse ), NULL, this );
diff -aur 11.18-0/FreeFileSync/Source/ui/gui_generated.h 11.18-1/FreeFileSync/Source/ui/gui_generated.h
---- 11.21-0/FreeFileSync/Source/ui/gui_generated.h 2022-05-22 17:09:32.246809650 -0400
-+++ 11.21-1/FreeFileSync/Source/ui/gui_generated.h 2022-05-22 17:41:42.058897375 -0400
+--- 11.22-0/FreeFileSync/Source/ui/gui_generated.h 2022-06-26 12:01:15.634291415 -0400
++++ 11.22-1/FreeFileSync/Source/ui/gui_generated.h 2022-06-26 12:38:30.522081852 -0400
@@ -96,8 +96,6 @@
- wxMenuItem* m_menuItemShowOverview;
- wxMenu* m_menuHelp;
- wxMenuItem* m_menuItemHelp;
-- wxMenuItem* m_menuItemCheckVersionNow;
-- wxMenuItem* m_menuItemCheckVersionAuto;
- wxMenuItem* m_menuItemAbout;
- wxBoxSizer* bSizerPanelHolder;
- wxPanel* m_panelTopButtons;
+ wxMenuItem* m_menuItemShowOverview;
+ wxMenu* m_menuHelp;
+ wxMenuItem* m_menuItemHelp;
+- wxMenuItem* m_menuItemCheckVersionNow;
+- wxMenuItem* m_menuItemCheckVersionAuto;
+ wxMenuItem* m_menuItemAbout;
+ wxBoxSizer* bSizerPanelHolder;
+ wxPanel* m_panelTopButtons;
@@ -232,8 +230,6 @@
- virtual void onMenuExportFileList( wxCommandEvent& event ) { event.Skip(); }
- virtual void onMenuResetLayout( wxCommandEvent& event ) { event.Skip(); }
- virtual void onShowHelp( wxCommandEvent& event ) { event.Skip(); }
-- virtual void onMenuCheckVersion( wxCommandEvent& event ) { event.Skip(); }
-- virtual void onMenuCheckVersionAutomatically( wxCommandEvent& event ) { event.Skip(); }
- virtual void onMenuAbout( wxCommandEvent& event ) { event.Skip(); }
- virtual void onCompSettingsContextMouse( wxMouseEvent& event ) { event.Skip(); }
- virtual void onCompSettingsContext( wxCommandEvent& event ) { event.Skip(); }
+ virtual void onMenuExportFileList( wxCommandEvent& event ) { event.Skip(); }
+ virtual void onMenuResetLayout( wxCommandEvent& event ) { event.Skip(); }
+ virtual void onShowHelp( wxCommandEvent& event ) { event.Skip(); }
+- virtual void onMenuCheckVersion( wxCommandEvent& event ) { event.Skip(); }
+- virtual void onMenuCheckVersionAutomatically( wxCommandEvent& event ) { event.Skip(); }
+ virtual void onMenuAbout( wxCommandEvent& event ) { event.Skip(); }
+ virtual void onCompSettingsContextMouse( wxMouseEvent& event ) { event.Skip(); }
+ virtual void onCompSettingsContext( wxCommandEvent& event ) { event.Skip(); }
diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 11.10-2/FreeFileSync/Source/ui/main_dlg.cpp
--- 11.16-0/FreeFileSync/Source/ui/main_dlg.cpp 2022-01-04 08:52:19.811432573 -0500
+++ 11.16-1/FreeFileSync/Source/ui/main_dlg.cpp 2022-01-04 08:57:14.506728896 -0500
-@@ -744,7 +744,6 @@
+@@ -31,7 +31,6 @@
+ #include <wx+/image_resources.h>
+ //#include <wx+/std_button_layout.h>
+ #include "cfg_grid.h"
+-#include "version_check.h"
+ #include "gui_status_handler.h"
+ #include "small_dlgs.h"
+ #include "progress_indicator.h"
+@@ -821,7 +820,6 @@
setImage(*m_menuItemHelp, loadImage("help_sicon"));
setImage(*m_menuItemAbout, loadImage("about_sicon"));
@@ -62,7 +70,7 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 11.10-2/FreeFileSync/Sourc
fixMenuIcons(*m_menuFile);
fixMenuIcons(*m_menuActions);
-@@ -854,9 +853,6 @@
+@@ -922,9 +920,6 @@
//mainly to update row label sizes...
updateGui();
@@ -81,7 +89,7 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 11.10-2/FreeFileSync/Sourc
auiMgr_.Update();
}
-@@ -5706,72 +5700,6 @@
+@@ -5740,72 +5734,6 @@
}
}
@@ -271,3 +279,25 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/version_check.h 11.10-2/FreeFileSync/So
}
#endif //VERSION_CHECK_H_324872374893274983275
+diff -aur /usr/src/freefilesync/11.22-0/FreeFileSync/Source/Makefile /usr/src/freefilesync/11.22-1/FreeFileSync/Source/Makefile
+--- 11.22-0/FreeFileSync/Source/Makefile 2022-06-26 11:47:06.603733867 -0400
++++ 11.22-1/FreeFileSync/Source/Makefile 2022-06-26 14:01:34.640058450 -0400
+@@ -76,7 +85,6 @@
+ cppFiles+=ui/sync_cfg.cpp
+ cppFiles+=ui/tray_icon.cpp
+ cppFiles+=ui/triple_splitter.cpp
+-cppFiles+=ui/version_check.cpp
+ cppFiles+=../../libcurl/curl_wrap.cpp
+ cppFiles+=../../zen/file_access.cpp
+ cppFiles+=../../zen/file_io.cpp
+diff -aur /usr/src/freefilesync/11.22-0/FreeFileSync/Source/ui/small_dlgs.cpp /usr/src/freefilesync/11.22-1/FreeFileSync/Source/ui/small_dlgs.cpp
+--- 11.22-0/FreeFileSync/Source/ui/small_dlgs.cpp 2022-06-26 12:01:15.638291465 -0400
++++ 11.22-1/FreeFileSync/Source/ui/small_dlgs.cpp 2022-06-26 14:01:37.516094208 -0400
+@@ -27,7 +27,6 @@
+ #include <wx+/image_resources.h>
+ #include "gui_generated.h"
+ #include "folder_selector.h"
+-#include "version_check.h"
+ #include "abstract_folder_picker.h"
+ #include "../afs/concrete.h"
+ #include "../afs/gdrive.h"
diff --git a/freefilesync/ffs_no_wx311.patch b/freefilesync/02_no_wx311.patch
index e74da90..e74da90 100644
--- a/freefilesync/ffs_no_wx311.patch
+++ b/freefilesync/02_no_wx311.patch
diff --git a/freefilesync/ffs_sftp.patch b/freefilesync/03_sftp.patch
index a51acc8..a51acc8 100644
--- a/freefilesync/ffs_sftp.patch
+++ b/freefilesync/03_sftp.patch
diff --git a/freefilesync/revert_zenju_aggressive_upstreamisms.patch b/freefilesync/04_revert_zenju_aggressive_upstreamisms.patch
index 43fec48..4758004 100644
--- a/freefilesync/revert_zenju_aggressive_upstreamisms.patch
+++ b/freefilesync/04_revert_zenju_aggressive_upstreamisms.patch
@@ -1,6 +1,6 @@
Message: Some of these can be traced back to version 10.23 which was the last to not use <unordered_map>
-Date: 2022-05-22
-Version: 11.21
+Date: 2022-06-26
+Version: 11.22
Author: bgstack15
diff -x '*.rej' -x '*.orig' -x '*.git*' -Naur 10.24-0/wx+/choice_enum.h 10.24-1/wx+/choice_enum.h
--- 10.24-0/wx+/choice_enum.h 2020-05-17 18:30:59.441499418 -0400
@@ -143,9 +143,9 @@ diff -x '*.orig' -x '*.rej' -aur 11.2-0/FreeFileSync/Source/ui/folder_selector.c
//It looks like wxDD_SHOW_HIDDEN only sets the default when opening for the first time!?
if (folderSelector.ShowModal() != wxID_OK)
diff -x '*.orig' -x '*.rej' -aur 11.1-1/wx+/bitmap_button.h 11.1-2/wx+/bitmap_button.h
---- 11.1-1/wx+/bitmap_button.h 2020-09-01 19:07:43.727122311 -0400
-+++ 11.1-2/wx+/bitmap_button.h 2020-09-01 20:10:31.385364671 -0400
-@@ -26,7 +26,7 @@
+--- 11.22-0/wx+/bitmap_button.h 2022-06-26 12:01:15.638291465 -0400
++++ 11.22-1/wx+/bitmap_button.h 2022-06-26 12:51:34.527830821 -0400
+@@ -28,7 +28,7 @@
const wxSize& size = wxDefaultSize,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
@@ -154,6 +154,22 @@ diff -x '*.orig' -x '*.rej' -aur 11.1-1/wx+/bitmap_button.h 11.1-2/wx+/bitmap_bu
wxBitmapButton(parent, id, wxNullBitmap, pos, size, style, validator, name)
{
SetLabel(label);
+@@ -104,7 +104,6 @@
+ wxBitmap renderSelectedButton(const wxSize& sz)
+ {
+ wxBitmap bmp(sz); //seems we don't need to pass 24-bit depth here even for high-contrast color schemes
+- bmp.SetScaleFactor(getDisplayScaleFactor());
+ {
+ wxMemoryDC dc(bmp);
+
+@@ -120,7 +119,6 @@
+ wxBitmap renderPressedButton(const wxSize& sz)
+ {
+ wxBitmap bmp(sz); //seems we don't need to pass 24-bit depth here even for high-contrast color schemes
+- bmp.SetScaleFactor(getDisplayScaleFactor());
+ {
+ //draw rectangle border with gradient
+ const wxColor colFrom = wxSystemSettings::GetColour(wxSYS_COLOUR_BTNFACE);
diff -aur -x '*.git*' -x '.*.swp' -x '*.orig' -x '*.rej' 11.6-0/wx+/dc.h 11.6-1/wx+/dc.h
--- 11.21-0/wx+/dc.h 2022-05-22 17:09:32.250809701 -0400
+++ 11.21-1/wx+/dc.h 2022-05-22 20:28:53.788193992 -0400
@@ -176,7 +192,7 @@ diff -aur -x '*.git*' -x '.*.swp' -x '*.orig' -x '*.rej' 11.6-0/wx+/dc.h 11.6-1/
//GTK2 doesn't properly support high DPI: https://freefilesync.org/forum/viewtopic.php?t=6114
//=> requires general fix at wxWidgets-level
-@@ -119,11 +116,10 @@
+@@ -126,11 +123,10 @@
inline
@@ -185,7 +201,7 @@ diff -aur -x '*.git*' -x '.*.swp' -x '*.orig' -x '*.rej' 11.6-0/wx+/dc.h 11.6-1/
{
//return wxBitmap(img, -1 /*depth*/, static_cast<double>(getDPI()) / defaultDpi); implementation just ignores scale parameter! WTF!
wxBitmap bmpScaled(img);
-- bmpScaled.SetScaleFactor(static_cast<double>(getDPI()) / defaultDpi);
+- bmpScaled.SetScaleFactor(getDisplayScaleFactor());
return bmpScaled;
}
@@ -328,7 +344,12 @@ diff -Naur -x '*.orig' -x '*.rej' -x '*.git*' 11.4-1/wx+/no_flicker.h 11.4-2/wx+
richCtrl.SetMargins({0, 0});
--- 11.20-0/FreeFileSync/Source/ui/progress_indicator.cpp 2022-04-18 09:49:31.917386558 -0400
+++ 11.20-1/FreeFileSync/Source/ui/progress_indicator.cpp 2022-04-18 11:02:10.988781908 -0400
-@@ -882,7 +885,6 @@
+@@ -878,12 +881,10 @@
+ auto generateSquareBitmap = [&](const wxColor& fillCol, const wxColor& borderCol)
+ {
+ wxBitmap bmpSquare(this->GetCharHeight(), this->GetCharHeight()); //seems we don't need to pass 24-bit depth here even for high-contrast color schemes
+- bmpSquare.SetScaleFactor(getDisplayScaleFactor());
+ {
wxMemoryDC dc(bmpSquare);
drawInsetRectangle(dc, wxRect(bmpSquare.GetSize()), fastFromDIP(1), borderCol, fillCol);
}
@@ -336,3 +357,35 @@ diff -Naur -x '*.orig' -x '*.rej' -x '*.git*' 11.4-1/wx+/no_flicker.h 11.4-2/wx+
return bmpSquare;
};
pnl_.m_bitmapGraphKeyBytes->SetBitmap(generateSquareBitmap(getColorBytes(), getColorBytesRim()));
+--- 11.22-0/wx+/rtl.h 2022-06-26 12:01:15.642291514 -0400
++++ 11.22-1/wx+/rtl.h 2022-06-26 12:58:17.248838575 -0400
+@@ -69,9 +69,6 @@
+ if (!buffer || buffer->GetSize() != rect.GetSize()) //[!] since we do a mirror, width needs to match exactly!
+ buffer.emplace(rect.GetSize());
+
+- if (buffer->GetScaleFactor() != dc.GetContentScaleFactor()) //needed here?
+- buffer->SetScaleFactor(dc.GetContentScaleFactor()); //
+-
+ wxMemoryDC memDc(*buffer); //copies scale factor from wxBitmap
+ memDc.Blit(wxPoint(0, 0), rect.GetSize(), &dc, rect.GetTopLeft()); //blit in: background is mirrored due to memDc, dc having different layout direction!
+
+--- 11.22-0/FreeFileSync/Source/ui/main_dlg.cpp 2022-06-26 12:01:15.634291415 -0400
++++ 11.22-1/FreeFileSync/Source/ui/main_dlg.cpp 2022-06-26 14:44:38.556188935 -0400
+@@ -3595,7 +3590,6 @@
+ };
+
+ wxBitmap bmpSquare(this->GetCharHeight(), this->GetCharHeight()); //seems we don't need to pass 24-bit depth here even for high-contrast color schemes
+- bmpSquare.SetScaleFactor(getDisplayScaleFactor());
+ {
+ wxMemoryDC dc(bmpSquare);
+ const wxColor borderCol(0xdd, 0xdd, 0xdd); //light grey
+--- 11.22-0/wx+/image_tools.cpp 2022-06-26 16:29:25.668035003 -0400
++++ 11.22-1/wx+/image_tools.cpp 2022-06-27 09:06:04.999244263 -0400
+@@ -188,7 +188,6 @@
+ return wxNullImage;
+
+ wxBitmap newBitmap(maxWidth, lineHeight * lineInfo.size()); //seems we don't need to pass 24-bit depth here even for high-contrast color schemes
+- newBitmap.SetScaleFactor(getDisplayScaleFactor());
+ {
+ dc.SelectObject(newBitmap); //copies scale factor from wxBitmap
+ ZEN_ON_SCOPE_EXIT(dc.SelectObject(wxNullBitmap));
diff --git a/freefilesync/ffs_traditional_view.patch b/freefilesync/05_traditional_view.patch
index e0cf0d2..2c7ab23 100644
--- a/freefilesync/ffs_traditional_view.patch
+++ b/freefilesync/05_traditional_view.patch
@@ -1,7 +1,7 @@
-Version: 11.21
-Date: 2022-05-24
+Version: 11.22
+Date: 2022-06-26
Author: bgstack15@gmail.com
-Message: restore a traditional view to FreeFileSync
+Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVersion" About dialog
diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.3-1/FreeFileSync/Source/ui/file_grid.cpp
--- 11.21-0/FreeFileSync/Source/ui/file_grid.cpp 2022-05-22 17:09:32.242809600 -0400
+++ 11.21-1/FreeFileSync/Source/ui/file_grid.cpp 2022-05-22 20:23:04.015916689 -0400
@@ -315,4 +315,14 @@ diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/ui/file_v
if ( ascending && onLeft) std::sort(sortedRef_.begin(), sortedRef_.end(), LessFullPath<true, SelectSide::left>(folderPairs_));
else if ( ascending && !onLeft) std::sort(sortedRef_.begin(), sortedRef_.end(), LessFullPath<true, SelectSide::right>(folderPairs_));
else if (!ascending && onLeft) std::sort(sortedRef_.begin(), sortedRef_.end(), LessFullPath<false, SelectSide::left>(folderPairs_));
-
+diff -aur 11.22-0/FreeFileSync/Source/ui/main_dlg.cpp 11.22-1/FreeFileSync/Source/ui/main_dlg.cpp
+--- 11.22-0/FreeFileSync/Source/ui/main_dlg.cpp 2022-06-26 12:01:15.634291415 -0400
++++ 11.22-1/FreeFileSync/Source/ui/main_dlg.cpp 2022-06-26 15:39:46.313320272 -0400
+@@ -436,7 +436,6 @@
+ if (mainDlg->globalCfg_.welcomeShownVersion != ffsVersion)
+ {
+ mainDlg->globalCfg_.welcomeShownVersion = ffsVersion;
+- showAboutDialog(mainDlg);
+ }
+
+
diff --git a/freefilesync/ffs_icon_loader.patch b/freefilesync/06_icon_loader.patch
index 14035d5..14035d5 100644
--- a/freefilesync/ffs_icon_loader.patch
+++ b/freefilesync/06_icon_loader.patch
diff --git a/freefilesync/ffs_libssh2.patch b/freefilesync/07_libssh2.patch
index 022914b..022914b 100644
--- a/freefilesync/ffs_libssh2.patch
+++ b/freefilesync/07_libssh2.patch
diff --git a/freefilesync/_service b/freefilesync/_service
index 9ff7c86..c31e008 100644
--- a/freefilesync/_service
+++ b/freefilesync/_service
@@ -14,7 +14,7 @@
<service name="tar_scm">
<param name="scm">git</param>
<param name="url">https://gitlab.com/opensource-tracking/FreeFileSync.git</param>
- <param name="revision">11.21</param>
+ <param name="revision">11.22</param>
<param name="version">_none_</param>
</service>
<service name="recompress">
diff --git a/freefilesync/debian/changelog b/freefilesync/debian/changelog
index f129b49..5ab5cdd 100644
--- a/freefilesync/debian/changelog
+++ b/freefilesync/debian/changelog
@@ -1,3 +1,19 @@
+freefilesync (11.22-1+devuan) obs; urgency=medium
+
+ * Upstream updates
+ * Allow to change default log folder in global settings
+ * Fixed sort order when items existing on one side only
+ * Consider HOME environment variable for home path (Linux)
+ * Fixed config selection using shift and arrow keys
+ * Start comparison, then sync by only pressing Enter after startup
+ * Fall back to default path when failing to save log file
+ * Improved relative config path handling in portable mode
+ * Dpkg updates
+ * Fix sloppiness regarding missing Animal.dat
+ * Suppress showing About dialog after upgrade
+
+ -- B. Stack <bgstack15@gmail.com> Sun, 26 Jun 2022 16:21:42 -0400
+
freefilesync (11.21-1+devuan) obs; urgency=medium
* Upstream updates
diff --git a/freefilesync/debian/freefilesync+devuan.dsc b/freefilesync/debian/freefilesync+devuan.dsc
index 5bbdf84..b6f4f0f 100644
--- a/freefilesync/debian/freefilesync+devuan.dsc
+++ b/freefilesync/debian/freefilesync+devuan.dsc
@@ -2,7 +2,7 @@ Format: 3.0 (quilt)
Source: freefilesync
Binary: freefilesync
Architecture: any
-Version: 11.21-1+devuan
+Version: 11.22-1+devuan
Maintainer: B. Stack <bgstack15@gmail.com>
Homepage: https://freefilesync.org/
Standards-Version: 4.1.4
diff --git a/freefilesync/debian/patches/ffs_allow_parallel_ops.patch b/freefilesync/debian/patches/ffs_allow_parallel_ops.patch
index 473ae46..65226bb 100644
--- a/freefilesync/debian/patches/ffs_allow_parallel_ops.patch
+++ b/freefilesync/debian/patches/ffs_allow_parallel_ops.patch
@@ -1,5 +1,6 @@
-Last version tested: 11.13
-The source release appears not to actually include the logic that performs operations in parallel, so this patch doesn't actually do anything.
+Version: 11.22
+Date: 2022-06-26
+Message: The source release appears not to actually include the logic that performs operations in parallel, so this patch doesn't actually do anything.
diff -Naur -x '*.orig' -x '*.rej' -x '*.git*' 11.4-0/FreeFileSync/Source/ui/folder_selector.cpp 11.4-1/FreeFileSync/Source/ui/folder_selector.cpp
--- 11.4-0/FreeFileSync/Source/ui/folder_selector.cpp 2020-12-08 08:15:29.428156465 -0500
+++ 11.4-1/FreeFileSync/Source/ui/folder_selector.cpp 2020-12-08 19:12:09.205183330 -0500
@@ -44,14 +45,15 @@ diff -Naur -x '*.orig' -x '*.rej' -x '*.git*' 11.4-0/FreeFileSync/Source/ui/smal
m_targetFolderPath->setHistory(std::make_shared<HistoryList>(folderHistory, folderHistoryMax));
diff -Naur -x '*.orig' -x '*.rej' -x '*.git*' 11.4-0/FreeFileSync/Source/ui/sync_cfg.cpp 11.4-1/FreeFileSync/Source/ui/sync_cfg.cpp
---- 11.13-0/FreeFileSync/Source/ui/sync_cfg.cpp 2021-08-17 19:18:02.039992429 -0400
-+++ 11.13-1/FreeFileSync/Source/ui/sync_cfg.cpp 2021-08-17 19:33:01.693071327 -0400
-@@ -348,7 +348,7 @@
+--- 11.22-0/FreeFileSync/Source/ui/sync_cfg.cpp 2022-06-26 12:01:15.638291465 -0400
++++ 11.22-1/FreeFileSync/Source/ui/sync_cfg.cpp 2022-06-26 12:42:38.181161442 -0400
+@@ -352,7 +352,7 @@
commandHistoryOut_(commandHistory),
globalPairCfg_(globalPairCfg),
localPairCfg_(localPairCfg),
- enableExtraFeatures_(false),
+ enableExtraFeatures_(true),
- showMultipleCfgs_(showMultipleCfgs)
+ showMultipleCfgs_(showMultipleCfgs),
+ globalLogFolderPhrase_(globalLogFolderPhrase)
{
- setStandardButtonLayout(*bSizerStdButtons, StdButtons().setAffirmative(m_buttonOkay).setCancel(m_buttonCancel));
+
diff --git a/freefilesync/debian/patches/ffs_devuan.patch b/freefilesync/debian/patches/ffs_devuan.patch
index 5726b87..06de345 100644
--- a/freefilesync/debian/patches/ffs_devuan.patch
+++ b/freefilesync/debian/patches/ffs_devuan.patch
@@ -85,3 +85,28 @@ diff -Naur -x '*.orig' -x '*.rej' -x .git 11.21-0/FreeFileSync/Source/applicatio
&error); //GError** error
if (error)
throw SysError(formatGlibError("gtk_css_provider_load_from_path", error));
+Message: some random sloppiness with a missing graphical asset. It's not important to the application.
+--- 11.22-0/FreeFileSync/Source/ui/small_dlgs.cpp 2022-06-26 16:03:49.887270966 -0400
++++ 11.22-1/FreeFileSync/Source/ui/small_dlgs.cpp 2022-06-26 16:03:52.123298767 -0400
+@@ -140,9 +140,9 @@
+
+ wxImage::AddHandler(new wxJPEGHandler /*ownership passed*/); //activate support for .jpg files
+
+- wxImage animalImg(utfTo<wxString>(appendPath(getResourceDirPath(), Zstr("Animal.dat"))), wxBITMAP_TYPE_JPEG);
+- convertToVanillaImage(animalImg);
+- assert(animalImg.IsOk());
++ //wxImage animalImg(utfTo<wxString>(appendPath(getResourceDirPath(), Zstr("Animal.dat"))), wxBITMAP_TYPE_JPEG);
++ //convertToVanillaImage(animalImg);
++ //assert(animalImg.IsOk());
+
+ //--------------------------------------------------------------------------
+ //have animal + text match *final* dialog width
+@@ -152,7 +152,7 @@
+ const int imageWidth = (m_panelDonate->GetSize().GetWidth() - 5 - 5 /* grey border*/) / 2;
+ const int textWidth = m_panelDonate->GetSize().GetWidth() - 5 - 5 - imageWidth;
+
+- setImage(*m_bitmapAnimalSmall, shrinkImage(animalImg, imageWidth, -1 /*maxHeight*/));
++ //setImage(*m_bitmapAnimalSmall, shrinkImage(animalImg, imageWidth, -1 /*maxHeight*/));
+
+ m_staticTextDonate->Show();
+ m_staticTextDonate->Wrap(textWidth - 10 /*left gap*/); //wrap *after* changing font size
diff --git a/freefilesync/debian/patches/ffs_no_check_updates.patch b/freefilesync/debian/patches/ffs_no_check_updates.patch
index eececed..1d11f96 100644
--- a/freefilesync/debian/patches/ffs_no_check_updates.patch
+++ b/freefilesync/debian/patches/ffs_no_check_updates.patch
@@ -1,60 +1,68 @@
-Version: 11.20
-Date: 2022-04-18
+Version: 11.22
+Date: 2022-06-26
Author: bgstack15
Message: This is a major rewrite of the ffs_no_check_updates patch from before 11.10 which disabled only a few technical www interactions. This current version completely deletes all logic associated with checking the version of the program.
diff -aur 11.18-0/FreeFileSync/Source/ui/gui_generated.cpp 11.18-1/FreeFileSync/Source/ui/gui_generated.cpp
---- 11.21-0/FreeFileSync/Source/ui/gui_generated.cpp 2022-05-22 17:09:32.246809650 -0400
-+++ 11.21-1/FreeFileSync/Source/ui/gui_generated.cpp 2022-05-22 17:43:22.568148782 -0400
+--- 11.22-0/FreeFileSync/Source/ui/gui_generated.cpp 2022-06-26 12:01:15.634291415 -0400
++++ 11.22-1/FreeFileSync/Source/ui/gui_generated.cpp 2022-06-26 12:39:05.058511306 -0400
@@ -110,15 +110,6 @@
- m_menuHelp->AppendSeparator();
+ m_menuHelp->AppendSeparator();
-- m_menuItemCheckVersionNow = new wxMenuItem( m_menuHelp, wxID_ANY, wxString( _("&Check for updates now") ), wxEmptyString, wxITEM_NORMAL );
-- m_menuHelp->Append( m_menuItemCheckVersionNow );
+- m_menuItemCheckVersionNow = new wxMenuItem( m_menuHelp, wxID_ANY, wxString( _("&Check for updates now") ) , wxEmptyString, wxITEM_NORMAL );
+- m_menuHelp->Append( m_menuItemCheckVersionNow );
-
-- m_menuItemCheckVersionAuto = new wxMenuItem( m_menuHelp, wxID_ANY, wxString( _("Check &automatically once a week") ), wxEmptyString, wxITEM_CHECK );
-- m_menuHelp->Append( m_menuItemCheckVersionAuto );
-- m_menuItemCheckVersionAuto->Check( true );
+- m_menuItemCheckVersionAuto = new wxMenuItem( m_menuHelp, wxID_ANY, wxString( _("Check &automatically once a week") ) , wxEmptyString, wxITEM_CHECK );
+- m_menuHelp->Append( m_menuItemCheckVersionAuto );
+- m_menuItemCheckVersionAuto->Check( true );
-
-- m_menuHelp->AppendSeparator();
+- m_menuHelp->AppendSeparator();
-
- m_menuItemAbout = new wxMenuItem( m_menuHelp, wxID_ABOUT, wxString( _("&About") ) + wxT('\t') + wxT("Shift+F1"), wxEmptyString, wxITEM_NORMAL );
- m_menuHelp->Append( m_menuItemAbout );
+ m_menuItemAbout = new wxMenuItem( m_menuHelp, wxID_ABOUT, wxString( _("&About") ) + wxT('\t') + wxT("Shift+F1"), wxEmptyString, wxITEM_NORMAL );
+ m_menuHelp->Append( m_menuItemAbout );
@@ -1131,8 +1122,6 @@
- m_menuTools->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuExportFileList ), this, m_menuItemExportList->GetId());
- m_menuTools->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuResetLayout ), this, m_menuItemResetLayout->GetId());
- m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onShowHelp ), this, m_menuItemHelp->GetId());
-- m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuCheckVersion ), this, m_menuItemCheckVersionNow->GetId());
-- m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuCheckVersionAutomatically ), this, m_menuItemCheckVersionAuto->GetId());
- m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuAbout ), this, m_menuItemAbout->GetId());
- m_bpButtonCmpConfig->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::onCmpSettings ), NULL, this );
- m_bpButtonCmpConfig->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::onCompSettingsContextMouse ), NULL, this );
+ m_menuTools->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuExportFileList ), this, m_menuItemExportList->GetId());
+ m_menuTools->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuResetLayout ), this, m_menuItemResetLayout->GetId());
+ m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onShowHelp ), this, m_menuItemHelp->GetId());
+- m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuCheckVersion ), this, m_menuItemCheckVersionNow->GetId());
+- m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuCheckVersionAutomatically ), this, m_menuItemCheckVersionAuto->GetId());
+ m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuAbout ), this, m_menuItemAbout->GetId());
+ m_bpButtonCmpConfig->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::onCmpSettings ), NULL, this );
+ m_bpButtonCmpConfig->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::onCompSettingsContextMouse ), NULL, this );
diff -aur 11.18-0/FreeFileSync/Source/ui/gui_generated.h 11.18-1/FreeFileSync/Source/ui/gui_generated.h
---- 11.21-0/FreeFileSync/Source/ui/gui_generated.h 2022-05-22 17:09:32.246809650 -0400
-+++ 11.21-1/FreeFileSync/Source/ui/gui_generated.h 2022-05-22 17:41:42.058897375 -0400
+--- 11.22-0/FreeFileSync/Source/ui/gui_generated.h 2022-06-26 12:01:15.634291415 -0400
++++ 11.22-1/FreeFileSync/Source/ui/gui_generated.h 2022-06-26 12:38:30.522081852 -0400
@@ -96,8 +96,6 @@
- wxMenuItem* m_menuItemShowOverview;
- wxMenu* m_menuHelp;
- wxMenuItem* m_menuItemHelp;
-- wxMenuItem* m_menuItemCheckVersionNow;
-- wxMenuItem* m_menuItemCheckVersionAuto;
- wxMenuItem* m_menuItemAbout;
- wxBoxSizer* bSizerPanelHolder;
- wxPanel* m_panelTopButtons;
+ wxMenuItem* m_menuItemShowOverview;
+ wxMenu* m_menuHelp;
+ wxMenuItem* m_menuItemHelp;
+- wxMenuItem* m_menuItemCheckVersionNow;
+- wxMenuItem* m_menuItemCheckVersionAuto;
+ wxMenuItem* m_menuItemAbout;
+ wxBoxSizer* bSizerPanelHolder;
+ wxPanel* m_panelTopButtons;
@@ -232,8 +230,6 @@
- virtual void onMenuExportFileList( wxCommandEvent& event ) { event.Skip(); }
- virtual void onMenuResetLayout( wxCommandEvent& event ) { event.Skip(); }
- virtual void onShowHelp( wxCommandEvent& event ) { event.Skip(); }
-- virtual void onMenuCheckVersion( wxCommandEvent& event ) { event.Skip(); }
-- virtual void onMenuCheckVersionAutomatically( wxCommandEvent& event ) { event.Skip(); }
- virtual void onMenuAbout( wxCommandEvent& event ) { event.Skip(); }
- virtual void onCompSettingsContextMouse( wxMouseEvent& event ) { event.Skip(); }
- virtual void onCompSettingsContext( wxCommandEvent& event ) { event.Skip(); }
+ virtual void onMenuExportFileList( wxCommandEvent& event ) { event.Skip(); }
+ virtual void onMenuResetLayout( wxCommandEvent& event ) { event.Skip(); }
+ virtual void onShowHelp( wxCommandEvent& event ) { event.Skip(); }
+- virtual void onMenuCheckVersion( wxCommandEvent& event ) { event.Skip(); }
+- virtual void onMenuCheckVersionAutomatically( wxCommandEvent& event ) { event.Skip(); }
+ virtual void onMenuAbout( wxCommandEvent& event ) { event.Skip(); }
+ virtual void onCompSettingsContextMouse( wxMouseEvent& event ) { event.Skip(); }
+ virtual void onCompSettingsContext( wxCommandEvent& event ) { event.Skip(); }
diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 11.10-2/FreeFileSync/Source/ui/main_dlg.cpp
--- 11.16-0/FreeFileSync/Source/ui/main_dlg.cpp 2022-01-04 08:52:19.811432573 -0500
+++ 11.16-1/FreeFileSync/Source/ui/main_dlg.cpp 2022-01-04 08:57:14.506728896 -0500
-@@ -744,7 +744,6 @@
+@@ -31,7 +31,6 @@
+ #include <wx+/image_resources.h>
+ //#include <wx+/std_button_layout.h>
+ #include "cfg_grid.h"
+-#include "version_check.h"
+ #include "gui_status_handler.h"
+ #include "small_dlgs.h"
+ #include "progress_indicator.h"
+@@ -821,7 +820,6 @@
setImage(*m_menuItemHelp, loadImage("help_sicon"));
setImage(*m_menuItemAbout, loadImage("about_sicon"));
@@ -62,7 +70,7 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 11.10-2/FreeFileSync/Sourc
fixMenuIcons(*m_menuFile);
fixMenuIcons(*m_menuActions);
-@@ -854,9 +853,6 @@
+@@ -922,9 +920,6 @@
//mainly to update row label sizes...
updateGui();
@@ -81,7 +89,7 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 11.10-2/FreeFileSync/Sourc
auiMgr_.Update();
}
-@@ -5706,72 +5700,6 @@
+@@ -5740,72 +5734,6 @@
}
}
@@ -271,3 +279,25 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/version_check.h 11.10-2/FreeFileSync/So
}
#endif //VERSION_CHECK_H_324872374893274983275
+diff -aur /usr/src/freefilesync/11.22-0/FreeFileSync/Source/Makefile /usr/src/freefilesync/11.22-1/FreeFileSync/Source/Makefile
+--- 11.22-0/FreeFileSync/Source/Makefile 2022-06-26 11:47:06.603733867 -0400
++++ 11.22-1/FreeFileSync/Source/Makefile 2022-06-26 14:01:34.640058450 -0400
+@@ -76,7 +85,6 @@
+ cppFiles+=ui/sync_cfg.cpp
+ cppFiles+=ui/tray_icon.cpp
+ cppFiles+=ui/triple_splitter.cpp
+-cppFiles+=ui/version_check.cpp
+ cppFiles+=../../libcurl/curl_wrap.cpp
+ cppFiles+=../../zen/file_access.cpp
+ cppFiles+=../../zen/file_io.cpp
+diff -aur /usr/src/freefilesync/11.22-0/FreeFileSync/Source/ui/small_dlgs.cpp /usr/src/freefilesync/11.22-1/FreeFileSync/Source/ui/small_dlgs.cpp
+--- 11.22-0/FreeFileSync/Source/ui/small_dlgs.cpp 2022-06-26 12:01:15.638291465 -0400
++++ 11.22-1/FreeFileSync/Source/ui/small_dlgs.cpp 2022-06-26 14:01:37.516094208 -0400
+@@ -27,7 +27,6 @@
+ #include <wx+/image_resources.h>
+ #include "gui_generated.h"
+ #include "folder_selector.h"
+-#include "version_check.h"
+ #include "abstract_folder_picker.h"
+ #include "../afs/concrete.h"
+ #include "../afs/gdrive.h"
diff --git a/freefilesync/debian/patches/ffs_traditional_view.patch b/freefilesync/debian/patches/ffs_traditional_view.patch
index e0cf0d2..2c7ab23 100644
--- a/freefilesync/debian/patches/ffs_traditional_view.patch
+++ b/freefilesync/debian/patches/ffs_traditional_view.patch
@@ -1,7 +1,7 @@
-Version: 11.21
-Date: 2022-05-24
+Version: 11.22
+Date: 2022-06-26
Author: bgstack15@gmail.com
-Message: restore a traditional view to FreeFileSync
+Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVersion" About dialog
diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.3-1/FreeFileSync/Source/ui/file_grid.cpp
--- 11.21-0/FreeFileSync/Source/ui/file_grid.cpp 2022-05-22 17:09:32.242809600 -0400
+++ 11.21-1/FreeFileSync/Source/ui/file_grid.cpp 2022-05-22 20:23:04.015916689 -0400
@@ -315,4 +315,14 @@ diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/ui/file_v
if ( ascending && onLeft) std::sort(sortedRef_.begin(), sortedRef_.end(), LessFullPath<true, SelectSide::left>(folderPairs_));
else if ( ascending && !onLeft) std::sort(sortedRef_.begin(), sortedRef_.end(), LessFullPath<true, SelectSide::right>(folderPairs_));
else if (!ascending && onLeft) std::sort(sortedRef_.begin(), sortedRef_.end(), LessFullPath<false, SelectSide::left>(folderPairs_));
-
+diff -aur 11.22-0/FreeFileSync/Source/ui/main_dlg.cpp 11.22-1/FreeFileSync/Source/ui/main_dlg.cpp
+--- 11.22-0/FreeFileSync/Source/ui/main_dlg.cpp 2022-06-26 12:01:15.634291415 -0400
++++ 11.22-1/FreeFileSync/Source/ui/main_dlg.cpp 2022-06-26 15:39:46.313320272 -0400
+@@ -436,7 +436,6 @@
+ if (mainDlg->globalCfg_.welcomeShownVersion != ffsVersion)
+ {
+ mainDlg->globalCfg_.welcomeShownVersion = ffsVersion;
+- showAboutDialog(mainDlg);
+ }
+
+
diff --git a/freefilesync/debian/patches/revert_zenju_aggressive_upstreamisms.patch b/freefilesync/debian/patches/revert_zenju_aggressive_upstreamisms.patch
index 43fec48..4758004 100644
--- a/freefilesync/debian/patches/revert_zenju_aggressive_upstreamisms.patch
+++ b/freefilesync/debian/patches/revert_zenju_aggressive_upstreamisms.patch
@@ -1,6 +1,6 @@
Message: Some of these can be traced back to version 10.23 which was the last to not use <unordered_map>
-Date: 2022-05-22
-Version: 11.21
+Date: 2022-06-26
+Version: 11.22
Author: bgstack15
diff -x '*.rej' -x '*.orig' -x '*.git*' -Naur 10.24-0/wx+/choice_enum.h 10.24-1/wx+/choice_enum.h
--- 10.24-0/wx+/choice_enum.h 2020-05-17 18:30:59.441499418 -0400
@@ -143,9 +143,9 @@ diff -x '*.orig' -x '*.rej' -aur 11.2-0/FreeFileSync/Source/ui/folder_selector.c
//It looks like wxDD_SHOW_HIDDEN only sets the default when opening for the first time!?
if (folderSelector.ShowModal() != wxID_OK)
diff -x '*.orig' -x '*.rej' -aur 11.1-1/wx+/bitmap_button.h 11.1-2/wx+/bitmap_button.h
---- 11.1-1/wx+/bitmap_button.h 2020-09-01 19:07:43.727122311 -0400
-+++ 11.1-2/wx+/bitmap_button.h 2020-09-01 20:10:31.385364671 -0400
-@@ -26,7 +26,7 @@
+--- 11.22-0/wx+/bitmap_button.h 2022-06-26 12:01:15.638291465 -0400
++++ 11.22-1/wx+/bitmap_button.h 2022-06-26 12:51:34.527830821 -0400
+@@ -28,7 +28,7 @@
const wxSize& size = wxDefaultSize,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
@@ -154,6 +154,22 @@ diff -x '*.orig' -x '*.rej' -aur 11.1-1/wx+/bitmap_button.h 11.1-2/wx+/bitmap_bu
wxBitmapButton(parent, id, wxNullBitmap, pos, size, style, validator, name)
{
SetLabel(label);
+@@ -104,7 +104,6 @@
+ wxBitmap renderSelectedButton(const wxSize& sz)
+ {
+ wxBitmap bmp(sz); //seems we don't need to pass 24-bit depth here even for high-contrast color schemes
+- bmp.SetScaleFactor(getDisplayScaleFactor());
+ {
+ wxMemoryDC dc(bmp);
+
+@@ -120,7 +119,6 @@
+ wxBitmap renderPressedButton(const wxSize& sz)
+ {
+ wxBitmap bmp(sz); //seems we don't need to pass 24-bit depth here even for high-contrast color schemes
+- bmp.SetScaleFactor(getDisplayScaleFactor());
+ {
+ //draw rectangle border with gradient
+ const wxColor colFrom = wxSystemSettings::GetColour(wxSYS_COLOUR_BTNFACE);
diff -aur -x '*.git*' -x '.*.swp' -x '*.orig' -x '*.rej' 11.6-0/wx+/dc.h 11.6-1/wx+/dc.h
--- 11.21-0/wx+/dc.h 2022-05-22 17:09:32.250809701 -0400
+++ 11.21-1/wx+/dc.h 2022-05-22 20:28:53.788193992 -0400
@@ -176,7 +192,7 @@ diff -aur -x '*.git*' -x '.*.swp' -x '*.orig' -x '*.rej' 11.6-0/wx+/dc.h 11.6-1/
//GTK2 doesn't properly support high DPI: https://freefilesync.org/forum/viewtopic.php?t=6114
//=> requires general fix at wxWidgets-level
-@@ -119,11 +116,10 @@
+@@ -126,11 +123,10 @@
inline
@@ -185,7 +201,7 @@ diff -aur -x '*.git*' -x '.*.swp' -x '*.orig' -x '*.rej' 11.6-0/wx+/dc.h 11.6-1/
{
//return wxBitmap(img, -1 /*depth*/, static_cast<double>(getDPI()) / defaultDpi); implementation just ignores scale parameter! WTF!
wxBitmap bmpScaled(img);
-- bmpScaled.SetScaleFactor(static_cast<double>(getDPI()) / defaultDpi);
+- bmpScaled.SetScaleFactor(getDisplayScaleFactor());
return bmpScaled;
}
@@ -328,7 +344,12 @@ diff -Naur -x '*.orig' -x '*.rej' -x '*.git*' 11.4-1/wx+/no_flicker.h 11.4-2/wx+
richCtrl.SetMargins({0, 0});
--- 11.20-0/FreeFileSync/Source/ui/progress_indicator.cpp 2022-04-18 09:49:31.917386558 -0400
+++ 11.20-1/FreeFileSync/Source/ui/progress_indicator.cpp 2022-04-18 11:02:10.988781908 -0400
-@@ -882,7 +885,6 @@
+@@ -878,12 +881,10 @@
+ auto generateSquareBitmap = [&](const wxColor& fillCol, const wxColor& borderCol)
+ {
+ wxBitmap bmpSquare(this->GetCharHeight(), this->GetCharHeight()); //seems we don't need to pass 24-bit depth here even for high-contrast color schemes
+- bmpSquare.SetScaleFactor(getDisplayScaleFactor());
+ {
wxMemoryDC dc(bmpSquare);
drawInsetRectangle(dc, wxRect(bmpSquare.GetSize()), fastFromDIP(1), borderCol, fillCol);
}
@@ -336,3 +357,35 @@ diff -Naur -x '*.orig' -x '*.rej' -x '*.git*' 11.4-1/wx+/no_flicker.h 11.4-2/wx+
return bmpSquare;
};
pnl_.m_bitmapGraphKeyBytes->SetBitmap(generateSquareBitmap(getColorBytes(), getColorBytesRim()));
+--- 11.22-0/wx+/rtl.h 2022-06-26 12:01:15.642291514 -0400
++++ 11.22-1/wx+/rtl.h 2022-06-26 12:58:17.248838575 -0400
+@@ -69,9 +69,6 @@
+ if (!buffer || buffer->GetSize() != rect.GetSize()) //[!] since we do a mirror, width needs to match exactly!
+ buffer.emplace(rect.GetSize());
+
+- if (buffer->GetScaleFactor() != dc.GetContentScaleFactor()) //needed here?
+- buffer->SetScaleFactor(dc.GetContentScaleFactor()); //
+-
+ wxMemoryDC memDc(*buffer); //copies scale factor from wxBitmap
+ memDc.Blit(wxPoint(0, 0), rect.GetSize(), &dc, rect.GetTopLeft()); //blit in: background is mirrored due to memDc, dc having different layout direction!
+
+--- 11.22-0/FreeFileSync/Source/ui/main_dlg.cpp 2022-06-26 12:01:15.634291415 -0400
++++ 11.22-1/FreeFileSync/Source/ui/main_dlg.cpp 2022-06-26 14:44:38.556188935 -0400
+@@ -3595,7 +3590,6 @@
+ };
+
+ wxBitmap bmpSquare(this->GetCharHeight(), this->GetCharHeight()); //seems we don't need to pass 24-bit depth here even for high-contrast color schemes
+- bmpSquare.SetScaleFactor(getDisplayScaleFactor());
+ {
+ wxMemoryDC dc(bmpSquare);
+ const wxColor borderCol(0xdd, 0xdd, 0xdd); //light grey
+--- 11.22-0/wx+/image_tools.cpp 2022-06-26 16:29:25.668035003 -0400
++++ 11.22-1/wx+/image_tools.cpp 2022-06-27 09:06:04.999244263 -0400
+@@ -188,7 +188,6 @@
+ return wxNullImage;
+
+ wxBitmap newBitmap(maxWidth, lineHeight * lineInfo.size()); //seems we don't need to pass 24-bit depth here even for high-contrast color schemes
+- newBitmap.SetScaleFactor(getDisplayScaleFactor());
+ {
+ dc.SelectObject(newBitmap); //copies scale factor from wxBitmap
+ ZEN_ON_SCOPE_EXIT(dc.SelectObject(wxNullBitmap));
diff --git a/freefilesync/ffs_el.patch b/freefilesync/ffs_distro_el6_el7.patch
index ad9ae15..ad9ae15 100644
--- a/freefilesync/ffs_el.patch
+++ b/freefilesync/ffs_distro_el6_el7.patch
diff --git a/freefilesync/ffs_fedora.patch b/freefilesync/ffs_distro_fedora.patch
index d54110b..17287ef 100644
--- a/freefilesync/ffs_fedora.patch
+++ b/freefilesync/ffs_distro_fedora.patch
@@ -106,3 +106,28 @@ diff -Naur -x '*.orig' -x '*.rej' -x .git 11.21-0/FreeFileSync/Source/applicatio
&error); //GError** error
if (error)
throw SysError(formatGlibError("gtk_css_provider_load_from_path", error));
+Message: some random sloppiness with a missing graphical asset. It's not important to the application.
+--- 11.22-0/FreeFileSync/Source/ui/small_dlgs.cpp 2022-06-26 16:03:49.887270966 -0400
++++ 11.22-1/FreeFileSync/Source/ui/small_dlgs.cpp 2022-06-26 16:03:52.123298767 -0400
+@@ -140,9 +140,9 @@
+
+ wxImage::AddHandler(new wxJPEGHandler /*ownership passed*/); //activate support for .jpg files
+
+- wxImage animalImg(utfTo<wxString>(appendPath(getResourceDirPath(), Zstr("Animal.dat"))), wxBITMAP_TYPE_JPEG);
+- convertToVanillaImage(animalImg);
+- assert(animalImg.IsOk());
++ //wxImage animalImg(utfTo<wxString>(appendPath(getResourceDirPath(), Zstr("Animal.dat"))), wxBITMAP_TYPE_JPEG);
++ //convertToVanillaImage(animalImg);
++ //assert(animalImg.IsOk());
+
+ //--------------------------------------------------------------------------
+ //have animal + text match *final* dialog width
+@@ -152,7 +152,7 @@
+ const int imageWidth = (m_panelDonate->GetSize().GetWidth() - 5 - 5 /* grey border*/) / 2;
+ const int textWidth = m_panelDonate->GetSize().GetWidth() - 5 - 5 - imageWidth;
+
+- setImage(*m_bitmapAnimalSmall, shrinkImage(animalImg, imageWidth, -1 /*maxHeight*/));
++ //setImage(*m_bitmapAnimalSmall, shrinkImage(animalImg, imageWidth, -1 /*maxHeight*/));
+
+ m_staticTextDonate->Show();
+ m_staticTextDonate->Wrap(textWidth - 10 /*left gap*/); //wrap *after* changing font size
diff --git a/freefilesync/ffs_bit.patch b/freefilesync/ffs_el6_el7_bit.patch
index 3cc6ccc..3cc6ccc 100644
--- a/freefilesync/ffs_bit.patch
+++ b/freefilesync/ffs_el6_el7_bit.patch
diff --git a/freefilesync/ffs_no_eraseif.patch b/freefilesync/ffs_el6_el7_no_eraseif.patch
index 71239e4..71239e4 100644
--- a/freefilesync/ffs_no_eraseif.patch
+++ b/freefilesync/ffs_el6_el7_no_eraseif.patch
diff --git a/freefilesync/ffs_libcurl_7.61.1.patch b/freefilesync/ffs_libcurl_7.61.1.patch
new file mode 100644
index 0000000..a6b8532
--- /dev/null
+++ b/freefilesync/ffs_libcurl_7.61.1.patch
@@ -0,0 +1,79 @@
+Author: Brulhart, bgstack15
+Date: 2022-06-07
+Message: remove assertion for libcurl version >1.61 for EL8
+Version: FreeFileSync 11.21
+Message: We have to omit checking for certain definitions.
+Distro: AlmaLinux 8. File ffs_curl.patch is different between all distros!
+diff -r -u 10.17-0/FreeFileSync/Source/afs/ftp.cpp 10.17-1/FreeFileSync/Source/afs/ftp.cpp
+--- 10.21-0/FreeFileSync/Source/afs/ftp.cpp 2020-03-18 08:56:08.608066350 -0400
++++ 10.21-1/FreeFileSync/Source/afs/ftp.cpp 2020-03-18 09:23:46.882110499 -0400
+@@ -635,7 +635,7 @@
+ curlRelPath += compFmt;
+ }
+
+- static_assert(LIBCURL_VERSION_MAJOR > 7 || (LIBCURL_VERSION_MAJOR == 7 && LIBCURL_VERSION_MINOR >= 67));
++ static_assert(LIBCURL_VERSION_MAJOR > 7 || (LIBCURL_VERSION_MAJOR == 7 && LIBCURL_VERSION_MINOR >= 61 ));
+ /* 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 -aur 11.21-{0,1}/libcurl/curl_wrap.h
+--- FreeFileSync-11.21-0/libcurl/curl_wrap.h 2022-05-22 17:09:26.000000000 -0400
++++ FreeFileSync-11.21-1/libcurl/curl_wrap.h 2022-06-07 13:27:43.530380754 -0400
+@@ -17,10 +17,6 @@
+ #include <curl/curl.h>
+ //-------------------------------------------------
+
+-#ifndef CURLINC_CURL_H
+- #error curl.h header guard changed
+-#endif
+-
+ namespace zen
+ {
+ void libcurlInit();
+diff -aur 11.21-{0,1}/libcurl/curl_wrap.cpp
+--- FreeFileSync-11.21/libcurl/curl_wrap.cpp 2022-05-22 17:09:26.000000000 -0400
++++ FreeFileSync-11.21-2/libcurl/curl_wrap.cpp 2022-06-07 13:34:11.216294490 -0400
+@@ -331,9 +331,8 @@
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_OBSOLETE46);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_TOO_MANY_REDIRECTS);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_UNKNOWN_OPTION);
+- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SETOPT_OPTION_SYNTAX);
++ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_TELNET_OPTION_SYNTAX);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_OBSOLETE50);
+- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_OBSOLETE51);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_GOT_NOTHING);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SSL_ENGINE_NOTFOUND);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SSL_ENGINE_SETFAILED);
+@@ -344,7 +343,7 @@
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SSL_CIPHER);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_PEER_FAILED_VERIFICATION);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_BAD_CONTENT_ENCODING);
+- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_OBSOLETE62);
++ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_LDAP_INVALID_URL); // < libcurl 7.82.0
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_FILESIZE_EXCEEDED);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_USE_SSL_FAILED);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SEND_FAIL_REWIND);
+@@ -358,7 +357,7 @@
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_REMOTE_FILE_EXISTS);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_TFTP_NOSUCHUSER);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_CONV_FAILED);
+- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_OBSOLETE76);
++ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_CONV_REQD); // < libcurl 7.82.0
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SSL_CACERT_BADFILE);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_REMOTE_FILE_NOT_FOUND);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SSH);
+@@ -376,14 +375,8 @@
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SSL_INVALIDCERTSTATUS);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_HTTP2_STREAM);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_RECURSIVE_API_CALL);
+- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_AUTH_ERROR);
+- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_HTTP3);
+- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_QUIC_CONNECT_ERROR);
+- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_PROXY);
+- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SSL_CLIENTCERT);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURL_LAST);
+ }
+- static_assert(CURL_LAST == CURLE_SSL_CLIENTCERT + 1);
+
+ return replaceCpy<std::wstring>(L"Curl status %x", L"%x", numberTo<std::wstring>(static_cast<int>(sc)));
+ }
diff --git a/freefilesync/ffs_curl.patch b/freefilesync/ffs_libcurl_7.71.1.patch
index bd0354a..bd0354a 100644
--- a/freefilesync/ffs_curl.patch
+++ b/freefilesync/ffs_libcurl_7.71.1.patch
diff --git a/freefilesync/ffs_libcurl_7.79.1.patch b/freefilesync/ffs_libcurl_7.79.1.patch
new file mode 100644
index 0000000..d76eac8
--- /dev/null
+++ b/freefilesync/ffs_libcurl_7.79.1.patch
@@ -0,0 +1,39 @@
+Author: Brulhart, bgstack15
+Date: 2022-06-27
+Message: remove assertion for libcurl version >1.79
+Version: FreeFileSync 11.22
+Message: We have to omit checking for certain definitions.
+Distro: Fedora 35. File ffs_curl.patch is different between fc34 and devuan!
+diff -r -u 10.17-0/FreeFileSync/Source/afs/ftp.cpp 10.17-1/FreeFileSync/Source/afs/ftp.cpp
+--- 10.21-0/FreeFileSync/Source/afs/ftp.cpp 2020-03-18 08:56:08.608066350 -0400
++++ 10.21-1/FreeFileSync/Source/afs/ftp.cpp 2020-03-18 09:23:46.882110499 -0400
+@@ -635,7 +635,7 @@
+ curlRelPath += compFmt;
+ }
+
+- static_assert(LIBCURL_VERSION_MAJOR > 7 || (LIBCURL_VERSION_MAJOR == 7 && LIBCURL_VERSION_MINOR >= 67));
++ static_assert(LIBCURL_VERSION_MAJOR > 7 || (LIBCURL_VERSION_MAJOR == 7 && LIBCURL_VERSION_MINOR >= 79 ));
+ /* 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 -aur 11.18-{0,1}/libcurl/curl_wrap.cpp
+--- 11.18-0/libcurl/curl_wrap.cpp 2022-03-09 10:19:42.961942416 -0500
++++ 11.18-1/libcurl/curl_wrap.cpp 2022-03-09 10:37:44.702421086 -0500
+@@ -343,7 +343,7 @@
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SSL_CIPHER);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_PEER_FAILED_VERIFICATION);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_BAD_CONTENT_ENCODING);
+- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_OBSOLETE62);
++ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_LDAP_INVALID_URL); // < libcurl 7.82.0
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_FILESIZE_EXCEEDED);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_USE_SSL_FAILED);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SEND_FAIL_REWIND);
+@@ -357,7 +357,7 @@
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_REMOTE_FILE_EXISTS);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_TFTP_NOSUCHUSER);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_CONV_FAILED);
+- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_OBSOLETE76);
++ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_CONV_REQD); // < libcurl 7.82.0
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SSL_CACERT_BADFILE);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_REMOTE_FILE_NOT_FOUND);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SSH);
diff --git a/freefilesync/ffs_no_gcc12.patch b/freefilesync/ffs_no_gcc12.patch
index 88b0d27..b25edac 100644
--- a/freefilesync/ffs_no_gcc12.patch
+++ b/freefilesync/ffs_no_gcc12.patch
@@ -1,7 +1,9 @@
Message: Because we do not use gcc 12, we have an error with unordered_map and std::pair.
Author: zensubz
-Date-Modified: 2022-05-24
-Version: 11.21
+Date-Modified: 2022-06-27
+Version: 11.22
+Source: https://freefilesync.org/forum/viewtopic.php?t=9376&p=34044#p34044
+Distro: any distro with g++ < 12
--- a/FreeFileSync/Source/base/db_file.cpp
+++ b/FreeFileSync/Source/base/db_file.cpp
@@ -642,7 +642,7 @@
@@ -59,14 +61,3 @@ Version: 11.21
//------------------------------------------------------------------
FolderContainer() = default;
---- a/zen/json.h
-+++ b/zen/json.h
-@@ -41,7 +41,7 @@
-
- Type type = Type::null;
- std::string primVal; //for primitive types
-- std::unordered_map<std::string, JsonValue> objectVal; //"[...] most implementations of JSON libraries do not accept duplicate keys [...]" => fine!
-+ std::map<std::string, JsonValue> objectVal; //"[...] most implementations of JSON libraries do not accept duplicate keys [...]" => fine!
- std::vector<JsonValue> arrayVal;
- };
-
diff --git a/freefilesync/ffs_openssl.patch b/freefilesync/ffs_openssl.patch
index 7097d33..b77d8ac 100644
--- a/freefilesync/ffs_openssl.patch
+++ b/freefilesync/ffs_openssl.patch
@@ -1,8 +1,8 @@
Summary: Compile for libss-dev 1.1.1m
Author: bgstack15
-Date: 2022-01-04
+Date: 2022-06-07
Version: 11.16
-Message: Compile on Devuan Ceres with libssl-dev_1.1.1m-1
+Message: Compile on any distro with openssl < 3.0.0
diff -aur 11.13/zen/open_ssl.cpp 11.14/zen/open_ssl.cpp
--- 11.16-0/zen/open_ssl.cpp 2022-01-04 10:04:34.135914294 -0500
+++ 11.16-1/zen/open_ssl.cpp 2022-01-04 10:29:12.544451067 -0500
diff --git a/freefilesync/freefilesync.spec b/freefilesync/freefilesync.spec
index 76d9c4b..1beec2a 100644
--- a/freefilesync/freefilesync.spec
+++ b/freefilesync/freefilesync.spec
@@ -6,17 +6,29 @@
%define min_libssh2 %{nil}
%define min_openssl %{nil}
%define scl_env %{nil}
-%define scl_buildreq coreutils
+%define scl_buildreq %{nil}
%if 0%{?el6}%{?el7}
%define scl_env devtoolset-7
%define scl_buildreq devtoolset-7-toolchain
- %define min_libcurl >= 7.64.0
+ %define min_libcurl >= 7.61.0
%define min_libssh2 >= 1.8.0
%define min_openssl >= 1.1.1c
%endif
+%if 0%{?el8}
+ %define scl_env gcc-toolset-11
+ %define scl_buildreq gcc-toolset-11-gcc-c++, gcc-toolset-11-annobin-plugin-gcc
+ %define min_libcurl >= 7.61.0
+ %define min_libssh2 >= 1.9.0
+ %define min_openssl >= 1.1.1k
+%endif
%define libssh2_name libssh2
-%if 0%{?rhel} >= 8
-%define libssh2_name libssh2-%{name}
+%define openssl_name openssl
+# EL8 copr has some dnf module weirdness with libssh2, not a version problem.
+%if 0%{?el6}%{?el7}%{?el8}
+%define libssh2_name libssh2-freefilesync
+%endif
+%if 0%{?el6}%{?el7}
+%define openssl_name openssl-freefilesync
%endif
%if 0%{?fedora} >= 36
# https://www.spinics.net/lists/fedora-devel/msg296646.html
@@ -24,7 +36,7 @@
%undefine _package_note_file
%endif
Name: freefilesync
-Version: 11.21
+Version: 11.22
Release: 1%{?dist}
Summary: A file synchronization utility
@@ -37,22 +49,29 @@ Source0: https://gitlab.com/opensource-tracking/%{pkgname}/-/archive/%{versio
Source1: %{pkgname}.desktop
Source2: %{prog2name}.desktop
Source3: %{name}.xml
-Patch0: ffs_allow_parallel_ops.patch
-Patch1: ffs_no_check_updates.patch
-Patch2: ffs_no_wx311.patch
-Patch3: ffs_sftp.patch
-Patch4: ffs_fedora.patch
-Patch5: ffs_el.patch
-Patch6: ffs_libssh2.patch
-Patch7: ffs_curl.patch
-Patch8: ffs_bit.patch
-Patch9: ffs_no_eraseif.patch
-Patch10: revert_zenju_aggressive_upstreamisms.patch
-Patch11: ffs_traditional_view.patch
-Patch12: ffs_desktop_notifications.patch
-Patch13: ffs_openssl.patch
-Patch14: ffs_icon_loader.patch
-Patch15: ffs_no_gcc12.patch
+# all rpm distros use these
+Patch0: 00_allow_parallel_ops.patch
+Patch1: 01_no_check_updates.patch
+Patch2: 02_no_wx311.patch
+Patch3: 03_sftp.patch
+Patch4: 04_revert_zenju_aggressive_upstreamisms.patch
+Patch5: 05_traditional_view.patch
+Patch6: 06_icon_loader.patch
+Patch7: 07_libssh2.patch
+# distro specific patches
+## Fedora and EL8
+Patch20: ffs_distro_fedora.patch
+## EL6 and EL7
+Patch30: ffs_distro_el6_el7.patch
+Patch31: ffs_el6_el7_bit.patch
+Patch32: ffs_el6_el7_no_eraseif.patch
+# dependency specific
+Patch40: ffs_openssl.patch
+Patch41: ffs_no_gcc12.patch
+Patch60: ffs_desktop_notifications.patch
+Patch70: ffs_libcurl_7.61.1.patch
+Patch71: ffs_libcurl_7.71.1.patch
+Patch72: ffs_libcurl_7.79.1.patch
Packager: B. Stack <bgstack15@gmail.com>
BuildRequires: brotli-devel
@@ -60,22 +79,34 @@ BuildRequires: wxGTK3-devel
BuildRequires: desktop-file-utils
BuildRequires: gcc-c++
BuildRequires: ImageMagick
+%if "%{?min_libcurl}" != ""
BuildRequires: libcurl-devel %{min_libcurl}
+%else
+BuildRequires: libcurl-devel
+%endif
+%if "%{?min_libssh2}" != ""
BuildRequires: %{libssh2_name}-devel %{min_libssh2}
+%else
+BuildRequires: %{libssh2_name}-devel
+%endif
BuildRequires: patch
BuildRequires: pkgconfig(giomm-2.4)
BuildRequires: pkgconfig(gtk+-2.0)
BuildRequires: pkgconfig(libselinux)
BuildRequires: pkgconfig(zlib)
-%if 0%{?el6}%{?el7}
+# We need the binary so we can check version number
+BuildRequires: %{openssl_name}
+%if "%{?scl_buildreq}" != ""
BuildRequires: %{scl_buildreq}
-BuildRequires: openssl-%{name}-devel %{min_openssl}
-Requires: libcurl %{min_libcurl}
-Requires: %{libssh2_name} %{min_libssh2}
-Requires: openssl-%{name}-libs %{min_openssl}
+%endif
+%if "%{?min_openssl}" != ""
+BuildRequires: %{openssl_name}-devel %{min_openssl}
%else
-BuildRequires: openssl-devel
+BuildRequires: %{openssl_name}-devel
%endif
+#Requires: libcurl %%{?min_libcurl}
+#Requires: %%{libssh2_name} %%{?min_libssh2}
+#Requires: openssl-%%{name}-libs %%{?min_openssl}
Requires: hicolor-icon-theme
Requires: xdg-utils
Provides: mimehandler(application/x-freefilesync-ffs)
@@ -90,37 +121,63 @@ having nice visual feedback along the way.
%prep
%setup -n %{pkgname}-%{version}
-
# fix text file line endings and permissions to unix
find . ! -type d \( -name '*.c' -o -name '*.cpp' -o -name '*.h' \) \
-exec %{__sed} -i -r -e 's/\r$//' {} +
-
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
%if 0%{?el6}%{?el7}
# use the el patch
-%patch5 -p1
+%patch30 -p1
+%patch31 -p1
+%patch32 -p1
%else
# use the fedora patch, even for el8
-%patch4 -p1
+%patch20 -p1
%endif
-%patch6 -p1
-%patch7 -p1
-%if 0%{?el6}%{?el7}%{?el8}%{?fc29}
-%patch8 -p1
-%patch9 -p1
+# Determine if openssl < 3.0.0
+opensslver="$( openssl version | awk '{if($2>=3){print "3"}else{print"1"}}' )"
+if test ${opensslver} -lt 3 ;
+then
+%patch40 -p1
+fi
+# Determine if g++ < 12
+g__version="$(
+%if "%{?scl_env}" != ""
+ scl enable %{scl_env} /bin/bash <<'EOFSCL'
%endif
-%patch10 -p1
-%patch11 -p1
-%patch12 -p1
-%if 0%{?fedora} < 36
-# Patch13 openssl is only for openssl < 3.0.0
-%patch13 -p1
+ g++ --version
+%if "%{?scl_env}" != ""
+EOFSCL
%endif
-%patch14 -p1
-%patch15 -p1
+)"
+g__version="$( echo "${g__version}" | awk 'NR==1{if($3>=12){print "12"}else{print"11"}}' )"
+echo "G__version=${g_version}"
+if test ${g__version} -lt 12 ;
+then
+%patch41 -p1
+fi
+# desktop notifications merely has to happen after distro patch
+%patch60 -p1
+# Determine version of libcurl
+%define libcurl_ver %( rpm -q libcurl-devel --queryformat '%%{version}' )
+case "%{libcurl_ver}" in
+ 7.61.1)
+%patch70 -p1
+ ;;
+ 7.79.1)
+%patch72 -p1
+ ;;
+ *)
+%patch71 -p1
+ ;;
+esac
# custom build parameters for packaging application in rpm
# fedora provides build_cxxflags, which is really just optflags
@@ -144,7 +201,7 @@ EOFSCL
%install
%if !%{dummy_package}
-# removed by upstream!
+# removed by upstream around version 11
#%%make_install -C %%{pkgname}/Source
#%%make_install -C %%{pkgname}/Source/%%{prog2name}
pushd %{pkgname}/Build
@@ -162,12 +219,6 @@ mkdir -p %{buildroot}%{_datadir}/applications
desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE1}
desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE2}
-# application start script
-# none
-
-# man pages
-# none
-
# mimetypes
install -d %{buildroot}%{_datadir}/mime/packages
install -Dm 0644 -t %{buildroot}%{_datadir}/mime/packages %{SOURCE3}
@@ -195,12 +246,6 @@ done
%post
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
-%preun
-# is it a final removal?
-#if test "$1" = "0" ;
-#then
-#fi
-
%postun
if test "$1" = "0" ;
then
@@ -224,6 +269,13 @@ update-mime-database -n ${_datadir}/mime 1>/dev/null 2>&1 & :
%ghost %config %attr(666, -, -) %{_datadir}/%{name}/GlobalSettings.xml
%changelog
+* Mon Jun 27 2022 B. Stack <bgstack15@gmail.com> - 11.22-1
+- version bump
+
+* Tue Jun 07 2022 B. Stack <bgstack15@gmail.com> - 11.21-2
+- rewrite spec for easier cross-distro support
+- fix builds for el8
+
* Wed May 25 2022 B. Stack <bgstack15@gmail.com> - 11.21-1
- version bump
- add ffs_no_gcc12 patch
bgstack15