summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--freefilesync/debian/changelog18
-rw-r--r--freefilesync/debian/freefilesync+devuan.dsc2
-rw-r--r--freefilesync/debian/patches/ffs_curl.patch12
-rw-r--r--freefilesync/debian/patches/ffs_desktop_notifications.patch8
-rw-r--r--freefilesync/debian/patches/ffs_no_check_updates.patch118
-rw-r--r--freefilesync/debian/patches/ffs_openssl.patch137
-rw-r--r--freefilesync/ffs_curl.patch12
-rw-r--r--freefilesync/ffs_desktop_notifications.patch8
-rw-r--r--freefilesync/ffs_no_check_updates.patch118
-rw-r--r--freefilesync/ffs_openssl.patch137
-rw-r--r--freefilesync/freefilesync.spec8
-rw-r--r--newmoon/README.md4
-rw-r--r--newmoon/_service29
-rw-r--r--newmoon/debian/changelog31
-rw-r--r--newmoon/debian/control1
-rw-r--r--newmoon/debian/newmoon+devuan.dsc4
-rw-r--r--newmoon/debian/patches/revert-mach-file.patch71
-rw-r--r--newmoon/debian/patches/series3
-rwxr-xr-xnewmoon/debian/rules6
-rw-r--r--newmoon/newmoon.spec24
-rw-r--r--newmoon/nm-gcc-11.patch1051
-rw-r--r--newmoon/revert-mach-file.patch71
-rw-r--r--scite-fedora/scite.spec5
23 files changed, 1544 insertions, 334 deletions
diff --git a/freefilesync/debian/changelog b/freefilesync/debian/changelog
index 347da64..6fc2750 100644
--- a/freefilesync/debian/changelog
+++ b/freefilesync/debian/changelog
@@ -1,3 +1,21 @@
+freefilesync (11.16-1+devuan) obs; urgency=medium
+
+ * Upstream updates
+ - Allow to select and remove invalid config file
+ - Migrated all HTTPS requests to use libcurl (Linux, macOS)
+ - Set keyboard focus on config panel after startup
+ - Added computer name to log file trailer
+ - Context menu instead of confirmation dialog for swap sides
+ - Fixed config selection lost after auto-cleaning obsolete rows
+ - Install app files with owner set to root (Linux)
+ - Don't override keyboard shortcut "CTRL + W" (macOS)
+ - Migrated key conversion routines deprecated in OpenSSL 3.0
+ - Boxed app icon to fit OS theme (macOS)
+ - Fixed manual retry after automatic update check error
+ - Fixed missing ampersands in middle grid tooltip
+
+ -- B. Stack <bgstack15@gmail.com> Tue, 04 Jan 2022 10:52:55 -0500
+
freefilesync (11.15-1+devuan) obs; urgency=medium
* Upstream updates
diff --git a/freefilesync/debian/freefilesync+devuan.dsc b/freefilesync/debian/freefilesync+devuan.dsc
index 665b002..6a0b5c8 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.15-1+devuan
+Version: 11.16-1+devuan
Maintainer: B. Stack <bgstack15@gmail.com>
Homepage: https://freefilesync.org/
Standards-Version: 4.1.4
diff --git a/freefilesync/debian/patches/ffs_curl.patch b/freefilesync/debian/patches/ffs_curl.patch
index 2dd5974..2b93756 100644
--- a/freefilesync/debian/patches/ffs_curl.patch
+++ b/freefilesync/debian/patches/ffs_curl.patch
@@ -1,7 +1,7 @@
Author: Brulhart, bgstack15
Date: 2021-06-12 10:54:15 -0400
Message: remove assertion for libcurl version >1.71
-Version: FreeFileSync 11.13
+Version: FreeFileSync 11.16
Message: We have to omit checking for certain definitions.
On Fedora 33, file /usr/include/curl/curl.h from libcurl-devel 7.71 stops with CURLE_QUIC_CONNECT_ERROR 96
On Devuan Ceres file /usr/include/x86_64-linux-gnu/curl/curl.h from libcurl 4-openssl-dev stops with CURLE_PROXY 97
@@ -18,10 +18,10 @@ diff -r -u 10.17-0/FreeFileSync/Source/afs/ftp.cpp 10.17-1/FreeFileSync/Source/a
/* 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 -x '*.orig' -x '*.rej' -aur 11.3-0/libcurl/curl_wrap.h 11.3-1/libcurl/curl_wrap.h
---- 11.11-0/libcurl/curl_wrap.h 2021-06-12 10:44:25.062468759 -0400
-+++ 11.11-1/libcurl/curl_wrap.h 2021-06-12 10:50:24.350613680 -0400
-@@ -89,7 +89,7 @@
+diff -x '*.orig' -x '*.rej' -aur 11.16-0/libcurl/curl_wrap.cpp 11.16-1/libcurl/curl_wrap.cpp
+--- 11.16-0/libcurl/curl_wrap.cpp 2022-01-04 08:52:19.603430247 -0500
++++ 11.16-1/libcurl/curl_wrap.cpp 2022-01-04 09:18:42.877140030 -0500
+@@ -330,7 +330,7 @@
ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_OBSOLETE46);
ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_TOO_MANY_REDIRECTS);
ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_UNKNOWN_OPTION);
@@ -30,7 +30,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/libcurl/curl_wrap.h 11.3-1/libcurl/curl_
ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_OBSOLETE50);
ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_OBSOLETE51);
ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_GOT_NOTHING);
-@@ -137,11 +137,8 @@
+@@ -378,11 +378,8 @@
ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_AUTH_ERROR);
ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_HTTP3);
ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_QUIC_CONNECT_ERROR);
diff --git a/freefilesync/debian/patches/ffs_desktop_notifications.patch b/freefilesync/debian/patches/ffs_desktop_notifications.patch
index 5610fd1..121616a 100644
--- a/freefilesync/debian/patches/ffs_desktop_notifications.patch
+++ b/freefilesync/debian/patches/ffs_desktop_notifications.patch
@@ -1,3 +1,7 @@
+Version: 11.16
+Date: 2022-01-04
+Author: bgstack15
+Message: Add support for building with desktop notification support.
diff -aur 11.9-1/FreeFileSync/Source/Makefile 11.9-2/FreeFileSync/Source/Makefile
--- 11.9-1/FreeFileSync/Source/Makefile 2021-05-06 16:24:53.987902373 -0400
+++ 11.9-2/FreeFileSync/Source/Makefile 2021-05-06 17:09:31.512474440 -0400
@@ -28,8 +32,8 @@ diff -aur 11.9-1/FreeFileSync/Source/ui/progress_indicator.cpp 11.9-2/FreeFileSy
using namespace zen;
using namespace fff;
-@@ -1359,6 +1362,22 @@
- pnl_.m_staticTextPhase->SetLabel(getSyncResultLabel(syncResult));
+@@ -1358,6 +1361,22 @@
+ pnl_.m_staticTextPhase->SetLabelText(getSyncResultLabel(syncResult));
//pnl_.m_bitmapStatus->SetToolTip(); -> redundant
+#ifdef with_notifications
diff --git a/freefilesync/debian/patches/ffs_no_check_updates.patch b/freefilesync/debian/patches/ffs_no_check_updates.patch
index 6524a1b..0b360f2 100644
--- a/freefilesync/debian/patches/ffs_no_check_updates.patch
+++ b/freefilesync/debian/patches/ffs_no_check_updates.patch
@@ -1,62 +1,62 @@
-Version: 11.13
+Version: 11.16
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.
-Date: 2021-05-10
+Date: 2022-01-04
Author: bgstack15
diff -aur 11.10-1/FreeFileSync/Source/ui/gui_generated.cpp 11.12-1/FreeFileSync/Source/ui/gui_generated.cpp
---- 11.13-0/FreeFileSync/Source/ui/gui_generated.cpp 2021-08-17 19:18:02.043992470 -0400
-+++ 11.13-1/FreeFileSync/Source/ui/gui_generated.cpp 2021-08-17 19:29:06.794700840 -0400
+--- 11.16-0/FreeFileSync/Source/ui/gui_generated.cpp 2021-08-17 19:18:02.043992470 -0400
++++ 11.16-1/FreeFileSync/Source/ui/gui_generated.cpp 2021-08-17 19:29:06.794700840 -0400
@@ -108,17 +108,6 @@
- m_menuItemHelp = new wxMenuItem( m_menuHelp, wxID_HELP, wxString( _("&View help") ) + wxT('\t') + wxT("F1"), wxEmptyString, wxITEM_NORMAL );
- m_menuHelp->Append( m_menuItemHelp );
+ m_menuItemHelp = new wxMenuItem( m_menuHelp, wxID_HELP, wxString( _("&View help") ) + wxT('\t') + wxT("F1"), wxEmptyString, wxITEM_NORMAL );
+ m_menuHelp->Append( m_menuItemHelp );
-- 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 );
-@@ -1133,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 );
+@@ -1131,8 +1120,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 );
diff -aur 11.10-1/FreeFileSync/Source/ui/gui_generated.h 11.10-2/FreeFileSync/Source/ui/gui_generated.h
---- 11.13-0/FreeFileSync/Source/ui/gui_generated.h 2021-08-17 19:18:02.063992671 -0400
-+++ 11.13-1/FreeFileSync/Source/ui/gui_generated.h 2021-08-17 19:29:21.978854111 -0400
-@@ -93,8 +93,6 @@
- wxMenuItem* m_menuItemShowOverview;
- wxMenu* m_menuHelp;
- wxMenuItem* m_menuItemHelp;
-- wxMenuItem* m_menuItemCheckVersionNow;
-- wxMenuItem* m_menuItemCheckVersionAuto;
- wxMenuItem* m_menuItemAbout;
- wxBoxSizer* bSizerPanelHolder;
- wxPanel* m_panelTopButtons;
-@@ -229,8 +227,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(); }
+--- 11.16-0/FreeFileSync/Source/ui/gui_generated.h 2021-08-17 19:18:02.063992671 -0400
++++ 11.16-1/FreeFileSync/Source/ui/gui_generated.h 2021-08-17 19:29:21.978854111 -0400
+@@ -95,8 +95,6 @@
+ wxMenuItem* m_menuItemShowOverview;
+ wxMenu* m_menuHelp;
+ wxMenuItem* m_menuItemHelp;
+- wxMenuItem* m_menuItemCheckVersionNow;
+- wxMenuItem* m_menuItemCheckVersionAuto;
+ wxMenuItem* m_menuItemAbout;
+ wxBoxSizer* bSizerPanelHolder;
+ wxPanel* m_panelTopButtons;
+@@ -231,8 +229,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(); }
diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 11.10-2/FreeFileSync/Source/ui/main_dlg.cpp
---- 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 2021-05-10 10:43:26.103497095 -0400
-+++ 11.10-2/FreeFileSync/Source/ui/main_dlg.cpp 2021-05-10 10:52:37.904763378 -0400
-@@ -706,7 +706,6 @@
+--- 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
+@@ -735,7 +735,6 @@
m_menuItemHelp ->SetBitmap(loadImage("help_sicon"));
m_menuItemAbout->SetBitmap(loadImage("about_sicon"));
@@ -64,7 +64,7 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 11.10-2/FreeFileSync/Sourc
auto fixMenuIcons = [](wxMenu& menu) //GTK: image must be set *before* adding wxMenuItem to menu or it won't show
{
-@@ -825,9 +824,6 @@
+@@ -854,9 +853,6 @@
//mainly to update row label sizes...
updateGui();
@@ -74,7 +74,7 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 11.10-2/FreeFileSync/Sourc
//asynchronous call to wxWindow::Layout(): 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()
-@@ -1078,8 +1074,6 @@
+@@ -1108,8 +1104,6 @@
auiMgr_.GetPane(m_panelSearch).Hide(); //no need to show it on startup
auiMgr_.GetPane(m_panelLog ).Hide(); //
@@ -83,7 +83,7 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 11.10-2/FreeFileSync/Sourc
auiMgr_.Update();
}
-@@ -5601,72 +5595,6 @@
+@@ -5680,72 +5674,6 @@
}
}
@@ -107,7 +107,7 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 11.10-2/FreeFileSync/Sourc
- {
- flashStatusInformation(_("Searching for program updates..."));
- //synchronous update check is sufficient here:
-- automaticUpdateCheckEval(this, globalCfg_.lastUpdateCheck, globalCfg_.lastOnlineVersion,
+- automaticUpdateCheckEval(*this, globalCfg_.lastUpdateCheck, globalCfg_.lastOnlineVersion,
- automaticUpdateCheckRunAsync(automaticUpdateCheckPrepare(*this).get()).get());
- }
-}
@@ -143,7 +143,7 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 11.10-2/FreeFileSync/Sourc
- guiQueue_.processAsync([resultPrep] { return automaticUpdateCheckRunAsync(resultPrep.get()); }, //run on worker thread: (long-running part of the check)
- [this, showNewVersionReminder] (std::shared_ptr<const UpdateCheckResult>&& resultAsync)
- {
-- automaticUpdateCheckEval(this, globalCfg_.lastUpdateCheck, globalCfg_.lastOnlineVersion,
+- automaticUpdateCheckEval(*this, globalCfg_.lastUpdateCheck, globalCfg_.lastOnlineVersion,
- resultAsync.get()); //run on main thread:
- showNewVersionReminder();
- });
@@ -169,8 +169,8 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.h 11.10-2/FreeFileSync/Source/
void onShowHelp (wxCommandEvent& event) override { wxLaunchDefaultBrowser(L"https://freefilesync.org/manual.php?topic=freefilesync"); }
void onMenuQuit (wxCommandEvent& event) override { Close(); }
diff -aur 11.10-1/FreeFileSync/Source/ui/version_check.cpp 11.10-2/FreeFileSync/Source/ui/version_check.cpp
---- 11.10-1/FreeFileSync/Source/ui/version_check.cpp 2021-05-10 08:10:14.751776629 -0400
-+++ 11.10-2/FreeFileSync/Source/ui/version_check.cpp 2021-05-10 10:50:08.595338399 -0400
+--- 11.16-1/FreeFileSync/Source/ui/version_check.cpp 2021-05-10 08:10:14.751776629 -0400
++++ 11.16-2/FreeFileSync/Source/ui/version_check.cpp 2021-05-10 10:50:08.595338399 -0400
@@ -73,6 +73,8 @@
bool fff::shouldRunAutomaticUpdateCheck(time_t lastUpdateCheck)
@@ -185,7 +185,7 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/version_check.cpp 11.10-2/FreeFileSync/
try
{
- updateDetailsMsg = utfTo<std::wstring>(sendHttpGet(utfTo<Zstring>("https://api.freefilesync.org/latest_changes?" + xWwwFormUrlEncode({{"since", ffsVersion}})),
-- ffsUpdateCheckUserAgent, nullptr /*caCertFilePath*/, nullptr /*notifyUnbufferedIO*/).readAll()); //throw SysError
+- ffsUpdateCheckUserAgent, Zstring() /*caCertFilePath*/, nullptr /*notifyUnbufferedIO*/).readAll()); //throw SysError
+ updateDetailsMsg = utfTo<std::wstring>("");
}
catch (const SysError& e) { updateDetailsMsg = _("Failed to retrieve update information.") + + L"\n\n" + e.toString(); }
@@ -195,7 +195,7 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/version_check.cpp 11.10-2/FreeFileSync/
std::string getOnlineVersion(const std::vector<std::pair<std::string, std::string>>& postParams) //throw SysError
{
- const std::string response = sendHttpPost(Zstr("https://api.freefilesync.org/latest_version"), postParams,
-- ffsUpdateCheckUserAgent, nullptr /*caCertFilePath*/, nullptr /*notifyUnbufferedIO*/).readAll(); //throw SysError
+- ffsUpdateCheckUserAgent, Zstring() /*caCertFilePath*/, nullptr /*notifyUnbufferedIO*/).readAll(); //throw SysError
+ const std::string response = "";
+ return trimCpy(response);
@@ -261,10 +261,10 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/version_check.cpp 11.10-2/FreeFileSync/
{
std::vector<std::pair<std::string, std::string>> postParameters;
diff -aur 11.10-1/FreeFileSync/Source/ui/version_check.h 11.10-2/FreeFileSync/Source/ui/version_check.h
---- 11.10-1/FreeFileSync/Source/ui/version_check.h 2021-05-10 08:02:46.067494474 -0400
-+++ 11.10-2/FreeFileSync/Source/ui/version_check.h 2021-05-10 10:50:22.035466671 -0400
+--- 11.16-0/FreeFileSync/Source/ui/version_check.h 2021-05-10 08:02:46.067494474 -0400
++++ 11.16-1/FreeFileSync/Source/ui/version_check.h 2021-05-10 10:50:22.035466671 -0400
@@ -32,9 +32,6 @@
- void automaticUpdateCheckEval(wxWindow* parent, time_t& lastUpdateCheck, std::string& lastOnlineVersion,
+ void automaticUpdateCheckEval(wxWindow& parent, time_t& lastUpdateCheck, std::string& lastOnlineVersion,
const UpdateCheckResult* asyncResult);
//----------------------------------------------------------------------------
-//call from main thread:
diff --git a/freefilesync/debian/patches/ffs_openssl.patch b/freefilesync/debian/patches/ffs_openssl.patch
index 47fd5cc..7097d33 100644
--- a/freefilesync/debian/patches/ffs_openssl.patch
+++ b/freefilesync/debian/patches/ffs_openssl.patch
@@ -1,103 +1,52 @@
-Summary: Revert 11.14 openssl 3.0.0 usage
+Summary: Compile for libss-dev 1.1.1m
Author: bgstack15
-Date: 2021-09-22
-Version: 11.14
-Message: Zenju updated FreeFileSync 11.14 to use openssl 3.0.0 but my distros are not ready for that. By reverting to the 11.13 logic, the application can compile against openssl 1.1.1l as before.
+Date: 2022-01-04
+Version: 11.16
+Message: Compile on Devuan Ceres with libssl-dev_1.1.1m-1
diff -aur 11.13/zen/open_ssl.cpp 11.14/zen/open_ssl.cpp
---- 11.13/zen/open_ssl.cpp
-+++ 11.14/zen/open_ssl.cpp
-@@ -179,9 +179,9 @@ std::shared_ptr<EVP_PKEY> streamToKey(const std::string& keyStream, RsaStreamTyp
+--- 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
+@@ -201,7 +201,7 @@
//================================================================================
--using EvpToBioFunc = int (*)(BIO* bio, const EVP_PKEY* evp);
-+using EvpToBioFunc = int (*)(BIO* bio, EVP_PKEY* evp);
-
--std::string evpKeyToStream(const EVP_PKEY* evp, EvpToBioFunc evpToBio, const char* functionName) //throw SysError
-+std::string evpKeyToStream(EVP_PKEY* evp, EvpToBioFunc evpToBio, const char* functionName) //throw SysError
- {
- BIO* bio = ::BIO_new(BIO_s_mem());
- if (!bio)
-@@ -205,16 +205,16 @@ std::string evpKeyToStream(const EVP_PKEY* evp, EvpToBioFunc evpToBio, const cha
- }
-
-
--using RsaToBioFunc = int (*)(BIO* bp, const RSA* x);
-+using RsaToBioFunc = int (*)(BIO* bp, RSA* x);
-
--std::string evpKeyToStream(const EVP_PKEY* evp, RsaToBioFunc rsaToBio, const char* functionName) //throw SysError
-+std::string evpKeyToStream(EVP_PKEY* evp, RsaToBioFunc rsaToBio, const char* functionName) //throw SysError
- {
- BIO* bio = ::BIO_new(BIO_s_mem());
- if (!bio)
- throw SysError(formatLastOpenSSLError("BIO_new"));
- ZEN_ON_SCOPE_EXIT(::BIO_free_all(bio));
-
-- const RSA* rsa = ::EVP_PKEY_get0_RSA(evp); //unowned reference!
-+ RSA* rsa = ::EVP_PKEY_get0_RSA(evp); //unowned reference!
- if (!rsa)
- throw SysError(formatLastOpenSSLError("EVP_PKEY_get0_RSA"));
-
-@@ -236,33 +236,33 @@ std::string evpKeyToStream(const EVP_PKEY* evp, RsaToBioFunc rsaToBio, const cha
-
-
- //fix OpenSSL API inconsistencies:
--int PEM_write_bio_PrivateKey2(BIO* bio, const EVP_PKEY* key)
-+int PEM_write_bio_PrivateKey2(BIO* bio, EVP_PKEY* key)
- {
- return ::PEM_write_bio_PrivateKey(bio, //BIO* bp
-- key, //const EVP_PKEY* x
-+ key, //EVP_PKEY* x
- nullptr, //const EVP_CIPHER* enc
-- nullptr, //const unsigned char* kstr
-+ nullptr, //unsigned char* kstr
- 0, //int klen
- nullptr, //pem_password_cb* cb
- nullptr); //void* u
- }
-
--int PEM_write_bio_RSAPrivateKey2(BIO* bio, const RSA* rsa)
-+int PEM_write_bio_RSAPrivateKey2(BIO* bio, RSA* rsa)
- {
- return ::PEM_write_bio_RSAPrivateKey(bio, //BIO* bp
-- rsa, //const RSA* x
-+ rsa, //RSA* x
- nullptr, //const EVP_CIPHER* enc
-- nullptr, //const unsigned char* kstr
-+ nullptr, //unsigned char* kstr
- 0, //int klen
- nullptr, //pem_password_cb* cb
- nullptr); //void* u
- }
-
--int PEM_write_bio_RSAPublicKey2(BIO* bio, const RSA* rsa) { return ::PEM_write_bio_RSAPublicKey(bio, rsa); }
-+int PEM_write_bio_RSAPublicKey2(BIO* bio, RSA* rsa) { return ::PEM_write_bio_RSAPublicKey(bio, rsa); }
-
- //--------------------------------------------------------------------------------
-
-std::string keyToStream(const EVP_PKEY* evp, RsaStreamType streamType, bool publicKey) //throw SysError
+std::string keyToStream(EVP_PKEY* evp, RsaStreamType streamType, bool publicKey) //throw SysError
{
- switch (streamType)
- {
-@@ -571,15 +571,15 @@ public:
- if (sslError == SSL_ERROR_ZERO_RETURN)
- return 0; //EOF + close_notify alert
+ //assert(::EVP_PKEY_get_base_id(evp) == EVP_PKEY_RSA);
+
+@@ -210,7 +210,7 @@
+ case RsaStreamType::pkix:
+ {
+ //fix OpenSSL API inconsistencies:
+- auto PEM_write_bio_PrivateKey2 = [](BIO* bio, const EVP_PKEY* key)
++ auto PEM_write_bio_PrivateKey2 = [](BIO* bio, EVP_PKEY* key)
+ {
+ return ::PEM_write_bio_PrivateKey(bio, //BIO* bp
+ key, //const EVP_PKEY* x
+@@ -269,7 +269,7 @@
+ return {reinterpret_cast<const char*>(keyBuf), keyLen};
+ #else
+ //fix OpenSSL API inconsistencies:
+- auto PEM_write_bio_RSAPrivateKey2 = [](BIO* bio, const RSA* rsa)
++ auto PEM_write_bio_RSAPrivateKey2 = [](BIO* bio, RSA* rsa)
+ {
+ return ::PEM_write_bio_RSAPrivateKey(bio, //BIO* bp
+ rsa, //const RSA* x
+@@ -279,14 +279,14 @@
+ nullptr, //pem_password_cb* cb
+ nullptr); //void* u
+ };
+- auto PEM_write_bio_RSAPublicKey2 = [](BIO* bio, const RSA* rsa) { return ::PEM_write_bio_RSAPublicKey(bio, rsa); };
++ auto PEM_write_bio_RSAPublicKey2 = [](BIO* bio, RSA* rsa) { return ::PEM_write_bio_RSAPublicKey(bio, rsa); };
+
+ BIO* bio = ::BIO_new(BIO_s_mem());
+ if (!bio)
+ throw SysError(formatLastOpenSSLError("BIO_new"));
+ ZEN_ON_SCOPE_EXIT(::BIO_free_all(bio));
+
+- const RSA* rsa = ::EVP_PKEY_get0_RSA(evp); //unowned reference!
++ RSA* rsa = ::EVP_PKEY_get0_RSA(evp); //unowned reference!
+ if (!rsa)
+ throw SysError(formatLastOpenSSLError("EVP_PKEY_get0_RSA"));
--#if OPENSSL_VERSION_NUMBER >= 0x30000000L /*OpenSSL 3.0.0*/ || \
-- OPENSSL_VERSION_NUMBER == 0x1010105fL /*OpenSSL 1.1.1e*/
-+#if OPENSSL_VERSION_NUMBER == 0x1010105fL //OpenSSL 1.1.1e
- const auto ec = ::ERR_peek_last_error();
- if (sslError == SSL_ERROR_SSL && ERR_GET_REASON(ec) == SSL_R_UNEXPECTED_EOF_WHILE_READING) //EOF: only expected for HTTP/1.0
--#else //obsolete handling: https://github.com/openssl/openssl/issues/10880#issuecomment-575746226
-+ return 0;
-+#else //obsolete handling, at least in OpenSSL 1.1.1e (but valid again with OpenSSL 1.1.1f!)
-+ //https://github.com/openssl/openssl/issues/10880#issuecomment-575746226
- if ((sslError == SSL_ERROR_SYSCALL && ::ERR_peek_last_error() == 0)) //EOF: only expected for HTTP/1.0
--#endif
- return 0;
--
-+#endif
- throw SysError(formatLastOpenSSLError("SSL_read_ex") + L' ' + getSslErrorLiteral(sslError));
- }
- assert(bytesReceived > 0); //SSL_read_ex() considers EOF an error!
diff --git a/freefilesync/ffs_curl.patch b/freefilesync/ffs_curl.patch
index 2dd5974..2b93756 100644
--- a/freefilesync/ffs_curl.patch
+++ b/freefilesync/ffs_curl.patch
@@ -1,7 +1,7 @@
Author: Brulhart, bgstack15
Date: 2021-06-12 10:54:15 -0400
Message: remove assertion for libcurl version >1.71
-Version: FreeFileSync 11.13
+Version: FreeFileSync 11.16
Message: We have to omit checking for certain definitions.
On Fedora 33, file /usr/include/curl/curl.h from libcurl-devel 7.71 stops with CURLE_QUIC_CONNECT_ERROR 96
On Devuan Ceres file /usr/include/x86_64-linux-gnu/curl/curl.h from libcurl 4-openssl-dev stops with CURLE_PROXY 97
@@ -18,10 +18,10 @@ diff -r -u 10.17-0/FreeFileSync/Source/afs/ftp.cpp 10.17-1/FreeFileSync/Source/a
/* 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 -x '*.orig' -x '*.rej' -aur 11.3-0/libcurl/curl_wrap.h 11.3-1/libcurl/curl_wrap.h
---- 11.11-0/libcurl/curl_wrap.h 2021-06-12 10:44:25.062468759 -0400
-+++ 11.11-1/libcurl/curl_wrap.h 2021-06-12 10:50:24.350613680 -0400
-@@ -89,7 +89,7 @@
+diff -x '*.orig' -x '*.rej' -aur 11.16-0/libcurl/curl_wrap.cpp 11.16-1/libcurl/curl_wrap.cpp
+--- 11.16-0/libcurl/curl_wrap.cpp 2022-01-04 08:52:19.603430247 -0500
++++ 11.16-1/libcurl/curl_wrap.cpp 2022-01-04 09:18:42.877140030 -0500
+@@ -330,7 +330,7 @@
ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_OBSOLETE46);
ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_TOO_MANY_REDIRECTS);
ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_UNKNOWN_OPTION);
@@ -30,7 +30,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/libcurl/curl_wrap.h 11.3-1/libcurl/curl_
ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_OBSOLETE50);
ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_OBSOLETE51);
ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_GOT_NOTHING);
-@@ -137,11 +137,8 @@
+@@ -378,11 +378,8 @@
ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_AUTH_ERROR);
ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_HTTP3);
ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_QUIC_CONNECT_ERROR);
diff --git a/freefilesync/ffs_desktop_notifications.patch b/freefilesync/ffs_desktop_notifications.patch
index 5610fd1..121616a 100644
--- a/freefilesync/ffs_desktop_notifications.patch
+++ b/freefilesync/ffs_desktop_notifications.patch
@@ -1,3 +1,7 @@
+Version: 11.16
+Date: 2022-01-04
+Author: bgstack15
+Message: Add support for building with desktop notification support.
diff -aur 11.9-1/FreeFileSync/Source/Makefile 11.9-2/FreeFileSync/Source/Makefile
--- 11.9-1/FreeFileSync/Source/Makefile 2021-05-06 16:24:53.987902373 -0400
+++ 11.9-2/FreeFileSync/Source/Makefile 2021-05-06 17:09:31.512474440 -0400
@@ -28,8 +32,8 @@ diff -aur 11.9-1/FreeFileSync/Source/ui/progress_indicator.cpp 11.9-2/FreeFileSy
using namespace zen;
using namespace fff;
-@@ -1359,6 +1362,22 @@
- pnl_.m_staticTextPhase->SetLabel(getSyncResultLabel(syncResult));
+@@ -1358,6 +1361,22 @@
+ pnl_.m_staticTextPhase->SetLabelText(getSyncResultLabel(syncResult));
//pnl_.m_bitmapStatus->SetToolTip(); -> redundant
+#ifdef with_notifications
diff --git a/freefilesync/ffs_no_check_updates.patch b/freefilesync/ffs_no_check_updates.patch
index 6524a1b..0b360f2 100644
--- a/freefilesync/ffs_no_check_updates.patch
+++ b/freefilesync/ffs_no_check_updates.patch
@@ -1,62 +1,62 @@
-Version: 11.13
+Version: 11.16
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.
-Date: 2021-05-10
+Date: 2022-01-04
Author: bgstack15
diff -aur 11.10-1/FreeFileSync/Source/ui/gui_generated.cpp 11.12-1/FreeFileSync/Source/ui/gui_generated.cpp
---- 11.13-0/FreeFileSync/Source/ui/gui_generated.cpp 2021-08-17 19:18:02.043992470 -0400
-+++ 11.13-1/FreeFileSync/Source/ui/gui_generated.cpp 2021-08-17 19:29:06.794700840 -0400
+--- 11.16-0/FreeFileSync/Source/ui/gui_generated.cpp 2021-08-17 19:18:02.043992470 -0400
++++ 11.16-1/FreeFileSync/Source/ui/gui_generated.cpp 2021-08-17 19:29:06.794700840 -0400
@@ -108,17 +108,6 @@
- m_menuItemHelp = new wxMenuItem( m_menuHelp, wxID_HELP, wxString( _("&View help") ) + wxT('\t') + wxT("F1"), wxEmptyString, wxITEM_NORMAL );
- m_menuHelp->Append( m_menuItemHelp );
+ m_menuItemHelp = new wxMenuItem( m_menuHelp, wxID_HELP, wxString( _("&View help") ) + wxT('\t') + wxT("F1"), wxEmptyString, wxITEM_NORMAL );
+ m_menuHelp->Append( m_menuItemHelp );
-- 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 );
-@@ -1133,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 );
+@@ -1131,8 +1120,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 );
diff -aur 11.10-1/FreeFileSync/Source/ui/gui_generated.h 11.10-2/FreeFileSync/Source/ui/gui_generated.h
---- 11.13-0/FreeFileSync/Source/ui/gui_generated.h 2021-08-17 19:18:02.063992671 -0400
-+++ 11.13-1/FreeFileSync/Source/ui/gui_generated.h 2021-08-17 19:29:21.978854111 -0400
-@@ -93,8 +93,6 @@
- wxMenuItem* m_menuItemShowOverview;
- wxMenu* m_menuHelp;
- wxMenuItem* m_menuItemHelp;
-- wxMenuItem* m_menuItemCheckVersionNow;
-- wxMenuItem* m_menuItemCheckVersionAuto;
- wxMenuItem* m_menuItemAbout;
- wxBoxSizer* bSizerPanelHolder;
- wxPanel* m_panelTopButtons;
-@@ -229,8 +227,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(); }
+--- 11.16-0/FreeFileSync/Source/ui/gui_generated.h 2021-08-17 19:18:02.063992671 -0400
++++ 11.16-1/FreeFileSync/Source/ui/gui_generated.h 2021-08-17 19:29:21.978854111 -0400
+@@ -95,8 +95,6 @@
+ wxMenuItem* m_menuItemShowOverview;
+ wxMenu* m_menuHelp;
+ wxMenuItem* m_menuItemHelp;
+- wxMenuItem* m_menuItemCheckVersionNow;
+- wxMenuItem* m_menuItemCheckVersionAuto;
+ wxMenuItem* m_menuItemAbout;
+ wxBoxSizer* bSizerPanelHolder;
+ wxPanel* m_panelTopButtons;
+@@ -231,8 +229,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(); }
diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 11.10-2/FreeFileSync/Source/ui/main_dlg.cpp
---- 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 2021-05-10 10:43:26.103497095 -0400
-+++ 11.10-2/FreeFileSync/Source/ui/main_dlg.cpp 2021-05-10 10:52:37.904763378 -0400
-@@ -706,7 +706,6 @@
+--- 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
+@@ -735,7 +735,6 @@
m_menuItemHelp ->SetBitmap(loadImage("help_sicon"));
m_menuItemAbout->SetBitmap(loadImage("about_sicon"));
@@ -64,7 +64,7 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 11.10-2/FreeFileSync/Sourc
auto fixMenuIcons = [](wxMenu& menu) //GTK: image must be set *before* adding wxMenuItem to menu or it won't show
{
-@@ -825,9 +824,6 @@
+@@ -854,9 +853,6 @@
//mainly to update row label sizes...
updateGui();
@@ -74,7 +74,7 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 11.10-2/FreeFileSync/Sourc
//asynchronous call to wxWindow::Layout(): 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()
-@@ -1078,8 +1074,6 @@
+@@ -1108,8 +1104,6 @@
auiMgr_.GetPane(m_panelSearch).Hide(); //no need to show it on startup
auiMgr_.GetPane(m_panelLog ).Hide(); //
@@ -83,7 +83,7 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 11.10-2/FreeFileSync/Sourc
auiMgr_.Update();
}
-@@ -5601,72 +5595,6 @@
+@@ -5680,72 +5674,6 @@
}
}
@@ -107,7 +107,7 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 11.10-2/FreeFileSync/Sourc
- {
- flashStatusInformation(_("Searching for program updates..."));
- //synchronous update check is sufficient here:
-- automaticUpdateCheckEval(this, globalCfg_.lastUpdateCheck, globalCfg_.lastOnlineVersion,
+- automaticUpdateCheckEval(*this, globalCfg_.lastUpdateCheck, globalCfg_.lastOnlineVersion,
- automaticUpdateCheckRunAsync(automaticUpdateCheckPrepare(*this).get()).get());
- }
-}
@@ -143,7 +143,7 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 11.10-2/FreeFileSync/Sourc
- guiQueue_.processAsync([resultPrep] { return automaticUpdateCheckRunAsync(resultPrep.get()); }, //run on worker thread: (long-running part of the check)
- [this, showNewVersionReminder] (std::shared_ptr<const UpdateCheckResult>&& resultAsync)
- {
-- automaticUpdateCheckEval(this, globalCfg_.lastUpdateCheck, globalCfg_.lastOnlineVersion,
+- automaticUpdateCheckEval(*this, globalCfg_.lastUpdateCheck, globalCfg_.lastOnlineVersion,
- resultAsync.get()); //run on main thread:
- showNewVersionReminder();
- });
@@ -169,8 +169,8 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.h 11.10-2/FreeFileSync/Source/
void onShowHelp (wxCommandEvent& event) override { wxLaunchDefaultBrowser(L"https://freefilesync.org/manual.php?topic=freefilesync"); }
void onMenuQuit (wxCommandEvent& event) override { Close(); }
diff -aur 11.10-1/FreeFileSync/Source/ui/version_check.cpp 11.10-2/FreeFileSync/Source/ui/version_check.cpp
---- 11.10-1/FreeFileSync/Source/ui/version_check.cpp 2021-05-10 08:10:14.751776629 -0400
-+++ 11.10-2/FreeFileSync/Source/ui/version_check.cpp 2021-05-10 10:50:08.595338399 -0400
+--- 11.16-1/FreeFileSync/Source/ui/version_check.cpp 2021-05-10 08:10:14.751776629 -0400
++++ 11.16-2/FreeFileSync/Source/ui/version_check.cpp 2021-05-10 10:50:08.595338399 -0400
@@ -73,6 +73,8 @@
bool fff::shouldRunAutomaticUpdateCheck(time_t lastUpdateCheck)
@@ -185,7 +185,7 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/version_check.cpp 11.10-2/FreeFileSync/
try
{
- updateDetailsMsg = utfTo<std::wstring>(sendHttpGet(utfTo<Zstring>("https://api.freefilesync.org/latest_changes?" + xWwwFormUrlEncode({{"since", ffsVersion}})),
-- ffsUpdateCheckUserAgent, nullptr /*caCertFilePath*/, nullptr /*notifyUnbufferedIO*/).readAll()); //throw SysError
+- ffsUpdateCheckUserAgent, Zstring() /*caCertFilePath*/, nullptr /*notifyUnbufferedIO*/).readAll()); //throw SysError
+ updateDetailsMsg = utfTo<std::wstring>("");
}
catch (const SysError& e) { updateDetailsMsg = _("Failed to retrieve update information.") + + L"\n\n" + e.toString(); }
@@ -195,7 +195,7 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/version_check.cpp 11.10-2/FreeFileSync/
std::string getOnlineVersion(const std::vector<std::pair<std::string, std::string>>& postParams) //throw SysError
{
- const std::string response = sendHttpPost(Zstr("https://api.freefilesync.org/latest_version"), postParams,
-- ffsUpdateCheckUserAgent, nullptr /*caCertFilePath*/, nullptr /*notifyUnbufferedIO*/).readAll(); //throw SysError
+- ffsUpdateCheckUserAgent, Zstring() /*caCertFilePath*/, nullptr /*notifyUnbufferedIO*/).readAll(); //throw SysError
+ const std::string response = "";
+ return trimCpy(response);
@@ -261,10 +261,10 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/version_check.cpp 11.10-2/FreeFileSync/
{
std::vector<std::pair<std::string, std::string>> postParameters;
diff -aur 11.10-1/FreeFileSync/Source/ui/version_check.h 11.10-2/FreeFileSync/Source/ui/version_check.h
---- 11.10-1/FreeFileSync/Source/ui/version_check.h 2021-05-10 08:02:46.067494474 -0400
-+++ 11.10-2/FreeFileSync/Source/ui/version_check.h 2021-05-10 10:50:22.035466671 -0400
+--- 11.16-0/FreeFileSync/Source/ui/version_check.h 2021-05-10 08:02:46.067494474 -0400
++++ 11.16-1/FreeFileSync/Source/ui/version_check.h 2021-05-10 10:50:22.035466671 -0400
@@ -32,9 +32,6 @@
- void automaticUpdateCheckEval(wxWindow* parent, time_t& lastUpdateCheck, std::string& lastOnlineVersion,
+ void automaticUpdateCheckEval(wxWindow& parent, time_t& lastUpdateCheck, std::string& lastOnlineVersion,
const UpdateCheckResult* asyncResult);
//----------------------------------------------------------------------------
-//call from main thread:
diff --git a/freefilesync/ffs_openssl.patch b/freefilesync/ffs_openssl.patch
index 47fd5cc..7097d33 100644
--- a/freefilesync/ffs_openssl.patch
+++ b/freefilesync/ffs_openssl.patch
@@ -1,103 +1,52 @@
-Summary: Revert 11.14 openssl 3.0.0 usage
+Summary: Compile for libss-dev 1.1.1m
Author: bgstack15
-Date: 2021-09-22
-Version: 11.14
-Message: Zenju updated FreeFileSync 11.14 to use openssl 3.0.0 but my distros are not ready for that. By reverting to the 11.13 logic, the application can compile against openssl 1.1.1l as before.
+Date: 2022-01-04
+Version: 11.16
+Message: Compile on Devuan Ceres with libssl-dev_1.1.1m-1
diff -aur 11.13/zen/open_ssl.cpp 11.14/zen/open_ssl.cpp
---- 11.13/zen/open_ssl.cpp
-+++ 11.14/zen/open_ssl.cpp
-@@ -179,9 +179,9 @@ std::shared_ptr<EVP_PKEY> streamToKey(const std::string& keyStream, RsaStreamTyp
+--- 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
+@@ -201,7 +201,7 @@
//================================================================================
--using EvpToBioFunc = int (*)(BIO* bio, const EVP_PKEY* evp);
-+using EvpToBioFunc = int (*)(BIO* bio, EVP_PKEY* evp);
-
--std::string evpKeyToStream(const EVP_PKEY* evp, EvpToBioFunc evpToBio, const char* functionName) //throw SysError
-+std::string evpKeyToStream(EVP_PKEY* evp, EvpToBioFunc evpToBio, const char* functionName) //throw SysError
- {
- BIO* bio = ::BIO_new(BIO_s_mem());
- if (!bio)
-@@ -205,16 +205,16 @@ std::string evpKeyToStream(const EVP_PKEY* evp, EvpToBioFunc evpToBio, const cha
- }
-
-
--using RsaToBioFunc = int (*)(BIO* bp, const RSA* x);
-+using RsaToBioFunc = int (*)(BIO* bp, RSA* x);
-
--std::string evpKeyToStream(const EVP_PKEY* evp, RsaToBioFunc rsaToBio, const char* functionName) //throw SysError
-+std::string evpKeyToStream(EVP_PKEY* evp, RsaToBioFunc rsaToBio, const char* functionName) //throw SysError
- {
- BIO* bio = ::BIO_new(BIO_s_mem());
- if (!bio)
- throw SysError(formatLastOpenSSLError("BIO_new"));
- ZEN_ON_SCOPE_EXIT(::BIO_free_all(bio));
-
-- const RSA* rsa = ::EVP_PKEY_get0_RSA(evp); //unowned reference!
-+ RSA* rsa = ::EVP_PKEY_get0_RSA(evp); //unowned reference!
- if (!rsa)
- throw SysError(formatLastOpenSSLError("EVP_PKEY_get0_RSA"));
-
-@@ -236,33 +236,33 @@ std::string evpKeyToStream(const EVP_PKEY* evp, RsaToBioFunc rsaToBio, const cha
-
-
- //fix OpenSSL API inconsistencies:
--int PEM_write_bio_PrivateKey2(BIO* bio, const EVP_PKEY* key)
-+int PEM_write_bio_PrivateKey2(BIO* bio, EVP_PKEY* key)
- {
- return ::PEM_write_bio_PrivateKey(bio, //BIO* bp
-- key, //const EVP_PKEY* x
-+ key, //EVP_PKEY* x
- nullptr, //const EVP_CIPHER* enc
-- nullptr, //const unsigned char* kstr
-+ nullptr, //unsigned char* kstr
- 0, //int klen
- nullptr, //pem_password_cb* cb
- nullptr); //void* u
- }
-
--int PEM_write_bio_RSAPrivateKey2(BIO* bio, const RSA* rsa)
-+int PEM_write_bio_RSAPrivateKey2(BIO* bio, RSA* rsa)
- {
- return ::PEM_write_bio_RSAPrivateKey(bio, //BIO* bp
-- rsa, //const RSA* x
-+ rsa, //RSA* x
- nullptr, //const EVP_CIPHER* enc
-- nullptr, //const unsigned char* kstr
-+ nullptr, //unsigned char* kstr
- 0, //int klen
- nullptr, //pem_password_cb* cb
- nullptr); //void* u
- }
-
--int PEM_write_bio_RSAPublicKey2(BIO* bio, const RSA* rsa) { return ::PEM_write_bio_RSAPublicKey(bio, rsa); }
-+int PEM_write_bio_RSAPublicKey2(BIO* bio, RSA* rsa) { return ::PEM_write_bio_RSAPublicKey(bio, rsa); }
-
- //--------------------------------------------------------------------------------
-
-std::string keyToStream(const EVP_PKEY* evp, RsaStreamType streamType, bool publicKey) //throw SysError
+std::string keyToStream(EVP_PKEY* evp, RsaStreamType streamType, bool publicKey) //throw SysError
{
- switch (streamType)
- {
-@@ -571,15 +571,15 @@ public:
- if (sslError == SSL_ERROR_ZERO_RETURN)
- return 0; //EOF + close_notify alert
+ //assert(::EVP_PKEY_get_base_id(evp) == EVP_PKEY_RSA);
+
+@@ -210,7 +210,7 @@
+ case RsaStreamType::pkix:
+ {
+ //fix OpenSSL API inconsistencies:
+- auto PEM_write_bio_PrivateKey2 = [](BIO* bio, const EVP_PKEY* key)
++ auto PEM_write_bio_PrivateKey2 = [](BIO* bio, EVP_PKEY* key)
+ {
+ return ::PEM_write_bio_PrivateKey(bio, //BIO* bp
+ key, //const EVP_PKEY* x
+@@ -269,7 +269,7 @@
+ return {reinterpret_cast<const char*>(keyBuf), keyLen};
+ #else
+ //fix OpenSSL API inconsistencies:
+- auto PEM_write_bio_RSAPrivateKey2 = [](BIO* bio, const RSA* rsa)
++ auto PEM_write_bio_RSAPrivateKey2 = [](BIO* bio, RSA* rsa)
+ {
+ return ::PEM_write_bio_RSAPrivateKey(bio, //BIO* bp
+ rsa, //const RSA* x
+@@ -279,14 +279,14 @@
+ nullptr, //pem_password_cb* cb
+ nullptr); //void* u
+ };
+- auto PEM_write_bio_RSAPublicKey2 = [](BIO* bio, const RSA* rsa) { return ::PEM_write_bio_RSAPublicKey(bio, rsa); };
++ auto PEM_write_bio_RSAPublicKey2 = [](BIO* bio, RSA* rsa) { return ::PEM_write_bio_RSAPublicKey(bio, rsa); };
+
+ BIO* bio = ::BIO_new(BIO_s_mem());
+ if (!bio)
+ throw SysError(formatLastOpenSSLError("BIO_new"));
+ ZEN_ON_SCOPE_EXIT(::BIO_free_all(bio));
+
+- const RSA* rsa = ::EVP_PKEY_get0_RSA(evp); //unowned reference!
++ RSA* rsa = ::EVP_PKEY_get0_RSA(evp); //unowned reference!
+ if (!rsa)
+ throw SysError(formatLastOpenSSLError("EVP_PKEY_get0_RSA"));
--#if OPENSSL_VERSION_NUMBER >= 0x30000000L /*OpenSSL 3.0.0*/ || \
-- OPENSSL_VERSION_NUMBER == 0x1010105fL /*OpenSSL 1.1.1e*/
-+#if OPENSSL_VERSION_NUMBER == 0x1010105fL //OpenSSL 1.1.1e
- const auto ec = ::ERR_peek_last_error();
- if (sslError == SSL_ERROR_SSL && ERR_GET_REASON(ec) == SSL_R_UNEXPECTED_EOF_WHILE_READING) //EOF: only expected for HTTP/1.0
--#else //obsolete handling: https://github.com/openssl/openssl/issues/10880#issuecomment-575746226
-+ return 0;
-+#else //obsolete handling, at least in OpenSSL 1.1.1e (but valid again with OpenSSL 1.1.1f!)
-+ //https://github.com/openssl/openssl/issues/10880#issuecomment-575746226
- if ((sslError == SSL_ERROR_SYSCALL && ::ERR_peek_last_error() == 0)) //EOF: only expected for HTTP/1.0
--#endif
- return 0;
--
-+#endif
- throw SysError(formatLastOpenSSLError("SSL_read_ex") + L' ' + getSslErrorLiteral(sslError));
- }
- assert(bytesReceived > 0); //SSL_read_ex() considers EOF an error!
diff --git a/freefilesync/freefilesync.spec b/freefilesync/freefilesync.spec
index e5ec3ae..8dcc800 100644
--- a/freefilesync/freefilesync.spec
+++ b/freefilesync/freefilesync.spec
@@ -19,7 +19,7 @@
%define libssh2_name libssh2-%{name}
%endif
Name: freefilesync
-Version: 11.15
+Version: 11.16
Release: 1%{?dist}
Summary: A file synchronization utility
@@ -109,7 +109,10 @@ find . ! -type d \( -name '*.c' -o -name '*.cpp' -o -name '*.h' \) \
%patch10 -p1
%patch11 -p1
%patch12 -p1
+%if 0%{?fedora} < 36
+# Patch13 openssl is only for openssl < 3.0.0
%patch13 -p1
+%endif
%patch14 -p1
# custom build parameters for packaging application in rpm
@@ -214,6 +217,9 @@ update-mime-database -n ${_datadir}/mime 1>/dev/null 2>&1 & :
%ghost %config %attr(666, -, -) %{_datadir}/%{name}/GlobalSettings.xml
%changelog
+* Tue Jan 04 2021 B. Stack <bgstack15@gmail.com> - 11.16-1
+- version bump
+
* Mon Dec 06 2021 B. Stack <bgstack15@gmail.com> - 11.15-1
- version bump
diff --git a/newmoon/README.md b/newmoon/README.md
index 5553a8b..c011701 100644
--- a/newmoon/README.md
+++ b/newmoon/README.md
@@ -21,5 +21,9 @@ Credit goes to so many sources and inspirations:
* https://build.opensuse.org/package/view_file/network/palemoon/palemoon.spec?expand=1
* instructions for compiling on centos 6 and 7 http://developer.palemoon.org/Developer_Guide:Build_Instructions/Pale_Moon/Linux#head:CentOS_6
+Fold the debian changelog notes with:
+
+ :'<,'>!sed -r -e 's/^ */* /;' | fold -w 72 -s | sed -r -e 's/^([^\*])/ \1/;' -e 's/^\*/ */;'
+
# Differences from upstream
diff -aur palemoon newmoon | vi -
diff --git a/newmoon/_service b/newmoon/_service
new file mode 100644
index 0000000..7817a67
--- /dev/null
+++ b/newmoon/_service
@@ -0,0 +1,29 @@
+<services>
+ <service name="tar_scm">
+ <param name="scm">git</param>
+ <param name="url">https://gitlab.com/bgstack15/stackrpms.git</param>
+ <param name="subdir">newmoon/debian</param>
+ <param name="filename">debian</param>
+ <param name="revision">newmoon-bump</param>
+ <param name="version">_none_</param>
+ </service>
+ <service name="recompress">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="tar_scm">
+ <param name="scm">git</param>
+ <param name="url">https://gitlab.com/opensource-tracking/palemoon.git</param>
+ <param name="revision">db5ee3c1968212742b4ed8b9883069ea7b03f0e1</param>
+ <param name="version">_none_</param>
+ <param name="submodules">enable</param>
+ </service>
+ <service name="recompress">
+ <param name="file">*.tar</param>
+ <param name="compression">gz</param>
+ </service>
+ <service name="extract_file">
+ <param name="archive">*.tar.xz</param>
+ <param name="files">*/*.dsc</param>
+ </service>
+</services>
diff --git a/newmoon/debian/changelog b/newmoon/debian/changelog
index 725d65a..c421410 100644
--- a/newmoon/debian/changelog
+++ b/newmoon/debian/changelog
@@ -1,3 +1,34 @@
+newmoon (29.4.4-1+devuan) obs; urgency=medium
+
+ - This is a security update.
+ * Improved application library loading security. DiD
+ * Fixed an issue in JavaScript serialization. DiD
+ * Fixed a potential out-of-bounds issue in IndexedDB. DiD
+ * Fixed a potential issue in widget data handling code. DiD
+ * Fixed potentially exploitable crashes in handling truncated/corrupt
+ media files or streams.
+ * Fixed an issue in the DOM FileReader code.
+ * Updated NSS to 3.52.3 to address a security issue.
+ * Fixed the following security issues: CVE-2022-22736, CVE-2022-22741,
+ CVE-2021-4140, CVE-2022-22746, CVE-2022-22744 and CVE-2022-22747.
+ * Unified XUL Platform Mozilla Security Patch Summary: 8 fixed, 4 DiD,
+ 17 not applicable.
+
+ -- B. Stack <bgstack15@gmail.com> Thu, 20 Jan 2022 14:02:40 -0500
+
+newmoon (29.4.3-1+devuan) obs; urgency=medium
+
+ - This is a security update with a few extras.
+ * Restored the FUEL abstraction library again.
+ * Added some extra sanity checks to timers and text fragments. DiD
+ * Added a potential crash safeguard in program threading logic. DiD
+ * Fixed the following security issues: CVE-2021-43537, CVE-2021-43541,
+ CVE-2021-43536, CVE-2021-43545 and CVE-2021-43542.
+ * Unified XUL Platform Mozilla Security Patch Summary: 5 fixed, 3 DiD,
+ 10 not applicable.
+
+ -- B. Stack <bgstack15@gmail.com> Tue, 04 Jan 2022 12:54:49 -0500
+
newmoon (29.4.2-1+devuan) obs; urgency=medium
- This is a security update.
diff --git a/newmoon/debian/control b/newmoon/debian/control
index 7d167fd..29a09a3 100644
--- a/newmoon/debian/control
+++ b/newmoon/debian/control
@@ -14,7 +14,6 @@ Build-Depends: debhelper (>= 12),
libssl-dev,
libx11-xcb-dev,
libxt-dev,
- lsb-release,
mesa-common-dev,
pkg-config,
python2 (>= 2.7.18-2~) | python (>= 2.7),
diff --git a/newmoon/debian/newmoon+devuan.dsc b/newmoon/debian/newmoon+devuan.dsc
index 2a1ef76..53f3d03 100644
--- a/newmoon/debian/newmoon+devuan.dsc
+++ b/newmoon/debian/newmoon+devuan.dsc
@@ -2,11 +2,11 @@ Format: 3.0 (quilt)
Source: newmoon
Binary: newmoon
Architecture: any
-Version: 29.4.2-1+devuan
+Version: 29.4.3-1+devuan
Maintainer: B. Stack <bgstack15@gmail.com>
Homepage: http://www.palemoon.org/
Standards-Version: 4.1.4
-Build-Depends: debhelper (>= 12), gcc (<< 11) | gcc-10, g++ (<< 11) | g++-10, autoconf2.13, libasound2-dev, libdbus-glib-1-dev (>= 0.60), libgconf2-dev (>= 1.2.1), libgtk2.0-dev (>= 2.14), libssl-dev, libx11-xcb-dev, libxt-dev, mesa-common-dev, pkg-config, python2 (>= 2.7.18-2~) | python (>= 2.7), unzip, yasm (>= 1.1), zip, lsb-release
+Build-Depends: debhelper (>= 12), gcc (<< 11) | gcc-10, g++ (<< 11) | g++-10, autoconf2.13, libasound2-dev, libdbus-glib-1-dev (>= 0.60), libgconf2-dev (>= 1.2.1), libgtk2.0-dev (>= 2.14), libssl-dev, libx11-xcb-dev, libxt-dev, mesa-common-dev, pkg-config, python2 (>= 2.7.18-2~) | python (>= 2.7), unzip, yasm (>= 1.1), zip
Package-List:
newmoon deb web optional arch=any
Files:
diff --git a/newmoon/debian/patches/revert-mach-file.patch b/newmoon/debian/patches/revert-mach-file.patch
new file mode 100644
index 0000000..cda3786
--- /dev/null
+++ b/newmoon/debian/patches/revert-mach-file.patch
@@ -0,0 +1,71 @@
+Description: revert mach file to 29.4.2's to fix FTBFS
+Last-Update: 2021-11-12
+
+--- palemoon-29.4.2.1.orig/mach
++++ palemoon-29.4.2.1/mach
+@@ -1,63 +1,4 @@
+ #!/bin/sh
+
+-MCP_MACH=./platform/mach
+-MCP_GIT=`which git 2>/dev/null`
+-
+-if [ ! -f "$MCP_MACH" ]; then
+- printf "Error: There is no platform codebase.\n"
+- exit 1
+-fi
+-
+-MCP_APP=palemoon
+-MCP_VERSION=`cat ./$MCP_APP/config/version.txt`
+-
+-MCP_XZ=`which xz 2>/dev/null`
+-MCP_TAR_BASEDIR="s/^./$MCP_APP-source/"
+-MCP_TAR_FILENAME="$MCP_APP-$MCP_VERSION.source.tar.xz"
+-MCP_TAR_COMMAND="tar cfJv ../$MCP_TAR_FILENAME . --transform $MCP_TAR_BASEDIR --exclude-vcs --warning=no-file-changed"
+-MCP_TAR_EXCLUDES=(
+- "$MCP_APP/branding/beta"
+- "$MCP_APP/branding/unstable"
+- "platform/db/mork"
+- "platform/docs"
+- "platform/ldap"
+- "platform/libs/gmp-clearkey"
+- "platform/mailnews"
+- "platform/python/psutil/*.so"
+- "platform/python/psutil/*.pyd"
+- "platform/python/psutil/build"
+- "platform/xulrunner"
+- ".mozconfig"
+- ".gitattributes"
+- ".gitignore"
+- ".gitmodules"
+- "*.pyc"
+- "*.pyo"
+- "*.rej"
+- "*.orig"
+- "*.source.tar.xz"
+-)
+-
+-if [ "$1" == "source" ]; then
+- if [ -z "$MCP_XZ" ]; then
+- printf "Error: XZ was not found on the system. NOTE: This won't work on Windows.\n"
+- exit 1
+- fi
+-
+- for _value in "${MCP_TAR_EXCLUDES[@]}"; do
+- MCP_TAR_COMMAND+=" --exclude=${_value}"
+- done
+-
+- if [[ -n "$MCP_GIT" && -d "./.git" && -d "./platform/.git" ]]; then
+- printf "COMM SHA1: `"${MCP_GIT}" rev-parse --short HEAD 2>/dev/null`\n"
+- printf "GRE SHA1: `cd ./platform && "${MCP_GIT}" rev-parse --short HEAD 2>/dev/null`\n"
+- fi
+-
+- printf "Source Filename: $MCP_TAR_FILENAME\n\n"
+- read -r -s -p $'Press enter to continue...\n'
+- env XZ_OPTS=-9e ${MCP_TAR_COMMAND}
+-else
+- # We don't know what the command is but real-mach might so just pass
+- # all the args to it
+- $MCP_MACH $@
+-fi
++MACH_CMD=./platform/mach
++$MACH_CMD $@
diff --git a/newmoon/debian/patches/series b/newmoon/debian/patches/series
index baa043e..fd4cf3c 100644
--- a/newmoon/debian/patches/series
+++ b/newmoon/debian/patches/series
@@ -1,3 +1,6 @@
+# from stevepusser for 29.4.3:
+revert-mach-file.patch
+# stackrpms
small-icons.patch
pm-devuan.patch
pm-to-nm.patch
diff --git a/newmoon/debian/rules b/newmoon/debian/rules
index d93a6a0..89ddd3f 100755
--- a/newmoon/debian/rules
+++ b/newmoon/debian/rules
@@ -5,13 +5,13 @@ export SHELL=/bin/bash
## borrowed from stevepusser's logic
## Build with gcc-10 on releases where default gcc is 11
## If you enable this, then d/control needs lsb-release as a build dependency.
-distrelease := $(shell lsb_release -cs)
-ifeq ($(distrelease),$(filter $(distrelease),sid beowulf/ceres))
+#distrelease := $(shell lsb_release -cs)
+#ifeq ($(distrelease),$(filter $(distrelease),sid beowulf/ceres))
export CC=gcc-10
export CXX=g++-10
export CPP=cpp-10
export LD=gcc-10
-endif
+#endif
export MCFILE=debian/mozconfig
diff --git a/newmoon/newmoon.spec b/newmoon/newmoon.spec
index 9cf74a9..7bd8079 100644
--- a/newmoon/newmoon.spec
+++ b/newmoon/newmoon.spec
@@ -6,7 +6,7 @@
# git submodule | awk -v "name=platform" '$2 == name {gsub("-","",$1); print $1}'
#%%global submodule_platform_tag RELBASE_20210817
%global badname palemoon
-%global git_commit fd92034fe425320e6ee13e43b676c91a68969029
+%global git_commit db5ee3c1968212742b4ed8b9883069ea7b03f0e1
%global tarballdir %{badname}-%{git_commit}
# additional repos to get python27 and devtoolset-7
@@ -44,7 +44,7 @@ Name: newmoon
Name: newmoon
%endif
Summary: Newmoon web browser
-Version: 29.4.2
+Version: 29.4.4
Release: 1
Group: Networking/Web
@@ -59,9 +59,11 @@ Source4: newmoon-mimeinfo.xml
%if 0%{stackrpms_custom}
Source5: bgstack15-newmoon-prefs.js
Source6: bluemoon-icons.tgz
+Source7: nm-gcc-11.patch
Patch0: small-icons.patch
Patch1: pm-fedora.patch
Patch2: pm-to-nm.patch
+Patch3: revert-mach-file.patch
%endif
Packager: B. Stack <bgstack15@gmail.com>
@@ -123,6 +125,14 @@ sed -i -r -e '/enable-optimize/s/"\s*$/ -Wno-format-overflow"/' ./.mozconfig
%patch0 -p1
%patch1 -p1
%patch2 -p1
+%patch3 -p1
+__gccver="$( gcc --version 2>&1 | grep -oE '[0-9]*\.[0-9]\.[0-9]'| head -n1 | grep -oE '^[0-9]+' )"
+if test "${__gccver}" == "11" ; then
+ # For gcc 11
+ cd platform
+ patch -p1 < %{SOURCE7}
+ cd ..
+fi
! test -d %{badname}/branding/unofficial.unbuilt && {
cp -pr %{badname}/branding/unofficial %{badname}/branding/unofficial.unbuilt && \
@@ -300,7 +310,15 @@ update-mime-database -n ${_datadir}/mime 1>/dev/null 2>&1 & :
%doc AUTHORS LICENSE
%changelog
-* Tue Nov 11 2021 B. Stack <bgstack15@gmail.com> - 29.4.2-1
+* Thu Jan 20 2022 B. Stack <bgstack15@gmail.com> - 29.4.4-1
+- update version
+
+* Tue Jan 04 2022 B. Stack <bgstack15@gmail.com> - 29.4.3-1
+- update version
+- add revert-mach-file patch from stevepusser
+- add nm-gcc-11 patch from gentooman
+
+* Thu Nov 11 2021 B. Stack <bgstack15@gmail.com> - 29.4.2-1
- update version
* Wed Sep 15 2021 B. Stack <bgstack15@gmail.com> - 29.4.1-1
diff --git a/newmoon/nm-gcc-11.patch b/newmoon/nm-gcc-11.patch
new file mode 100644
index 0000000..9ab7f75
--- /dev/null
+++ b/newmoon/nm-gcc-11.patch
@@ -0,0 +1,1051 @@
+Summary: Make Palemoon compile with gcc 11
+Author: gentooman
+Linked from: https://repo.palemoon.org/mcp-graveyard/UXP/issues/1804
+Source: https://dpaste.com/AF96RDF74
+Date: 2021-08-10
+Message:
+ By adding the <limits> to all these files, we can avoid compilation errors on
+ the latest and greatest gcc.
+
+--- a/accessible/generic/HyperTextAccessible.cpp
++++ b/accessible/generic/HyperTextAccessible.cpp
+@@ -38,6 +38,8 @@
+ #include "mozilla/dom/Selection.h"
+ #include "mozilla/MathAlgorithms.h"
+ #include "gfxSkipChars.h"
++
++#include <limits>
+ #include <algorithm>
+
+ using namespace mozilla;
+
+--- a/dom/crypto/WebCryptoTask.cpp
++++ b/dom/crypto/WebCryptoTask.cpp
+@@ -3,6 +3,8 @@
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
++#include <limits>
++
+ #include "pk11pub.h"
+ #include "cryptohi.h"
+ #include "secerr.h"
+
+--- a/dom/media/gtest/TestIntervalSet.cpp
++++ b/dom/media/gtest/TestIntervalSet.cpp
+@@ -7,6 +7,8 @@
+ #include "mozilla/dom/TimeRanges.h"
+ #include "TimeUnits.h"
+ #include "Intervals.h"
++
++#include <limits>
+ #include <algorithm>
+ #include <vector>
+
+--- a/dom/media/webaudio/BiquadFilterNode.cpp
++++ b/dom/media/webaudio/BiquadFilterNode.cpp
+@@ -4,6 +4,8 @@
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
++#include <limits>
++
+ #include "BiquadFilterNode.h"
+ #include "AlignmentUtils.h"
+ #include "AudioNodeEngine.h"
+
+--- a/dom/media/webaudio/DelayBuffer.h
++++ b/dom/media/webaudio/DelayBuffer.h
+@@ -7,6 +7,8 @@
+ #ifndef DelayBuffer_h_
+ #define DelayBuffer_h_
+
++#include <limits>
++
+ #include "nsTArray.h"
+ #include "AudioBlock.h"
+ #include "AudioSegment.h"
+
+--- a/dom/media/webaudio/IIRFilterNode.cpp
++++ b/dom/media/webaudio/IIRFilterNode.cpp
+@@ -4,6 +4,8 @@
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
++#include <limits>
++
+ #include "IIRFilterNode.h"
+ #include "AlignmentUtils.h"
+ #include "AudioBlock.h"
+
+--- a/dom/media/webm/WebMDemuxer.cpp
++++ b/dom/media/webm/WebMDemuxer.cpp
+@@ -27,6 +27,7 @@
+ #include "prprf.h" // leaving it for PR_vsnprintf()
+ #include "mozilla/Sprintf.h"
+
++#include <limits>
+ #include <algorithm>
+ #include <numeric>
+ #include <stdint.h>
+
+--- a/dom/svg/SVGContentUtils.cpp
++++ b/dom/svg/SVGContentUtils.cpp
+@@ -31,6 +31,8 @@
+ #include "SVGPathData.h"
+ #include "SVGPathElement.h"
+
++#include <limits>
++
+ using namespace mozilla;
+ using namespace mozilla::dom;
+ using namespace mozilla::gfx;
+
+--- a/gfx/2d/BaseRect.h
++++ b/gfx/2d/BaseRect.h
+@@ -9,6 +9,7 @@
+ #include <algorithm>
+ #include <cmath>
+ #include <ostream>
++#include <limits>
+
+ #include "mozilla/Assertions.h"
+ #include "mozilla/FloatingPoint.h"
+
+--- a/gfx/2d/Matrix.h
++++ b/gfx/2d/Matrix.h
+@@ -13,6 +13,7 @@
+ #include "Quaternion.h"
+ #include <iosfwd>
+ #include <math.h>
++#include <limits>
+ #include "mozilla/Attributes.h"
+ #include "mozilla/DebugOnly.h"
+ #include "mozilla/FloatingPoint.h"
+
+--- a/gfx/2d/image_operations.h
++++ b/gfx/2d/image_operations.h
+@@ -29,6 +29,8 @@
+ #ifndef SKIA_EXT_IMAGE_OPERATIONS_H_
+ #define SKIA_EXT_IMAGE_OPERATIONS_H_
+
++#include <limits>
++
+ #include "skia/include/core/SkTypes.h"
+ #include "Types.h"
+ #include "convolver.h"
+
+--- a/gfx/angle/src/common/BitSetIterator.h
++++ b/gfx/angle/src/common/BitSetIterator.h
+@@ -10,8 +10,8 @@
+ #ifndef COMMON_BITSETITERATOR_H_
+ #define COMMON_BITSETITERATOR_H_
+
++#include <limits>
+ #include <stdint.h>
+-
+ #include <bitset>
+
+ #include "common/angleutils.h"
+
+--- a/gfx/angle/src/common/mathutil_unittest.cpp
++++ b/gfx/angle/src/common/mathutil_unittest.cpp
+@@ -9,6 +9,7 @@
+
+ #include "mathutil.h"
+
++#include <limits>
+ #include <gtest/gtest.h>
+
+ using namespace gl;
+
+--- a/gfx/angle/src/common/utilities.cpp
++++ b/gfx/angle/src/common/utilities.cpp
+@@ -10,6 +10,7 @@
+ #include "common/mathutil.h"
+ #include "common/platform.h"
+
++#include <limits>
+ #include <set>
+
+ #if defined(ANGLE_ENABLE_WINDOWS_STORE)
+
+--- a/gfx/angle/src/compiler/translator/CallDAG.cpp
++++ b/gfx/angle/src/compiler/translator/CallDAG.cpp
+@@ -8,6 +8,8 @@
+ // analyses, allows to efficiently traverse the functions in topological
+ // order.
+
++#include <limits>
++
+ #include "compiler/translator/CallDAG.h"
+ #include "compiler/translator/InfoSink.h"
+
+--- a/gfx/angle/src/libANGLE/BinaryStream_unittest.cpp
++++ b/gfx/angle/src/libANGLE/BinaryStream_unittest.cpp
+@@ -6,6 +6,7 @@
+
+ // BinaryStream_unittest.cpp: Unit tests of the binary stream classes.
+
++#include <limits>
+ #include <gtest/gtest.h>
+
+ #include "libANGLE/BinaryStream.h"
+
+--- a/gfx/angle/src/libANGLE/HandleAllocator.cpp
++++ b/gfx/angle/src/libANGLE/HandleAllocator.cpp
+@@ -9,6 +9,7 @@
+
+ #include "libANGLE/HandleAllocator.h"
+
++#include <limits>
+ #include <algorithm>
+
+ #include "common/debug.h"
+
+--- a/gfx/angle/src/libANGLE/HandleAllocator_unittest.cpp
++++ b/gfx/angle/src/libANGLE/HandleAllocator_unittest.cpp
+@@ -6,6 +6,8 @@
+ // Unit tests for HandleAllocator.
+ //
+
++#include <limits>
++
+ #include "gmock/gmock.h"
+ #include "gtest/gtest.h"
+
+--- a/gfx/angle/src/libANGLE/HandleRangeAllocator_unittest.cpp
++++ b/gfx/angle/src/libANGLE/HandleRangeAllocator_unittest.cpp
+@@ -6,9 +6,10 @@
+ // Unit tests for HandleRangeAllocator.
+ //
+
++#include <limits>
++
+ #include "gmock/gmock.h"
+ #include "gtest/gtest.h"
+-
+ #include "libANGLE/HandleRangeAllocator.h"
+
+ namespace
+
+--- a/gfx/angle/src/libANGLE/Program.cpp
++++ b/gfx/angle/src/libANGLE/Program.cpp
+@@ -9,6 +9,7 @@
+
+ #include "libANGLE/Program.h"
+
++#include <limits>
+ #include <algorithm>
+
+ #include "common/BitSetIterator.h"
+
+--- a/gfx/angle/src/libANGLE/queryconversions.cpp
++++ b/gfx/angle/src/libANGLE/queryconversions.cpp
+@@ -8,6 +8,7 @@
+
+ #include "libANGLE/queryconversions.h"
+
++#include <limits>
+ #include <vector>
+
+ #include "libANGLE/Context.h"
+
+--- a/gfx/angle/src/libANGLE/renderer/d3d/BufferD3D.cpp
++++ b/gfx/angle/src/libANGLE/renderer/d3d/BufferD3D.cpp
+@@ -6,6 +6,8 @@
+
+ // BufferD3D.cpp Defines common functionality between the Buffer9 and Buffer11 classes.
+
++#include <limits>
++
+ #include "libANGLE/renderer/d3d/BufferD3D.h"
+
+ #include "common/mathutil.h"
+
+--- a/gfx/angle/src/libANGLE/renderer/d3d/IndexDataManager.cpp
++++ b/gfx/angle/src/libANGLE/renderer/d3d/IndexDataManager.cpp
+@@ -7,6 +7,8 @@
+ // IndexDataManager.cpp: Defines the IndexDataManager, a class that
+ // runs the Buffer translation process for index buffers.
+
++#include <limits>
++
+ #include "libANGLE/renderer/d3d/IndexDataManager.h"
+
+ #include "common/utilities.h"
+
+--- a/gfx/angle/src/libANGLE/renderer/d3d/RendererD3D.cpp
++++ b/gfx/angle/src/libANGLE/renderer/d3d/RendererD3D.cpp
+@@ -6,6 +6,8 @@
+
+ // RendererD3D.cpp: Implementation of the base D3D Renderer.
+
++#include <limits>
++
+ #include "libANGLE/renderer/d3d/RendererD3D.h"
+
+ #include "common/debug.h"
+
+--- a/gfx/angle/src/libANGLE/renderer/d3d/VertexDataManager.cpp
++++ b/gfx/angle/src/libANGLE/renderer/d3d/VertexDataManager.cpp
+@@ -7,6 +7,8 @@
+ // VertexDataManager.h: Defines the VertexDataManager, a class that
+ // runs the Buffer translation process.
+
++#include <limits>
++
+ #include "libANGLE/renderer/d3d/VertexDataManager.h"
+
+ #include "common/BitSetIterator.h"
+
+--- a/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Buffer11.cpp
++++ b/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Buffer11.cpp
+@@ -8,6 +8,7 @@
+
+ #include "libANGLE/renderer/d3d/d3d11/Buffer11.h"
+
++#include <limits>
+ #include <memory>
+
+ #include "common/MemoryBuffer.h"
+
+--- a/gfx/angle/src/libANGLE/renderer/d3d/d3d11/InputLayoutCache.cpp
++++ b/gfx/angle/src/libANGLE/renderer/d3d/d3d11/InputLayoutCache.cpp
+@@ -7,6 +7,8 @@
+ // InputLayoutCache.cpp: Defines InputLayoutCache, a class that builds and caches
+ // D3D11 input layouts.
+
++#include <limits>
++
+ #include "libANGLE/renderer/d3d/d3d11/InputLayoutCache.h"
+
+ #include "common/BitSetIterator.h"
+
+--- a/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Query11.cpp
++++ b/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Query11.cpp
+@@ -8,6 +8,7 @@
+
+ #include "libANGLE/renderer/d3d/d3d11/Query11.h"
+
++#include <limits>
+ #include <GLES2/gl2ext.h>
+
+ #include "common/utilities.h"
+
+--- a/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp
++++ b/gfx/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp
+@@ -8,6 +8,7 @@
+
+ #include "libANGLE/renderer/d3d/d3d11/Renderer11.h"
+
++#include <limits>
+ #include <EGL/eglext.h>
+ #include <iomanip>
+ #include <sstream>
+
+--- a/gfx/angle/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp
++++ b/gfx/angle/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp
+@@ -6,6 +6,8 @@
+
+ // StateManager11.cpp: Defines a class for caching D3D11 state
+
++#include <limits>
++
+ #include "libANGLE/renderer/d3d/d3d11/StateManager11.h"
+
+ #include "common/BitSetIterator.h"
+
+--- a/gfx/angle/src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp
++++ b/gfx/angle/src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp
+@@ -10,6 +10,7 @@
+
+ #include "libANGLE/renderer/d3d/d3d11/TextureStorage11.h"
+
++#include <limits>
+ #include <tuple>
+
+ #include "common/MemoryBuffer.h"
+
+--- a/gfx/angle/src/libANGLE/renderer/d3d/d3d11/copyvertex.inl
++++ b/gfx/angle/src/libANGLE/renderer/d3d/d3d11/copyvertex.inl
+@@ -4,6 +4,8 @@
+ // found in the LICENSE file.
+ //
+
++#include <limits>
++
+ namespace rx
+ {
+
+--- a/gfx/angle/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
++++ b/gfx/angle/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
+@@ -9,6 +9,7 @@
+
+ #include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h"
+
++#include <limits>
+ #include <algorithm>
+
+ #include "common/debug.h"
+--- a/gfx/angle/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp
++++ b/gfx/angle/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp
+@@ -8,6 +8,7 @@
+
+ #include "libANGLE/renderer/d3d/d3d9/Renderer9.h"
+
++#include <limits>
+ #include <sstream>
+ #include <EGL/eglext.h>
+
+--- a/gfx/angle/src/libANGLE/renderer/d3d/d3d9/renderer9_utils.cpp
++++ b/gfx/angle/src/libANGLE/renderer/d3d/d3d9/renderer9_utils.cpp
+@@ -7,6 +7,8 @@
+ // renderer9_utils.cpp: Conversion functions and other utility routines
+ // specific to the D3D9 renderer.
+
++#include <limits>
++
+ #include "libANGLE/renderer/d3d/d3d9/renderer9_utils.h"
+
+ #include "common/mathutil.h"
+
+--- a/gfx/angle/src/libANGLE/validationES.cpp
++++ b/gfx/angle/src/libANGLE/validationES.cpp
+@@ -6,8 +6,9 @@
+
+ // validationES.h: Validation functions for generic OpenGL ES entry point parameters
+
+-#include "libANGLE/validationES.h"
++#include <limits>
+
++#include "libANGLE/validationES.h"
+ #include "libANGLE/validationES2.h"
+ #include "libANGLE/validationES3.h"
+ #include "libANGLE/Context.h"
+
+--- a/gfx/angle/src/libANGLE/validationES2.cpp
++++ b/gfx/angle/src/libANGLE/validationES2.cpp
+@@ -8,6 +8,7 @@
+
+ #include "libANGLE/validationES2.h"
+
++#include <limits>
+ #include <cstdint>
+
+ #include "libANGLE/validationES.h"
+
+--- a/gfx/angle/src/libANGLE/validationES3.cpp
++++ b/gfx/angle/src/libANGLE/validationES3.cpp
+@@ -6,8 +6,9 @@
+
+ // validationES3.cpp: Validation functions for OpenGL ES 3.0 entry point parameters
+
+-#include "libANGLE/validationES3.h"
++#include <limits>
+
++#include "libANGLE/validationES3.h"
+ #include "libANGLE/validationES.h"
+ #include "libANGLE/Context.h"
+ #include "libANGLE/Texture.h"
+
+--- a/gfx/angle/src/tests/compiler_tests/ConstantFolding_test.cpp
++++ b/gfx/angle/src/tests/compiler_tests/ConstantFolding_test.cpp
+@@ -7,6 +7,7 @@
+ // Tests for constant folding
+ //
+
++#include <limits>
+ #include <vector>
+
+ #include "angle_gl.h"
+
+--- a/gfx/angle/src/tests/gl_tests/BlendMinMaxTest.cpp
++++ b/gfx/angle/src/tests/gl_tests/BlendMinMaxTest.cpp
+@@ -4,6 +4,7 @@
+ // found in the LICENSE file.
+ //
+
++#include <limits>
+ #include "test_utils/ANGLETest.h"
+
+ using namespace angle;
+
+--- a/gfx/angle/src/tests/gl_tests/BufferDataTest.cpp
++++ b/gfx/angle/src/tests/gl_tests/BufferDataTest.cpp
+@@ -6,6 +6,7 @@
+
+ #include "test_utils/ANGLETest.h"
+
++#include <limits>
+ #include <stdint.h>
+
+ using namespace angle;
+
+--- a/gfx/angle/src/tests/gl_tests/DepthStencilFormatsTest.cpp
++++ b/gfx/angle/src/tests/gl_tests/DepthStencilFormatsTest.cpp
+@@ -4,6 +4,7 @@
+ // found in the LICENSE file.
+ //
+
++#include <limits>
+ #include "test_utils/ANGLETest.h"
+
+ using namespace angle;
+
+--- a/gfx/angle/src/tests/gl_tests/PathRenderingTest.cpp
++++ b/gfx/angle/src/tests/gl_tests/PathRenderingTest.cpp
+@@ -12,6 +12,7 @@
+
+ #include "common/angleutils.h"
+
++#include <limits>
+ #include <cmath>
+ #include <cstring>
+ #include <cstddef>
+
+--- a/gfx/angle/src/tests/gl_tests/UniformTest.cpp
++++ b/gfx/angle/src/tests/gl_tests/UniformTest.cpp
+@@ -6,6 +6,7 @@
+
+ #include "test_utils/ANGLETest.h"
+
++#include <limits>
+ #include <array>
+ #include <cmath>
+
+--- a/gfx/angle/src/tests/gl_tests/VertexAttributeTest.cpp
++++ b/gfx/angle/src/tests/gl_tests/VertexAttributeTest.cpp
+@@ -4,6 +4,7 @@
+ // found in the LICENSE file.
+ //
+
++#include <limits>
+ #include "test_utils/ANGLETest.h"
+
+ using namespace angle;
+
+--- a/gfx/angle/src/tests/perf_tests/BufferSubData.cpp
++++ b/gfx/angle/src/tests/perf_tests/BufferSubData.cpp
+@@ -7,6 +7,7 @@
+ // Performance test for ANGLE buffer updates.
+ //
+
++#include <limits>
+ #include <sstream>
+
+ #include "ANGLEPerfTest.h"
+
+--- a/gfx/angle/src/tests/perf_tests/DynamicPromotionPerfTest.cpp
++++ b/gfx/angle/src/tests/perf_tests/DynamicPromotionPerfTest.cpp
+@@ -9,6 +9,8 @@
+ // dynamic and static buffers quite differently.
+ //
+
++#include <limits>
++
+ #include "ANGLEPerfTest.h"
+ #include "random_utils.h"
+ #include "shader_utils.h"
+
+--- a/gfx/angle/src/tests/perf_tests/IndexConversionPerf.cpp
++++ b/gfx/angle/src/tests/perf_tests/IndexConversionPerf.cpp
+@@ -7,6 +7,7 @@
+ // Performance tests for ANGLE index conversion in D3D11.
+ //
+
++#include <limits>
+ #include <sstream>
+
+ #include "ANGLEPerfTest.h"
+
+--- a/gfx/layers/client/TiledContentClient.cpp
++++ b/gfx/layers/client/TiledContentClient.cpp
+@@ -3,6 +3,7 @@
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
++#include <limits>
+ #include "mozilla/layers/TiledContentClient.h"
+ #include <math.h> // for ceil, ceilf, floor
+ #include <algorithm>
+
+--- a/gfx/ots/src/hdmx.cc
++++ b/gfx/ots/src/hdmx.cc
+@@ -2,6 +2,8 @@
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+
++#include <limits>
++
+ #include "hdmx.h"
+ #include "head.h"
+ #include "maxp.h"
+
+--- a/gfx/ots/src/kern.cc
++++ b/gfx/ots/src/kern.cc
+@@ -2,6 +2,7 @@
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+
++#include <limits>
+ #include "kern.h"
+
+ // kern - Kerning
+
+--- a/gfx/ots/src/name.cc
++++ b/gfx/ots/src/name.cc
+@@ -4,6 +4,7 @@
+
+ #include "name.h"
+
++#include <limits>
+ #include <algorithm>
+ #include <cstring>
+
+--- a/gfx/skia/skia/include/core/SkPathRef.h
++++ b/gfx/skia/skia/include/core/SkPathRef.h
+@@ -18,6 +18,8 @@
+ #include "SkRefCnt.h"
+ #include "../private/SkTemplates.h"
+
++#include <limits>
++
+ class SkRBuffer;
+ class SkWBuffer;
+
+--- a/gfx/skia/skia/include/private/SkTDArray.h
++++ b/gfx/skia/skia/include/private/SkTDArray.h
+@@ -10,6 +10,8 @@
+ #ifndef SkTDArray_DEFINED
+ #define SkTDArray_DEFINED
+
++#include <limits>
++
+ #include "SkTypes.h"
+
+ template <typename T> class SkTDArray {
+
+--- a/gfx/skia/skia/src/core/SkColorSpace_ICC.cpp
++++ b/gfx/skia/skia/src/core/SkColorSpace_ICC.cpp
+@@ -5,6 +5,8 @@
+ * found in the LICENSE file.
+ */
+
++#include <limits>
++
+ #include "SkColorSpace.h"
+ #include "SkColorSpace_Base.h"
+ #include "SkColorSpacePriv.h"
+
+--- a/gfx/skia/skia/src/core/SkEdgeBuilder.cpp
++++ b/gfx/skia/skia/src/core/SkEdgeBuilder.cpp
+@@ -4,6 +4,9 @@
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
++
++#include <limits>
++
+ #include "SkEdgeBuilder.h"
+ #include "SkPath.h"
+ #include "SkEdge.h"
+
+--- a/gfx/skia/skia/src/core/SkMask.cpp
++++ b/gfx/skia/skia/src/core/SkMask.cpp
+@@ -5,6 +5,7 @@
+ * found in the LICENSE file.
+ */
+
++#include <limits>
+ #include "SkMask.h"
+
+ //#define TRACK_SKMASK_LIFETIME
+
+--- a/gfx/skia/skia/src/sksl/SkSLUtil.h
++++ b/gfx/skia/skia/src/sksl/SkSLUtil.h
+@@ -8,6 +8,7 @@
+ #ifndef SKSL_UTIL
+ #define SKSL_UTIL
+
++#include <limits>
+ #include <iomanip>
+ #include <string>
+ #include <sstream>
+
+--- a/gfx/thebes/gfxUserFontSet.cpp
++++ b/gfx/thebes/gfxUserFontSet.cpp
+@@ -24,6 +24,8 @@
+ #include "opentype-sanitiser.h"
+ #include "ots-memory-stream.h"
+
++#include <limits>
++
+ using namespace mozilla;
+
+ mozilla::LogModule*
+
+--- a/intl/unicharutil/util/ICUUtils.cpp
++++ b/intl/unicharutil/util/ICUUtils.cpp
+@@ -4,6 +4,8 @@
+
+ #ifdef MOZILLA_INTERNAL_API
+
++#include <limits>
++
+ #include "ICUUtils.h"
+ #include "mozilla/Preferences.h"
+ #include "nsIContent.h"
+
+--- a/ipc/chromium/src/chrome/common/ipc_channel_win.cc
++++ b/ipc/chromium/src/chrome/common/ipc_channel_win.cc
+@@ -5,6 +5,7 @@
+
+ #include "chrome/common/ipc_channel_win.h"
+
++#include <limits>
+ #include <windows.h>
+ #include <sstream>
+
+--- a/ipc/glue/Faulty.cpp
++++ b/ipc/glue/Faulty.cpp
+@@ -12,6 +12,7 @@
+ #include "prenv.h"
+ #include "mozilla/TypeTraits.h"
+ #include <cmath>
++#include <limits>
+ #include <climits>
+
+ namespace mozilla {
+
+--- a/ipc/glue/GeckoChildProcessHost.cpp
++++ b/ipc/glue/GeckoChildProcessHost.cpp
+@@ -43,6 +43,8 @@
+ #include "nsNativeCharsetUtils.h"
+ #include "nscore.h" // for NS_FREE_PERMANENT_DATA
+
++#include <limits>
++
+ using mozilla::MonitorAutoLock;
+ using mozilla::ipc::GeckoChildProcessHost;
+
+
+--- a/js/src/jit/ExecutableAllocator.cpp
++++ b/js/src/jit/ExecutableAllocator.cpp
+@@ -24,8 +24,9 @@
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include "jit/ExecutableAllocator.h"
++#include <limits>
+
++#include "jit/ExecutableAllocator.h"
+ #include "jit/JitCompartment.h"
+ #include "js/MemoryMetrics.h"
+
+--- a/js/src/new-regexp/regexp-bytecode-peephole.cc
++++ b/js/src/new-regexp/regexp-bytecode-peephole.cc
+@@ -2,8 +2,9 @@
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+
+-#include "new-regexp/regexp-bytecode-peephole.h"
++#include <limits>
+
++#include "new-regexp/regexp-bytecode-peephole.h"
+ #include "new-regexp/regexp-bytecodes.h"
+
+ namespace v8 {
+
+--- a/js/src/new-regexp/util/vector.h
++++ b/js/src/new-regexp/util/vector.h
+@@ -5,6 +5,7 @@
+ #ifndef V8_UTIL_VECTOR_H_
+ #define V8_UTIL_VECTOR_H_
+
++#include <limits>
+ #include <algorithm>
+ #include <cstring>
+ #include <iterator>
+
+--- a/js/src/vm/ArrayBufferObject.h
++++ b/js/src/vm/ArrayBufferObject.h
+@@ -6,6 +6,8 @@
+ #ifndef vm_ArrayBufferObject_h
+ #define vm_ArrayBufferObject_h
+
++#include <limits>
++
+ #include "mozilla/Maybe.h"
+
+ #include "jsobj.h"
+
+--- a/layout/generic/nsViewportFrame.cpp
++++ b/layout/generic/nsViewportFrame.cpp
+@@ -18,6 +18,8 @@
+ #include "nsIMozBrowserFrame.h"
+ #include "nsPlaceholderFrame.h"
+
++#include <limits>
++
+ using namespace mozilla;
+ typedef nsAbsoluteContainingBlock::AbsPosReflowFlags AbsPosReflowFlags;
+
+--- a/layout/style/CounterStyleManager.cpp
++++ b/layout/style/CounterStyleManager.cpp
+@@ -20,6 +20,8 @@
+ #include "mozilla/StyleSetHandle.h"
+ #include "mozilla/StyleSetHandleInlines.h"
+
++#include <limits>
++
+ namespace mozilla {
+
+ struct AdditiveSymbol
+
+--- a/layout/style/StyleAnimationValue.cpp
++++ b/layout/style/StyleAnimationValue.cpp
+@@ -33,6 +33,8 @@
+ #include "nsIFrame.h"
+ #include "gfx2DGlue.h"
+
++#include <limits>
++
+ using namespace mozilla;
+ using namespace mozilla::css;
+ using namespace mozilla::gfx;
+
+--- a/layout/style/nsStyleContext.cpp
++++ b/layout/style/nsStyleContext.cpp
+@@ -43,6 +43,8 @@
+ // those in ServoBindings.h.
+ #include "mozilla/ServoBindings.h"
+
++#include <limits>
++
+ using namespace mozilla;
+
+ //----------------------------------------------------------------------
+
+--- a/layout/svg/SVGTextFrame.h
++++ b/layout/svg/SVGTextFrame.h
+@@ -17,6 +17,8 @@
+ #include "nsStubMutationObserver.h"
+ #include "nsSVGContainerFrame.h"
+
++#include <limits>
++
+ class gfxContext;
+ class nsDisplaySVGText;
+ class SVGTextFrame;
+
+--- a/mailnews/import/becky/src/nsBeckyAddressBooks.cpp
++++ b/mailnews/import/becky/src/nsBeckyAddressBooks.cpp
+@@ -2,6 +2,8 @@
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
++#include <limits>
++
+ #include "nsCOMPtr.h"
+ #include "nsComponentManagerUtils.h"
+ #include "nsServiceManagerUtils.h"
+
+--- a/media/webrtc/trunk/testing/gtest/src/gtest.cc
++++ b/media/webrtc/trunk/testing/gtest/src/gtest.cc
+@@ -43,6 +43,7 @@
+ #include <wchar.h>
+ #include <wctype.h>
+
++#include <limits>
+ #include <algorithm>
+ #include <ostream> // NOLINT
+ #include <sstream>
+
+--- a/media/webrtc/trunk/webrtc/base/bitbuffer_unittest.cc
++++ b/media/webrtc/trunk/webrtc/base/bitbuffer_unittest.cc
+@@ -8,6 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <limits>
++
+ #include "webrtc/base/arraysize.h"
+ #include "webrtc/base/bitbuffer.h"
+ #include "webrtc/base/bytebuffer.h"
+
+--- a/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.cc
++++ b/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.cc
+@@ -8,6 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <limits>
++
+ #include "webrtc/modules/audio_coding/codecs/opus/interface/audio_encoder_opus.h"
+
+ #include "webrtc/base/checks.h"
+
+--- a/media/webrtc/trunk/webrtc/modules/audio_device/android/audio_device_unittest.cc
++++ b/media/webrtc/trunk/webrtc/modules/audio_device/android/audio_device_unittest.cc
+@@ -8,6 +8,7 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <limits>
+ #include <list>
+ #include <numeric>
+
+--- a/media/webrtc/trunk/webrtc/modules/audio_processing/transient/transient_suppressor.cc
++++ b/media/webrtc/trunk/webrtc/modules/audio_processing/transient/transient_suppressor.cc
+@@ -10,6 +10,7 @@
+
+ #include "webrtc/modules/audio_processing/transient/transient_suppressor.h"
+
++#include <limits>
+ #include <math.h>
+ #include <string.h>
+ #include <cmath>
+
+--- a/media/webrtc/trunk/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.cc
++++ b/media/webrtc/trunk/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.cc
+@@ -9,6 +9,7 @@
+ */
+ #include "webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.h"
+
++#include <limits>
+ #include <algorithm>
+ #include <utility>
+
+--- a/media/webrtc/trunk/webrtc/video_engine/test/auto_test/source/vie_autotest_custom_call.cc
++++ b/media/webrtc/trunk/webrtc/video_engine/test/auto_test/source/vie_autotest_custom_call.cc
+@@ -9,6 +9,7 @@
+ */
+
+ #include <limits.h>
++#include <limits>
+ #include <stdarg.h>
+ #include <stdio.h>
+
+--- a/mfbt/IntegerTypeTraits.h
++++ b/mfbt/IntegerTypeTraits.h
+@@ -8,6 +8,8 @@
+ #ifndef mozilla_IntegerTypeTraits_h
+ #define mozilla_IntegerTypeTraits_h
+
++#include <limits>
++
+ #include "mozilla/TypeTraits.h"
+ #include <stdint.h>
+
+--- a/mfbt/decimal/Decimal.cpp
++++ b/mfbt/decimal/Decimal.cpp
+@@ -28,6 +28,8 @@
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
++#include <limits>
++
+ #include "Decimal.h"
+ #include "moz-decimal-utils.h"
+
+--- a/modules/woff2/src/normalize.cc
++++ b/modules/woff2/src/normalize.cc
+@@ -8,6 +8,7 @@
+
+ #include "./normalize.h"
+
++#include <limits>
+ #include <inttypes.h>
+ #include <stddef.h>
+
+--- a/netwerk/base/nsIOService.cpp
++++ b/netwerk/base/nsIOService.cpp
+@@ -4,6 +4,8 @@
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
++#include <limits>
++
+ #include "mozilla/ArrayUtils.h"
+ #include "mozilla/DebugOnly.h"
+
+--- a/netwerk/base/nsStandardURL.cpp
++++ b/netwerk/base/nsStandardURL.cpp
+@@ -4,6 +4,8 @@
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
++#include <limits>
++
+ #include "IPCMessageUtils.h"
+
+ #include "nsStandardURL.h"
+
+--- a/netwerk/base/nsURLParsers.cpp
++++ b/netwerk/base/nsURLParsers.cpp
+@@ -4,6 +4,7 @@
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+ #include <string.h>
++#include <limits>
+
+ #include "mozilla/RangedPtr.h"
+
+--- a/security/manager/ssl/TransportSecurityInfo.cpp
++++ b/security/manager/ssl/TransportSecurityInfo.cpp
+@@ -4,6 +4,7 @@
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
++#include <limits>
+ #include "TransportSecurityInfo.h"
+
+ #include "PSMRunnable.h"
+
+--- a/security/nss/gtests/google_test/gtest/test/googletest-death-test-test.cc
++++ b/security/nss/gtests/google_test/gtest/test/googletest-death-test-test.cc
+@@ -30,6 +30,8 @@
+ //
+ // Tests for death tests.
+
++#include <limits>
++
+ #include "gtest/gtest-death-test.h"
+ #include "gtest/gtest.h"
+ #include "gtest/internal/gtest-filepath.h"
+
+--- a/testing/gtest/gtest/src/gtest.cc
++++ b/testing/gtest/gtest/src/gtest.cc
+@@ -42,6 +42,7 @@
+ #include <wchar.h>
+ #include <wctype.h>
+
++#include <limits>
+ #include <algorithm>
+ #include <ostream> // NOLINT
+ #include <sstream>
+
+--- a/toolkit/components/telemetry/Telemetry.cpp
++++ b/toolkit/components/telemetry/Telemetry.cpp
+@@ -3,8 +3,8 @@
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
++#include <limits>
+ #include <algorithm>
+-
+ #include <fstream>
+
+ #include <prio.h>
+
+--- a/toolkit/components/url-classifier/RiceDeltaDecoder.cpp
++++ b/toolkit/components/url-classifier/RiceDeltaDecoder.cpp
+@@ -2,6 +2,7 @@
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
++#include <limits>
+ #include "RiceDeltaDecoder.h"
+
+ namespace {
diff --git a/newmoon/revert-mach-file.patch b/newmoon/revert-mach-file.patch
new file mode 100644
index 0000000..cda3786
--- /dev/null
+++ b/newmoon/revert-mach-file.patch
@@ -0,0 +1,71 @@
+Description: revert mach file to 29.4.2's to fix FTBFS
+Last-Update: 2021-11-12
+
+--- palemoon-29.4.2.1.orig/mach
++++ palemoon-29.4.2.1/mach
+@@ -1,63 +1,4 @@
+ #!/bin/sh
+
+-MCP_MACH=./platform/mach
+-MCP_GIT=`which git 2>/dev/null`
+-
+-if [ ! -f "$MCP_MACH" ]; then
+- printf "Error: There is no platform codebase.\n"
+- exit 1
+-fi
+-
+-MCP_APP=palemoon
+-MCP_VERSION=`cat ./$MCP_APP/config/version.txt`
+-
+-MCP_XZ=`which xz 2>/dev/null`
+-MCP_TAR_BASEDIR="s/^./$MCP_APP-source/"
+-MCP_TAR_FILENAME="$MCP_APP-$MCP_VERSION.source.tar.xz"
+-MCP_TAR_COMMAND="tar cfJv ../$MCP_TAR_FILENAME . --transform $MCP_TAR_BASEDIR --exclude-vcs --warning=no-file-changed"
+-MCP_TAR_EXCLUDES=(
+- "$MCP_APP/branding/beta"
+- "$MCP_APP/branding/unstable"
+- "platform/db/mork"
+- "platform/docs"
+- "platform/ldap"
+- "platform/libs/gmp-clearkey"
+- "platform/mailnews"
+- "platform/python/psutil/*.so"
+- "platform/python/psutil/*.pyd"
+- "platform/python/psutil/build"
+- "platform/xulrunner"
+- ".mozconfig"
+- ".gitattributes"
+- ".gitignore"
+- ".gitmodules"
+- "*.pyc"
+- "*.pyo"
+- "*.rej"
+- "*.orig"
+- "*.source.tar.xz"
+-)
+-
+-if [ "$1" == "source" ]; then
+- if [ -z "$MCP_XZ" ]; then
+- printf "Error: XZ was not found on the system. NOTE: This won't work on Windows.\n"
+- exit 1
+- fi
+-
+- for _value in "${MCP_TAR_EXCLUDES[@]}"; do
+- MCP_TAR_COMMAND+=" --exclude=${_value}"
+- done
+-
+- if [[ -n "$MCP_GIT" && -d "./.git" && -d "./platform/.git" ]]; then
+- printf "COMM SHA1: `"${MCP_GIT}" rev-parse --short HEAD 2>/dev/null`\n"
+- printf "GRE SHA1: `cd ./platform && "${MCP_GIT}" rev-parse --short HEAD 2>/dev/null`\n"
+- fi
+-
+- printf "Source Filename: $MCP_TAR_FILENAME\n\n"
+- read -r -s -p $'Press enter to continue...\n'
+- env XZ_OPTS=-9e ${MCP_TAR_COMMAND}
+-else
+- # We don't know what the command is but real-mach might so just pass
+- # all the args to it
+- $MCP_MACH $@
+-fi
++MACH_CMD=./platform/mach
++$MACH_CMD $@
diff --git a/scite-fedora/scite.spec b/scite-fedora/scite.spec
index c22d58d..dfa7d7b 100644
--- a/scite-fedora/scite.spec
+++ b/scite-fedora/scite.spec
@@ -1,5 +1,5 @@
# el is on 3.x, fc is on 5.x
-%global pkgversion 5.1.4
+%global pkgversion 5.1.5
%define tarballversion %( echo %pkgversion | tr -d '.' )
%global __brp_check_rpaths %{nil}
@@ -110,6 +110,9 @@ desktop-file-install --delete-original \
%{_libdir}/*
%changelog
+* Wed Dec 08 2021 B. Stack <bgstack15@gmail.com> - 5.1.5-1/3.7.6-1
+- Update version
+
* Mon Nov 08 2021 B. Stack <bgstack15@gmail.com> - 5.1.4-1/3.7.6-1
- Update version
- set __brp_check_rpaths to ignore hardcoded /usr/lib64 rpath on SciTE binary
bgstack15