From e7ed09f0f0db1704d709e8929e96129f8fe110b7 Mon Sep 17 00:00:00 2001 From: "B. Stack" Date: Sat, 28 Oct 2023 08:57:41 -0400 Subject: ffs 13.1 dpkg rc1 --- freefilesync/debian/_service | 4 +- freefilesync/debian/changelog | 11 +++ freefilesync/debian/control | 4 +- freefilesync/debian/freefilesync+stackrpms.dsc | 2 +- .../debian/patches/disable_wxuse_Exceptions.patch | 16 ++++ .../debian/patches/ffs_allow_parallel_ops.patch | 12 +-- .../debian/patches/ffs_no_check_updates.patch | 90 +++++++++++----------- freefilesync/debian/patches/series | 1 + 8 files changed, 86 insertions(+), 54 deletions(-) create mode 100644 freefilesync/debian/patches/disable_wxuse_Exceptions.patch diff --git a/freefilesync/debian/_service b/freefilesync/debian/_service index 7d35e82..37855e1 100644 --- a/freefilesync/debian/_service +++ b/freefilesync/debian/_service @@ -4,7 +4,7 @@ https://bgstack15.ddns.net/cgit/stackrpms freefilesync/debian debian - freefilesync-bump + master _none_ @@ -14,7 +14,7 @@ git https://gitlab.com/opensource-tracking/FreeFileSync.git - 13.0 + 13.1 _none_ diff --git a/freefilesync/debian/changelog b/freefilesync/debian/changelog index da87756..2f06c37 100644 --- a/freefilesync/debian/changelog +++ b/freefilesync/debian/changelog @@ -1,3 +1,14 @@ +freefilesync (13.1-100+stackrpms) obs; urgency=low + + * Keep comparison results when only changing cloud connection settings + * Sync button: indicate if database will be used + * Remove leading/trailing space during manual file rename + * Set environment variable "DISPLAY=:0" if missing (Linux) + * Support dropping ffs_gui/ffs_real config on RealTimeSync directory + input field + + -- B. Stack Sat, 28 Oct 2023 08:10:46 -0400 + freefilesync (13.0-100+stackrpms) obs; urgency=low * Rename (multiple) files manually (F2 key) diff --git a/freefilesync/debian/control b/freefilesync/debian/control index ee7ec1f..f0ffcce 100644 --- a/freefilesync/debian/control +++ b/freefilesync/debian/control @@ -6,11 +6,11 @@ Build-Depends: debhelper (>=12~), imagemagick, g++-12, libbrotli-dev, - libcurl4-openssl-dev (>=7.83.1-1+b1), + libcurl4-openssl-dev (>=8.4.0-2) libglibmm-2.4-dev | glibmm24-devel, libssh2-1-dev (>=1.10.0-3+b1), libssl-dev (>=3.0.3-5), - wx3.2-headers, + wx3.2-headers (>=3.2.3+dfsg-2), unzip, libgtk-3-dev, libwxgtk3.2-dev, diff --git a/freefilesync/debian/freefilesync+stackrpms.dsc b/freefilesync/debian/freefilesync+stackrpms.dsc index 07ef4cd..6762b34 100644 --- a/freefilesync/debian/freefilesync+stackrpms.dsc +++ b/freefilesync/debian/freefilesync+stackrpms.dsc @@ -2,7 +2,7 @@ Format: 3.0 (quilt) Source: freefilesync Binary: freefilesync Architecture: any -Version: 13.0-100+stackrpms +Version: 13.1-100+stackrpms Maintainer: B. Stack Homepage: https://freefilesync.org/ Standards-Version: 4.1.4 diff --git a/freefilesync/debian/patches/disable_wxuse_Exceptions.patch b/freefilesync/debian/patches/disable_wxuse_Exceptions.patch new file mode 100644 index 0000000..89ea834 --- /dev/null +++ b/freefilesync/debian/patches/disable_wxuse_Exceptions.patch @@ -0,0 +1,16 @@ +Author: bgstack15 +Source: Original research +Version: 13.1 +Date: 2023-10-28 +Message: Disable wxUSE_EXCEPTIONS flag to fix FTBFS +--- 13.1-0/FreeFileSync/Source/application.h 2023-10-28 08:12:34.776976562 -0400 ++++ 13.1-1/FreeFileSync/Source/application.h 2023-10-28 08:54:26.710403937 -0400 +@@ -13,6 +13,8 @@ + #include "config.h" + #include "return_codes.h" + ++// Zenju probably turns this flag off for Windows builds, but the Debian package for wx3.2-headers turns it on. We need to disable it here because a make invocation fails right away unless we turn this flag off. ++#define wxUSE_EXCEPTIONS 0 + + namespace fff //avoid name clash with "int ffs()" for fuck's sake! (maxOS, Linux issue only: internally includes , WTF!) + { diff --git a/freefilesync/debian/patches/ffs_allow_parallel_ops.patch b/freefilesync/debian/patches/ffs_allow_parallel_ops.patch index 3697d01..3a37ae3 100644 --- a/freefilesync/debian/patches/ffs_allow_parallel_ops.patch +++ b/freefilesync/debian/patches/ffs_allow_parallel_ops.patch @@ -4,18 +4,18 @@ Author: bgstack15 Message: The source release appears not to actually include the logic that performs operations in parallel, so this patch doesn't actually do anything. --- a/FreeFileSync/Source/ui/folder_selector.cpp +++ b/FreeFileSync/Source/ui/folder_selector.cpp -@@ -272,7 +272,7 @@ void FolderSelector::onSelectFolder(wxCo +@@ -263,7 +263,7 @@ void FolderSelector::onSelectFolder(wxCo void FolderSelector::onSelectAltFolder(wxCommandEvent& event) { Zstring folderPathPhrase = getPath(); - size_t parallelOps = getDeviceParallelOps_ ? getDeviceParallelOps_(folderPathPhrase) : 1; + size_t parallelOps = getDeviceParallelOps_ ? getDeviceParallelOps_(folderPathPhrase) : 5; - if (showCloudSetupDialog(parent_, folderPathPhrase, sftpKeyFileLastSelected_, parallelOps, static_cast(setDeviceParallelOps_)) != ConfirmationButton::accept) - return; + const AbstractPath oldPath = createAbstractPath(folderPathPhrase); + --- a/FreeFileSync/Source/ui/small_dlgs.cpp +++ b/FreeFileSync/Source/ui/small_dlgs.cpp -@@ -386,11 +386,14 @@ CloudSetupDlg::CloudSetupDlg(wxWindow* p +@@ -385,11 +385,14 @@ CloudSetupDlg::CloudSetupDlg(wxWindow* p m_spinCtrlConnectionCount->SetValue(parallelOps); @@ -34,7 +34,7 @@ Message: The source release appears not to actually include the logic that perfo //--------------------------------------------------------- //set up default view for dialog size calculation -@@ -943,7 +946,7 @@ CopyToDialog::CopyToDialog(wxWindow* par +@@ -940,7 +943,7 @@ CopyToDialog::CopyToDialog(wxWindow* par targetFolder = std::make_unique(this, *this, *m_buttonSelectTargetFolder, *m_bpButtonSelectAltTargetFolder, *m_targetFolderPath, targetFolderLastSelected, sftpKeyFileLastSelected, nullptr /*staticText*/, nullptr /*wxWindow*/, nullptr /*droppedPathsFilter*/, @@ -45,7 +45,7 @@ Message: The source release appears not to actually include the logic that perfo --- a/FreeFileSync/Source/ui/sync_cfg.cpp +++ b/FreeFileSync/Source/ui/sync_cfg.cpp -@@ -466,7 +466,7 @@ commandHistoryOut_(commandHistory), +@@ -476,7 +476,7 @@ commandHistoryOut_(commandHistory), globalPairCfg_(globalPairCfg), localPairCfg_(localPairCfg), showNotesPanel_(!globalPairCfg.miscCfg.notes.empty()), diff --git a/freefilesync/debian/patches/ffs_no_check_updates.patch b/freefilesync/debian/patches/ffs_no_check_updates.patch index 560e8a6..0a3558f 100644 --- a/freefilesync/debian/patches/ffs_no_check_updates.patch +++ b/freefilesync/debian/patches/ffs_no_check_updates.patch @@ -16,42 +16,42 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1 +++ b/FreeFileSync/Source/ui/gui_generated.cpp @@ -110,11 +110,6 @@ MainDialogGenerated::MainDialogGenerated - 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_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 ); @@ -1125,7 +1120,6 @@ MainDialogGenerated::MainDialogGenerated - 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::onMenuAbout ), this, m_menuItemAbout->GetId()); - m_buttonCompare->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::onCompare ), NULL, this ); - m_bpButtonCmpConfig->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::onCmpSettings ), 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::onMenuAbout ), this, m_menuItemAbout->GetId()); + m_buttonCompare->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::onCompare ), NULL, this ); + m_bpButtonCmpConfig->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::onCmpSettings ), NULL, this ); --- a/FreeFileSync/Source/ui/gui_generated.h +++ b/FreeFileSync/Source/ui/gui_generated.h -@@ -96,7 +96,6 @@ class MainDialogGenerated : public wxFra - wxMenuItem* m_menuItemShowOverview; - wxMenu* m_menuHelp; - wxMenuItem* m_menuItemHelp; -- wxMenuItem* m_menuItemCheckVersionNow; - wxMenuItem* m_menuItemAbout; - wxBoxSizer* bSizerPanelHolder; - wxPanel* m_panelTopButtons; -@@ -233,7 +232,6 @@ class MainDialogGenerated : public wxFra - 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 onMenuAbout( wxCommandEvent& event ) { event.Skip(); } - virtual void onCompSettingsContextMouse( wxMouseEvent& event ) { event.Skip(); } - virtual void onCompSettingsContext( wxCommandEvent& event ) { event.Skip(); } +@@ -96,7 +96,6 @@ protected: + wxMenuItem* m_menuItemShowOverview; + wxMenu* m_menuHelp; + wxMenuItem* m_menuItemHelp; +- wxMenuItem* m_menuItemCheckVersionNow; + wxMenuItem* m_menuItemAbout; + wxBoxSizer* bSizerPanelHolder; + wxPanel* m_panelTopButtons; +@@ -233,7 +232,6 @@ protected: + 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 onMenuAbout( wxCommandEvent& event ) { event.Skip(); } + virtual void onCompSettingsContextMouse( wxMouseEvent& event ) { event.Skip(); } + virtual void onCompSettingsContext( wxCommandEvent& event ) { event.Skip(); } --- a/FreeFileSync/Source/ui/main_dlg.cpp +++ b/FreeFileSync/Source/ui/main_dlg.cpp @@ -32,7 +32,6 @@ @@ -62,7 +62,7 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1 #include "gui_status_handler.h" #include "small_dlgs.h" #include "rename_dlg.h" -@@ -467,7 +466,7 @@ void MainDialog::create(const Zstring& g +@@ -477,7 +476,7 @@ void MainDialog::create(const Zstring& g //showAboutDialog(mainDlg); => dialog centered incorrectly (Centos) //mainDlg->CallAfter([mainDlg] { showAboutDialog(mainDlg); }); => dialog centered incorrectly (Windows, Centos) @@ -71,7 +71,7 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1 } -@@ -861,7 +860,6 @@ imgFileManagerSmall_([] +@@ -871,7 +870,6 @@ imgFileManagerSmall_([] setImage(*m_menuItemHelp, loadImage("help", getDefaultMenuIconSize())); setImage(*m_menuItemAbout, loadImage("about", getDefaultMenuIconSize())); @@ -79,7 +79,7 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1 fixMenuIcons(*m_menuFile); fixMenuIcons(*m_menuActions); -@@ -961,9 +959,6 @@ imgFileManagerSmall_([] +@@ -971,9 +969,6 @@ imgFileManagerSmall_([] //mainly to update row label sizes... updateGui(); @@ -89,7 +89,7 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1 //asynchronous call to wxWindow::Dimensions(): fix superfluous frame on right and bottom when FFS is started in fullscreen mode Bind(wxEVT_IDLE, &MainDialog::onLayoutWindowAsync, this); wxCommandEvent evtDummy; //call once before onLayoutWindowAsync() -@@ -6238,52 +6233,6 @@ void MainDialog::onMenuExportFileList(wx +@@ -6259,56 +6254,6 @@ void MainDialog::onMenuExportFileList(wx } @@ -124,14 +124,18 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1 - { - flashStatusInfo(_("Searching for program updates...")); - -- SharedRef resultPrep = automaticUpdateCheckPrepare(*this); //run on main thread: -- -- guiQueue_.processAsync([resultPrep] { return automaticUpdateCheckRunAsync(resultPrep.ref()); }, //run on worker thread: (long-running part of the check) -- [this, showNewVersionReminder] (SharedRef&& resultAsync) +- guiQueue_.processAsync([resultPrep = automaticUpdateCheckPrepare(*this) /*prepare on main thread*/] +- { return automaticUpdateCheckRunAsync(resultPrep.ref()); }, //run on worker thread: (long-running part of the check) +- [this, showNewVersionReminder] (SharedRef&& resultAsync) - { +- const time_t lastUpdateCheckOld = globalCfg_.lastUpdateCheck; +- - automaticUpdateCheckEval(*this, globalCfg_.lastUpdateCheck, globalCfg_.lastOnlineVersion, - resultAsync.ref()); //run on main thread: - showNewVersionReminder(); +- +- if (globalCfg_.lastUpdateCheck == lastUpdateCheckOld) +- flashStatusInfo(_("Update check failed!")); - }); - } - else @@ -144,7 +148,7 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1 //execute just once per startup! --- a/FreeFileSync/Source/ui/main_dlg.h +++ b/FreeFileSync/Source/ui/main_dlg.h -@@ -273,7 +273,6 @@ private: +@@ -272,7 +272,6 @@ private: void onMenuExportFileList (wxCommandEvent& event) override; void onMenuResetLayout (wxCommandEvent& event) override { resetLayout(); } void onMenuFindItem (wxCommandEvent& event) override { showFindPanel(true /*show*/); } //CTRL + F @@ -164,21 +168,21 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1 #include "../afs/gdrive.h" --- a/FreeFileSync/Source/ui/version_check.cpp +++ b/FreeFileSync/Source/ui/version_check.cpp -@@ -55,13 +55,6 @@ void openBrowserForDownload(wxWindow* pa +@@ -44,13 +44,6 @@ void openBrowserForDownload(wxWindow* pa } -bool fff::automaticUpdateCheckDue(time_t lastUpdateCheck) -{ - const time_t now = std::time(nullptr); -- return std::abs(now - lastUpdateCheck) >= 7 * 24 * 3600; //check weekly +- return numeric::dist(now, lastUpdateCheck) >= 7 * 24 * 3600; //check weekly -} - - namespace { std::wstring getIso639Language() -@@ -150,8 +143,7 @@ void showUpdateAvailableDialog(wxWindow* +@@ -139,8 +132,7 @@ void showUpdateAvailableDialog(wxWindow* std::wstring updateDetailsMsg; try { @@ -188,7 +192,7 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1 } catch (const SysError& e) { updateDetailsMsg = _("Failed to retrieve update information.") + + L"\n\n" + e.toString(); } -@@ -173,8 +165,8 @@ void showUpdateAvailableDialog(wxWindow* +@@ -162,8 +154,8 @@ void showUpdateAvailableDialog(wxWindow* std::string getOnlineVersion(const std::vector>& postParams) //throw SysError { @@ -199,7 +203,7 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1 if (response.empty() || !std::all_of(response.begin(), response.end(), [](char c) { return isDigit(c) || c == FFS_VERSION_SEPARATOR; }) || -@@ -215,58 +207,6 @@ bool fff::haveNewerVersionOnline(const s +@@ -204,58 +196,6 @@ bool fff::haveNewerVersionOnline(const s } diff --git a/freefilesync/debian/patches/series b/freefilesync/debian/patches/series index 0a011f6..40f1e25 100644 --- a/freefilesync/debian/patches/series +++ b/freefilesync/debian/patches/series @@ -14,3 +14,4 @@ ffs_desktop_notifications.patch ffs_icon_loader.patch ffs_tooltips_no_taskbar.patch revert_buggy_gtk3_change_in_12.1.patch +disable_wxuse_Exceptions.patch -- cgit