From 7248244c9fc73c2f08996d43f19c7eb93ca00b42 Mon Sep 17 00:00:00 2001 From: "B. Stack" Date: Tue, 20 Jun 2023 08:33:24 -0400 Subject: ffs 12.4 rc1 --- freefilesync/debian/_service | 2 +- freefilesync/debian/changelog | 15 ++++ freefilesync/debian/freefilesync+stackrpms.dsc | 2 +- freefilesync/debian/patches/ffs_libssh2.patch | 14 ++-- .../debian/patches/ffs_no_check_updates.patch | 92 +++++++++++----------- .../patches/revert_buggy_gtk3_change_in_12.1.patch | 24 +----- 6 files changed, 72 insertions(+), 77 deletions(-) (limited to 'freefilesync/debian') diff --git a/freefilesync/debian/_service b/freefilesync/debian/_service index 815a0dd..5f3089a 100644 --- a/freefilesync/debian/_service +++ b/freefilesync/debian/_service @@ -14,7 +14,7 @@ git https://gitlab.com/opensource-tracking/FreeFileSync.git - 12.3 + 12.4 _none_ diff --git a/freefilesync/debian/changelog b/freefilesync/debian/changelog index c64598b..2b55d07 100644 --- a/freefilesync/debian/changelog +++ b/freefilesync/debian/changelog @@ -1,3 +1,18 @@ +freefilesync (12.4-100+stackrpms) obs; urgency=low + + * Upstream updates + * Show dynamic error and warning count in progress dialogs + * Show process elevation status in title bar (Administrator, root) + * Fixed libcurl bug CURLE_URL_MALFORMAT for numerical host name + * Don't discard config panel last log after no changes found + * Set taskbar relaunch command to launcher executable (Windows) + * Fixed Btrfs compression not being applied during copy (Linux) + * Run on file systems with buggy GetFinalPathNameByHandle() + implementation, e.g. Dokany-based + * Save selected view mode (F11) in batch config file + + -- B. Stack Tue, 20 June 2023 07:49:00 -0400 + freefilesync (12.3-100+stackrpms) obs; urgency=low * Add custom notes to sync configurations diff --git a/freefilesync/debian/freefilesync+stackrpms.dsc b/freefilesync/debian/freefilesync+stackrpms.dsc index 137fed9..1a75d77 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: 12.3-100+stackrpms +Version: 12.4-100+stackrpms Maintainer: B. Stack Homepage: https://freefilesync.org/ Standards-Version: 4.1.4 diff --git a/freefilesync/debian/patches/ffs_libssh2.patch b/freefilesync/debian/patches/ffs_libssh2.patch index 315ef6f..08eb013 100644 --- a/freefilesync/debian/patches/ffs_libssh2.patch +++ b/freefilesync/debian/patches/ffs_libssh2.patch @@ -11,14 +11,12 @@ Message: libssh2 v1.8.0 does not yet implement these two error messages. I do no Date: 2019-09-17T13:41:23Z --- a/libssh2/libssh2_wrap.h +++ b/libssh2/libssh2_wrap.h -@@ -171,8 +171,8 @@ std::wstring formatSshStatusCode(int sc) - ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_ENCRYPT); - ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_BAD_SOCKET); - ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_KNOWN_HOSTS); -- ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_CHANNEL_WINDOW_FULL); -- ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_KEYFILE_AUTH_FAILED); -+ //ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_CHANNEL_WINDOW_FULL); -+ //ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_KEYFILE_AUTH_FAILED); +@@ -174,8 +174,6 @@ std::wstring formatSshStatusCode(int sc) + ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_CHANNEL_WINDOW_FULL); + ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_KEYFILE_AUTH_FAILED); + ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_RANDGEN); +- ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_MISSING_USERAUTH_BANNER); +- ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_ALGO_UNSUPPORTED); default: return replaceCpy(L"SSH status %x", L"%x", numberTo(sc)); diff --git a/freefilesync/debian/patches/ffs_no_check_updates.patch b/freefilesync/debian/patches/ffs_no_check_updates.patch index 93ac0f0..97802be 100644 --- a/freefilesync/debian/patches/ffs_no_check_updates.patch +++ b/freefilesync/debian/patches/ffs_no_check_updates.patch @@ -6,52 +6,52 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1 +++ b/FreeFileSync/Source/ui/gui_generated.cpp @@ -110,15 +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_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 ); @@ -1129,8 +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::onMenuCheckVersionAutomatically ), this, m_menuItemCheckVersionAuto->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::onMenuCheckVersionAutomatically ), this, m_menuItemCheckVersionAuto->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,8 +96,6 @@ class MainDialogGenerated : public wxFra - wxMenuItem* m_menuItemShowOverview; - wxMenu* m_menuHelp; - wxMenuItem* m_menuItemHelp; -- wxMenuItem* m_menuItemCheckVersionNow; -- wxMenuItem* m_menuItemCheckVersionAuto; - wxMenuItem* m_menuItemAbout; - wxBoxSizer* bSizerPanelHolder; - wxPanel* m_panelTopButtons; -@@ -234,8 +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 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(); } +@@ -96,8 +96,6 @@ protected: + wxMenuItem* m_menuItemShowOverview; + wxMenu* m_menuHelp; + wxMenuItem* m_menuItemHelp; +- wxMenuItem* m_menuItemCheckVersionNow; +- wxMenuItem* m_menuItemCheckVersionAuto; + wxMenuItem* m_menuItemAbout; + wxBoxSizer* bSizerPanelHolder; + wxPanel* m_panelTopButtons; +@@ -234,8 +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 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(); } --- a/FreeFileSync/Source/ui/main_dlg.cpp +++ b/FreeFileSync/Source/ui/main_dlg.cpp -@@ -30,7 +30,6 @@ +@@ -31,7 +31,6 @@ #include #include #include "cfg_grid.h" @@ -59,7 +59,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 "progress_indicator.h" -@@ -843,7 +842,6 @@ imgFileManagerSmall_([] +@@ -844,7 +843,6 @@ imgFileManagerSmall_([] setImage(*m_menuItemHelp, loadImage("help", getDefaultMenuIconSize())); setImage(*m_menuItemAbout, loadImage("about", getDefaultMenuIconSize())); @@ -67,17 +67,17 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1 fixMenuIcons(*m_menuFile); fixMenuIcons(*m_menuActions); -@@ -943,9 +941,6 @@ imgFileManagerSmall_([] +@@ -944,9 +942,6 @@ imgFileManagerSmall_([] //mainly to update row label sizes... updateGui(); - //register regular check for update on next idle event - Bind(wxEVT_IDLE, &MainDialog::onStartupUpdateCheck, this); - - //asynchronous call to wxWindow::Layout(): fix superfluous frame on right and bottom when FFS is started in fullscreen mode + //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() -@@ -1138,8 +1133,6 @@ void MainDialog::setGlobalCfgOnInit(cons +@@ -1139,8 +1134,6 @@ void MainDialog::setGlobalCfgOnInit(cons auiMgr_.GetPane(m_panelSearch).Hide(); //no need to show it on startup auiMgr_.GetPane(m_panelLog ).Hide(); // @@ -86,7 +86,7 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1 auiMgr_.Update(); } -@@ -5907,72 +5900,6 @@ void MainDialog::onMenuExportFileList(wx +@@ -5917,72 +5910,6 @@ void MainDialog::onMenuExportFileList(wx } } @@ -161,7 +161,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 -@@ -275,8 +275,6 @@ private: +@@ -273,8 +273,6 @@ private: void onMenuExportFileList (wxCommandEvent& event) override; void onMenuResetLayout (wxCommandEvent& event) override { resetLayout(); } void onMenuFindItem (wxCommandEvent& event) override { showFindPanel(true /*show*/); } //CTRL + F @@ -172,7 +172,7 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1 void onMenuQuit (wxCommandEvent& event) override { Close(); } --- a/FreeFileSync/Source/ui/version_check.cpp +++ b/FreeFileSync/Source/ui/version_check.cpp -@@ -81,6 +81,8 @@ void openBrowserForDownload(wxWindow* pa +@@ -80,6 +80,8 @@ void openBrowserForDownload(wxWindow* pa bool fff::shouldRunAutomaticUpdateCheck(time_t lastUpdateCheck) { @@ -181,7 +181,7 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1 if (lastUpdateCheck == getVersionCheckInactiveId()) return false; -@@ -177,8 +179,7 @@ void showUpdateAvailableDialog(wxWindow* +@@ -176,8 +178,7 @@ void showUpdateAvailableDialog(wxWindow* std::wstring updateDetailsMsg; try { @@ -191,7 +191,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(); } -@@ -200,8 +201,8 @@ void showUpdateAvailableDialog(wxWindow* +@@ -199,8 +200,8 @@ void showUpdateAvailableDialog(wxWindow* std::string getOnlineVersion(const std::vector>& postParams) //throw SysError { @@ -202,7 +202,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; }) || -@@ -248,58 +249,6 @@ void fff::disableUpdateCheck(time_t& las +@@ -247,58 +248,6 @@ void fff::disableUpdateCheck(time_t& las } diff --git a/freefilesync/debian/patches/revert_buggy_gtk3_change_in_12.1.patch b/freefilesync/debian/patches/revert_buggy_gtk3_change_in_12.1.patch index 578b2db..c4a8feb 100644 --- a/freefilesync/debian/patches/revert_buggy_gtk3_change_in_12.1.patch +++ b/freefilesync/debian/patches/revert_buggy_gtk3_change_in_12.1.patch @@ -40,8 +40,8 @@ Last-Update: 2023-03-19 m_buttonSaveAs->SetFocus(); --- a/FreeFileSync/Source/ui/progress_indicator.cpp +++ b/FreeFileSync/Source/ui/progress_indicator.cpp -@@ -218,10 +218,7 @@ CompareProgressPanel::Impl::Impl(wxFrame - m_panelTimeStats->Layout(); +@@ -221,10 +221,7 @@ CompareProgressPanel::Impl::Impl(wxFrame + m_panelErrorStats->Layout(); GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() -#ifdef __WXGTK3__ @@ -52,7 +52,7 @@ Last-Update: 2023-03-19 } -@@ -884,10 +881,6 @@ syncStat_(&syncStat) +@@ -923,10 +920,6 @@ syncStat_(&syncStat) //make sure that standard height matches ProcessPhase::comparingContent statistics layout (== largest) this->GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() @@ -241,21 +241,3 @@ Last-Update: 2023-03-19 Raise(); //[!] popup may be triggered by ffs_batch job running in the background! if (m_buttonAccept->IsEnabled()) ---- a/wx+/tooltip.cpp -+++ b/wx+/tooltip.cpp -@@ -79,12 +79,11 @@ void Tooltip::show(const wxString& text, - } - - if (imgChanged || txtChanged) -+ { - //tipWindow_->Layout(); -> apparently not needed!? - tipWindow_->GetSizer()->SetSizeHints(tipWindow_); //~=Fit() + SetMinSize() --#ifdef __WXGTK3__ -- //GTK3 size calculation requires visible window: https://github.com/wxWidgets/wxWidgets/issues/16088 -- //=> call wxWindow::Show() to "execute" --#endif -+ //Linux: Fit() seems to be broken => call EVERY time inside show, not only if text or bmp change -> still true?!? -+ } - - const wxPoint newPos = wxTheApp->GetLayoutDirection() == wxLayout_RightToLeft ? - mousePos - wxPoint(fastFromDIP(TIP_WINDOW_OFFSET_DIP) + tipWindow_->GetSize().GetWidth(), 0) : -- cgit