Rebase to 115
This commit is contained in:
parent
2c95a5e747
commit
0522d97f2c
2
.gitignore
vendored
2
.gitignore
vendored
@ -406,3 +406,5 @@ thunderbird-langpacks-3.1.2-20100803.tar.bz2
|
||||
/thunderbird-langpacks-102.12.0-20230605.tar.xz
|
||||
/thunderbird-102.13.0.source.tar.xz
|
||||
/thunderbird-langpacks-102.13.0-20230707.tar.xz
|
||||
/thunderbird-langpacks-115.0.1-20230720.tar.xz
|
||||
/thunderbird-115.0.1.source.tar.xz
|
||||
|
163
D165150.diff
163
D165150.diff
@ -1,163 +0,0 @@
|
||||
diff -up thunderbird-102.6.0/widget/gtk/WidgetUtilsGtk.cpp.D165150 thunderbird-102.6.0/widget/gtk/WidgetUtilsGtk.cpp
|
||||
--- thunderbird-102.6.0/widget/gtk/WidgetUtilsGtk.cpp.D165150 2022-12-12 22:37:39.000000000 +0100
|
||||
+++ thunderbird-102.6.0/widget/gtk/WidgetUtilsGtk.cpp 2022-12-20 14:43:29.742482848 +0100
|
||||
@@ -9,11 +9,20 @@
|
||||
#include "mozilla/UniquePtr.h"
|
||||
#include "nsReadableUtils.h"
|
||||
#include "nsWindow.h"
|
||||
+#include "nsGtkKeyUtils.h"
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include <dlfcn.h>
|
||||
#include <glib.h>
|
||||
|
||||
+#ifdef MOZ_LOGGING
|
||||
+# include "mozilla/Logging.h"
|
||||
+extern mozilla::LazyLogModule gWidgetLog;
|
||||
+# define LOGW(...) MOZ_LOG(gWidgetLog, mozilla::LogLevel::Debug, (__VA_ARGS__))
|
||||
+#else
|
||||
+# define LOGW(...)
|
||||
+#endif /* MOZ_LOGGING */
|
||||
+
|
||||
namespace mozilla::widget {
|
||||
|
||||
int32_t WidgetUtilsGTK::IsTouchDeviceSupportPresent() {
|
||||
@@ -165,4 +174,108 @@ nsTArray<nsCString> ParseTextURIList(con
|
||||
return result;
|
||||
}
|
||||
|
||||
+#ifdef MOZ_WAYLAND
|
||||
+static gboolean token_failed(gpointer aData);
|
||||
+
|
||||
+class XDGTokenRequest {
|
||||
+ public:
|
||||
+ void SetTokenID(const char* aTokenID) {
|
||||
+ mTransferPromise->Resolve(aTokenID, __func__);
|
||||
+ }
|
||||
+ void Cancel() {
|
||||
+ mTransferPromise->Reject(false, __func__);
|
||||
+ mActivationTimeoutID = 0;
|
||||
+ }
|
||||
+
|
||||
+ XDGTokenRequest(xdg_activation_token_v1* aXdgToken,
|
||||
+ RefPtr<FocusRequestPromise::Private> aTransferPromise)
|
||||
+ : mXdgToken(aXdgToken), mTransferPromise(aTransferPromise) {
|
||||
+ mActivationTimeoutID =
|
||||
+ g_timeout_add(sActivationTimeout, token_failed, this);
|
||||
+ }
|
||||
+ ~XDGTokenRequest() {
|
||||
+ if (mXdgToken) {
|
||||
+ xdg_activation_token_v1_destroy(mXdgToken);
|
||||
+ }
|
||||
+ if (mActivationTimeoutID) {
|
||||
+ g_source_remove(mActivationTimeoutID);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ private:
|
||||
+ xdg_activation_token_v1* mXdgToken;
|
||||
+ RefPtr<FocusRequestPromise::Private> mTransferPromise;
|
||||
+ guint mActivationTimeoutID;
|
||||
+ // Reject FocusRequestPromise if we don't get XDG token in 0.5 sec.
|
||||
+ const int sActivationTimeout = 500;
|
||||
+};
|
||||
+
|
||||
+// Failed to get token in time
|
||||
+static gboolean token_failed(gpointer data) {
|
||||
+ UniquePtr<XDGTokenRequest> request(static_cast<XDGTokenRequest*>(data));
|
||||
+ request->Cancel();
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
+// We've got activation token from Wayland compositor so it's time to use it.
|
||||
+static void token_done(gpointer data, struct xdg_activation_token_v1* provider,
|
||||
+ const char* tokenID) {
|
||||
+ UniquePtr<XDGTokenRequest> request(static_cast<XDGTokenRequest*>(data));
|
||||
+ request->SetTokenID(tokenID);
|
||||
+}
|
||||
+
|
||||
+static const struct xdg_activation_token_v1_listener token_listener = {
|
||||
+ token_done,
|
||||
+};
|
||||
+
|
||||
+RefPtr<FocusRequestPromise> RequestWaylandFocus() {
|
||||
+ RefPtr<nsWindow> sourceWindow = nsWindow::GetFocusedWindow();
|
||||
+ if (!sourceWindow) {
|
||||
+ return nullptr;
|
||||
+ }
|
||||
+
|
||||
+ RefPtr<nsWaylandDisplay> display = WaylandDisplayGet();
|
||||
+ xdg_activation_v1* xdg_activation = display->GetXdgActivation();
|
||||
+ if (!xdg_activation) {
|
||||
+ return nullptr;
|
||||
+ }
|
||||
+
|
||||
+ wl_surface* focusSurface;
|
||||
+ uint32_t focusSerial;
|
||||
+ KeymapWrapper::GetFocusInfo(&focusSurface, &focusSerial);
|
||||
+ if (!focusSurface) {
|
||||
+ return nullptr;
|
||||
+ }
|
||||
+
|
||||
+ GdkWindow* gdkWindow = gtk_widget_get_window(sourceWindow->GetGtkWidget());
|
||||
+ if (!gdkWindow) {
|
||||
+ return nullptr;
|
||||
+ }
|
||||
+ wl_surface* surface = gdk_wayland_window_get_wl_surface(gdkWindow);
|
||||
+ if (focusSurface != surface) {
|
||||
+ return nullptr;
|
||||
+ }
|
||||
+
|
||||
+ RefPtr<FocusRequestPromise::Private> transferPromise =
|
||||
+ new FocusRequestPromise::Private(__func__);
|
||||
+
|
||||
+ xdg_activation_token_v1* aXdgToken =
|
||||
+ xdg_activation_v1_get_activation_token(xdg_activation);
|
||||
+ xdg_activation_token_v1_add_listener(
|
||||
+ aXdgToken, &token_listener,
|
||||
+ new XDGTokenRequest(aXdgToken, transferPromise));
|
||||
+ xdg_activation_token_v1_set_serial(aXdgToken, focusSerial,
|
||||
+ KeymapWrapper::GetSeat());
|
||||
+ xdg_activation_token_v1_set_surface(aXdgToken, focusSurface);
|
||||
+ xdg_activation_token_v1_commit(aXdgToken);
|
||||
+
|
||||
+ return transferPromise.forget();
|
||||
+}
|
||||
+
|
||||
+bool CanTransferWaylandFocus() {
|
||||
+ return GdkIsWaylandDisplay() && nsWindow::GetFocusedWindow() &&
|
||||
+ !nsWindow::GetFocusedWindow()->IsDestroyed();
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
} // namespace mozilla::widget
|
||||
diff -up thunderbird-102.6.0/widget/gtk/WidgetUtilsGtk.h.D165150 thunderbird-102.6.0/widget/gtk/WidgetUtilsGtk.h
|
||||
--- thunderbird-102.6.0/widget/gtk/WidgetUtilsGtk.h.D165150 2022-12-12 22:37:41.000000000 +0100
|
||||
+++ thunderbird-102.6.0/widget/gtk/WidgetUtilsGtk.h 2022-12-20 13:44:15.343638003 +0100
|
||||
@@ -8,11 +8,13 @@
|
||||
|
||||
#include "nsString.h"
|
||||
#include "nsTArray.h"
|
||||
+#include "mozilla/MozPromise.h"
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
typedef struct _GdkDisplay GdkDisplay;
|
||||
typedef struct _GdkDevice GdkDevice;
|
||||
+class nsWindow;
|
||||
|
||||
namespace mozilla::widget {
|
||||
|
||||
@@ -51,6 +53,12 @@ bool ShouldUsePortal(PortalKind);
|
||||
// Parse text/uri-list
|
||||
nsTArray<nsCString> ParseTextURIList(const nsACString& data);
|
||||
|
||||
+#ifdef MOZ_WAYLAND
|
||||
+using FocusRequestPromise = mozilla::MozPromise<nsCString, bool, false>;
|
||||
+bool CanTransferWaylandFocus();
|
||||
+RefPtr<FocusRequestPromise> RequestWaylandFocus();
|
||||
+#endif
|
||||
+
|
||||
} // namespace mozilla::widget
|
||||
|
||||
#endif // WidgetUtilsGtk_h__
|
117
D165152.diff
117
D165152.diff
@ -1,117 +0,0 @@
|
||||
diff -up thunderbird-102.6.0/toolkit/system/gnome/nsGIOService.cpp.D165152 thunderbird-102.6.0/toolkit/system/gnome/nsGIOService.cpp
|
||||
--- thunderbird-102.6.0/toolkit/system/gnome/nsGIOService.cpp.D165152 2022-12-12 22:37:40.000000000 +0100
|
||||
+++ thunderbird-102.6.0/toolkit/system/gnome/nsGIOService.cpp 2022-12-20 13:41:17.337477022 +0100
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "mozilla/WidgetUtilsGtk.h"
|
||||
#include "mozilla/StaticPrefs_widget.h"
|
||||
#include "mozilla/net/DNS.h"
|
||||
+#include "prenv.h"
|
||||
|
||||
#include <gio/gio.h>
|
||||
#include <gtk/gtk.h>
|
||||
@@ -224,9 +225,7 @@ static RefPtr<GAppLaunchContext> GetLaun
|
||||
return context;
|
||||
}
|
||||
|
||||
-NS_IMETHODIMP
|
||||
-nsGIOMimeApp::LaunchWithURI(nsIURI* aUri,
|
||||
- mozilla::dom::BrowsingContext* aBrowsingContext) {
|
||||
+static NS_IMETHODIMP LaunchWithURIImpl(RefPtr<GAppInfo> aInfo, nsIURI* aUri) {
|
||||
GList uris = {0};
|
||||
nsCString spec;
|
||||
aUri->GetSpec(spec);
|
||||
@@ -235,7 +234,7 @@ nsGIOMimeApp::LaunchWithURI(nsIURI* aUri
|
||||
|
||||
GUniquePtr<GError> error;
|
||||
gboolean result = g_app_info_launch_uris(
|
||||
- mApp, &uris, GetLaunchContext().get(), getter_Transfers(error));
|
||||
+ aInfo, &uris, GetLaunchContext().get(), getter_Transfers(error));
|
||||
if (!result) {
|
||||
g_warning("Cannot launch application: %s", error->message);
|
||||
return NS_ERROR_FAILURE;
|
||||
@@ -244,6 +243,27 @@ nsGIOMimeApp::LaunchWithURI(nsIURI* aUri
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
+NS_IMETHODIMP
|
||||
+nsGIOMimeApp::LaunchWithURI(nsIURI* aUri,
|
||||
+ mozilla::dom::BrowsingContext* aBrowsingContext) {
|
||||
+ if (mozilla::widget::CanTransferWaylandFocus()) {
|
||||
+ mozilla::widget::RequestWaylandFocus()->Then(
|
||||
+ GetMainThreadSerialEventTarget(), __func__,
|
||||
+ /* resolve */
|
||||
+ [app = RefPtr{mApp}, uri = RefPtr{aUri}](nsCString token) {
|
||||
+ PR_SetEnv(ToNewCString("XDG_ACTIVATION_TOKEN="_ns + token));
|
||||
+ LaunchWithURIImpl(app, uri);
|
||||
+ },
|
||||
+ /* reject */
|
||||
+ [app = RefPtr{mApp}, uri = RefPtr{aUri}](bool state) {
|
||||
+ LaunchWithURIImpl(app, uri);
|
||||
+ });
|
||||
+ return NS_OK;
|
||||
+ }
|
||||
+
|
||||
+ return LaunchWithURIImpl(mApp, aUri);
|
||||
+}
|
||||
+
|
||||
class GIOUTF8StringEnumerator final : public nsStringEnumeratorBase {
|
||||
~GIOUTF8StringEnumerator() = default;
|
||||
|
||||
@@ -531,7 +551,7 @@ nsGIOService::GetDescriptionForMimeType(
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
-nsresult nsGIOService::ShowURI(nsIURI* aURI) {
|
||||
+static nsresult ShowURIImpl(nsIURI* aURI) {
|
||||
nsAutoCString spec;
|
||||
MOZ_TRY(aURI->GetSpec(spec));
|
||||
GUniquePtr<GError> error;
|
||||
@@ -544,7 +564,24 @@ nsresult nsGIOService::ShowURI(nsIURI* a
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
-static nsresult LaunchPath(const nsACString& aPath) {
|
||||
+nsresult nsGIOService::ShowURI(nsIURI* aURI) {
|
||||
+ if (mozilla::widget::CanTransferWaylandFocus()) {
|
||||
+ mozilla::widget::RequestWaylandFocus()->Then(
|
||||
+ GetMainThreadSerialEventTarget(), __func__,
|
||||
+ /* resolve */
|
||||
+ [uri = RefPtr{aURI}](nsCString token) {
|
||||
+ PR_SetEnv(ToNewCString("XDG_ACTIVATION_TOKEN="_ns + token));
|
||||
+ ShowURIImpl(uri);
|
||||
+ },
|
||||
+ /* reject */
|
||||
+ [uri = RefPtr{aURI}](bool state) { ShowURIImpl(uri); });
|
||||
+ return NS_OK;
|
||||
+ }
|
||||
+
|
||||
+ return ShowURIImpl(aURI);
|
||||
+}
|
||||
+
|
||||
+static nsresult LaunchPathImpl(const nsACString& aPath) {
|
||||
RefPtr<GFile> file = dont_AddRef(
|
||||
g_file_new_for_commandline_arg(PromiseFlatCString(aPath).get()));
|
||||
GUniquePtr<char> spec(g_file_get_uri(file));
|
||||
@@ -558,6 +595,22 @@ static nsresult LaunchPath(const nsACStr
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
+static nsresult LaunchPath(const nsACString& aPath) {
|
||||
+ if (mozilla::widget::CanTransferWaylandFocus()) {
|
||||
+ mozilla::widget::RequestWaylandFocus()->Then(
|
||||
+ GetMainThreadSerialEventTarget(), __func__,
|
||||
+ /* resolve */
|
||||
+ [path = nsCString{aPath}](nsCString token) {
|
||||
+ PR_SetEnv(ToNewCString("XDG_ACTIVATION_TOKEN="_ns + token));
|
||||
+ LaunchPathImpl(path);
|
||||
+ },
|
||||
+ /* reject */
|
||||
+ [path = nsCString{aPath}](bool state) { LaunchPathImpl(path); });
|
||||
+ return NS_OK;
|
||||
+ }
|
||||
+ return LaunchPathImpl(aPath);
|
||||
+}
|
||||
+
|
||||
nsresult nsGIOService::LaunchFile(const nsACString& aPath) {
|
||||
return LaunchPath(aPath);
|
||||
}
|
@ -1,12 +1,12 @@
|
||||
diff -up firefox-97.0/toolkit/moz.configure.disable-elfhack firefox-97.0/toolkit/moz.configure
|
||||
--- firefox-97.0/toolkit/moz.configure.disable-elfhack 2022-02-08 09:58:47.518047952 +0100
|
||||
+++ firefox-97.0/toolkit/moz.configure 2022-02-08 10:17:49.552945956 +0100
|
||||
@@ -1273,7 +1273,7 @@ with only_when("--enable-compile-environ
|
||||
help="{Enable|Disable} elf hacks",
|
||||
)
|
||||
diff -up firefox-115.0.2/toolkit/moz.configure.disable-elfhack firefox-115.0.2/toolkit/moz.configure
|
||||
--- firefox-115.0.2/toolkit/moz.configure.disable-elfhack 2023-07-18 12:21:22.507358334 +0200
|
||||
+++ firefox-115.0.2/toolkit/moz.configure 2023-07-18 12:52:55.972727498 +0200
|
||||
@@ -1520,7 +1520,7 @@ with only_when("--enable-compile-environ
|
||||
"Cannot enable elfhack with lld."
|
||||
" Use --enable-linker=bfd, --enable-linker=gold, or --disable-elf-hack"
|
||||
)
|
||||
- return True
|
||||
+ return False
|
||||
|
||||
- set_config("USE_ELF_HACK", depends_if("--enable-elf-hack")(lambda _: True))
|
||||
+ set_config("USE_ELF_HACK", depends_if("--enable-elf-hack")(lambda _: False))
|
||||
set_config("USE_ELF_HACK", use_elf_hack)
|
||||
|
||||
|
||||
@depends(build_environment)
|
||||
|
@ -1,30 +0,0 @@
|
||||
--- thunderbird-102.7.1/dom/media/webrtc/sdp/RsdparsaSdpGlue.cpp.gcc13-header-dependency 2023-01-24 04:23:43.000000000 +0100
|
||||
+++ thunderbird-102.7.1/dom/media/webrtc/sdp/RsdparsaSdpGlue.cpp 2023-01-25 19:23:11.048662899 +0100
|
||||
@@ -3,6 +3,7 @@
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* 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 <cstdint>
|
||||
#include <string>
|
||||
|
||||
#include "sdp/RsdparsaSdpInc.h"
|
||||
--- thunderbird-102.7.1/gfx/2d/Rect.h.gcc13-header-dependency 2023-01-24 04:23:44.000000000 +0100
|
||||
+++ thunderbird-102.7.1/gfx/2d/Rect.h 2023-01-25 19:23:11.049662897 +0100
|
||||
@@ -15,6 +15,7 @@
|
||||
#include "mozilla/Maybe.h"
|
||||
|
||||
#include <cmath>
|
||||
+#include <cstdint>
|
||||
|
||||
namespace mozilla {
|
||||
|
||||
--- thunderbird-102.7.1/toolkit/components/telemetry/pingsender/pingsender.cpp.gcc13-header-dependency 2023-01-24 04:23:55.000000000 +0100
|
||||
+++ thunderbird-102.7.1/toolkit/components/telemetry/pingsender/pingsender.cpp 2023-01-25 21:38:39.432188899 +0100
|
||||
@@ -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 <cstdint>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include <ctime>
|
@ -1,7 +1,7 @@
|
||||
diff -up firefox-75.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 firefox-75.0/extensions/pref/autoconfig/src/nsReadConfig.cpp
|
||||
--- firefox-75.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 2020-04-03 21:34:41.000000000 +0200
|
||||
+++ firefox-75.0/extensions/pref/autoconfig/src/nsReadConfig.cpp 2020-04-06 22:40:02.760674871 +0200
|
||||
@@ -244,8 +244,20 @@ nsresult nsReadConfig::openAndEvaluateJS
|
||||
diff -up firefox-115.0.2/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 firefox-115.0.2/extensions/pref/autoconfig/src/nsReadConfig.cpp
|
||||
--- firefox-115.0.2/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 2023-07-10 21:08:53.000000000 +0200
|
||||
+++ firefox-115.0.2/extensions/pref/autoconfig/src/nsReadConfig.cpp 2023-07-17 10:33:23.443355156 +0200
|
||||
@@ -263,8 +263,20 @@ nsresult nsReadConfig::openAndEvaluateJS
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile);
|
||||
@ -23,10 +23,10 @@ diff -up firefox-75.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 fi
|
||||
} else {
|
||||
nsAutoCString location("resource://gre/defaults/autoconfig/");
|
||||
location += aFileName;
|
||||
diff -up firefox-75.0/modules/libpref/Preferences.cpp.1170092 firefox-75.0/modules/libpref/Preferences.cpp
|
||||
--- firefox-75.0/modules/libpref/Preferences.cpp.1170092 2020-04-06 22:40:02.761674865 +0200
|
||||
+++ firefox-75.0/modules/libpref/Preferences.cpp 2020-04-06 22:40:57.675325227 +0200
|
||||
@@ -4468,6 +4468,9 @@ nsresult Preferences::InitInitialObjects
|
||||
diff -up firefox-115.0.2/modules/libpref/Preferences.cpp.1170092 firefox-115.0.2/modules/libpref/Preferences.cpp
|
||||
--- firefox-115.0.2/modules/libpref/Preferences.cpp.1170092 2023-07-10 21:09:00.000000000 +0200
|
||||
+++ firefox-115.0.2/modules/libpref/Preferences.cpp 2023-07-17 10:33:23.444355156 +0200
|
||||
@@ -4825,6 +4825,9 @@ nsresult Preferences::InitInitialObjects
|
||||
//
|
||||
// Thus, in the omni.jar case, we always load app-specific default
|
||||
// preferences from omni.jar, whether or not `$app == $gre`.
|
||||
@ -36,10 +36,10 @@ diff -up firefox-75.0/modules/libpref/Preferences.cpp.1170092 firefox-75.0/modul
|
||||
|
||||
nsresult rv = NS_ERROR_FAILURE;
|
||||
UniquePtr<nsZipFind> find;
|
||||
diff -up firefox-75.0/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-75.0/toolkit/xre/nsXREDirProvider.cpp
|
||||
--- firefox-75.0/toolkit/xre/nsXREDirProvider.cpp.1170092 2020-04-03 21:35:39.000000000 +0200
|
||||
+++ firefox-75.0/toolkit/xre/nsXREDirProvider.cpp 2020-04-06 22:40:02.761674865 +0200
|
||||
@@ -60,6 +60,7 @@
|
||||
diff -up firefox-115.0.2/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-115.0.2/toolkit/xre/nsXREDirProvider.cpp
|
||||
--- firefox-115.0.2/toolkit/xre/nsXREDirProvider.cpp.1170092 2023-07-10 22:57:20.000000000 +0200
|
||||
+++ firefox-115.0.2/toolkit/xre/nsXREDirProvider.cpp 2023-07-17 10:56:25.309692121 +0200
|
||||
@@ -72,6 +72,7 @@
|
||||
#endif
|
||||
#ifdef XP_UNIX
|
||||
# include <ctype.h>
|
||||
@ -47,13 +47,11 @@ diff -up firefox-75.0/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-75.0/tool
|
||||
#endif
|
||||
#ifdef XP_IOS
|
||||
# include "UIKitDirProvider.h"
|
||||
@@ -533,6 +534,21 @@ nsXREDirProvider::GetFile(const char* aP
|
||||
}
|
||||
}
|
||||
}
|
||||
+
|
||||
+#if defined(XP_UNIX)
|
||||
+ if (!strcmp(aProperty, NS_APP_PREFS_SYSTEM_CONFIG_DIR)) {
|
||||
@@ -478,6 +479,17 @@ nsXREDirProvider::GetFile(const char* aP
|
||||
rv = file->AppendNative(nsLiteralCString(PREF_OVERRIDE_DIRNAME));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
rv = EnsureDirectoryExists(file);
|
||||
+ } else if (!strcmp(aProperty, NS_APP_PREFS_SYSTEM_CONFIG_DIR)) {
|
||||
+ nsCString sysConfigDir = nsLiteralCString("/etc/");
|
||||
+ nsCOMPtr<nsIXULAppInfo> appInfo = do_GetService("@mozilla.org/xre/app-info;1");
|
||||
+ if (!appInfo)
|
||||
@ -62,16 +60,14 @@ diff -up firefox-75.0/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-75.0/tool
|
||||
+ appInfo->GetName(appName);
|
||||
+ ToLowerCase(appName);
|
||||
+ sysConfigDir.Append(appName);
|
||||
+ return NS_NewNativeLocalFile(sysConfigDir, false, aFile);
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
if (NS_FAILED(rv) || !file) return NS_ERROR_FAILURE;
|
||||
|
||||
if (ensureFilePermissions) {
|
||||
@@ -845,6 +861,16 @@ nsresult nsXREDirProvider::GetFilesInter
|
||||
|
||||
LoadDirIntoArray(mXULAppDir, kAppendPrefDir, directories);
|
||||
+ NS_NewNativeLocalFile(sysConfigDir, false, getter_AddRefs(file));
|
||||
+ rv = EnsureDirectoryExists(file);
|
||||
} else {
|
||||
// We don't know anything about this property. Fail without warning, because
|
||||
// otherwise we'll get too much warning spam due to
|
||||
@@ -694,6 +706,16 @@ nsXREDirProvider::GetFiles(const char* a
|
||||
}
|
||||
#endif
|
||||
|
||||
+ // Add /etc/<application>/pref/ directory if it exists
|
||||
+ nsCOMPtr<nsIFile> systemPrefDir;
|
||||
@ -81,15 +77,15 @@ diff -up firefox-75.0/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-75.0/tool
|
||||
+ rv = systemPrefDir->AppendNative(nsLiteralCString("pref"));
|
||||
+ if (NS_SUCCEEDED(rv))
|
||||
+ directories.AppendObject(systemPrefDir);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
rv = NS_NewArrayEnumerator(aResult, directories, NS_GET_IID(nsIFile));
|
||||
} else if (!strcmp(aProperty, NS_APP_CHROME_DIR_LIST)) {
|
||||
// NS_APP_CHROME_DIR_LIST is only used to get default (native) icons
|
||||
diff -up firefox-75.0/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 firefox-75.0/xpcom/io/nsAppDirectoryServiceDefs.h
|
||||
--- firefox-75.0/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 2020-04-03 21:35:39.000000000 +0200
|
||||
+++ firefox-75.0/xpcom/io/nsAppDirectoryServiceDefs.h 2020-04-06 22:40:02.761674865 +0200
|
||||
@@ -60,6 +60,7 @@
|
||||
diff -up firefox-115.0.2/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 firefox-115.0.2/xpcom/io/nsAppDirectoryServiceDefs.h
|
||||
--- firefox-115.0.2/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 2023-07-10 21:09:13.000000000 +0200
|
||||
+++ firefox-115.0.2/xpcom/io/nsAppDirectoryServiceDefs.h 2023-07-17 10:33:23.444355156 +0200
|
||||
@@ -58,6 +58,7 @@
|
||||
#define NS_APP_PREFS_DEFAULTS_DIR_LIST "PrefDL"
|
||||
#define NS_APP_PREFS_OVERRIDE_DIR \
|
||||
"PrefDOverride" // Directory for per-profile defaults
|
||||
|
6
sources
6
sources
@ -1,3 +1,3 @@
|
||||
SHA512 (cbindgen-vendor.tar.xz) = 590e27b6c093a5c1bd839ca39c68537097d0849087a4a385ee6d7b180e9ceadbbb8974fa997f5f75af03e2c243a2f232d0d4c4c46e253ea464521b76c6886067
|
||||
SHA512 (thunderbird-102.13.0.source.tar.xz) = 1ed48220f91cc2c38f59067664c02f1f2098c843810b8f81cb8dee4fe98911d87aac352ab8639c68d0eed74297240cd9e0ce0e64a40360511be85315f2bfcfc6
|
||||
SHA512 (thunderbird-langpacks-102.13.0-20230707.tar.xz) = bf9007b066f7211bad70a68449297a5847a1e840a1e5e88d0db5f5cd367c752130c70e266177585b3386ae7796c2ea98dba657da75ae6a22f064a7b584352ca0
|
||||
SHA512 (thunderbird-langpacks-115.0.1-20230720.tar.xz) = 33499972fe176c89772a22101e3d12f71a56471866e3aef6477d0be665e41b82d32e5a454d7ea979558de295902484eb3fb73f07dbd85ae92b44d00a80cc772d
|
||||
SHA512 (thunderbird-115.0.1.source.tar.xz) = 9a53024790a537fb012d66e683248e82a9b2c2a4db6fc90d1e1d3c785c28e9d65f1d110c33dcbdad63f8f6ecb3e5c6a526c0028c3970125022ebe384506d4ba3
|
||||
SHA512 (cbindgen-vendor.tar.xz) = 161811f4adfc74e5d92871c78139704d32e1e1ad6b615c85353de300d9647a68f1ca8b1c953f7cc5539d861e9e8d8e42892cae757a3eafea78804e19bc323c16
|
||||
|
@ -99,13 +99,13 @@ ExcludeArch: s390x
|
||||
|
||||
Summary: Mozilla Thunderbird mail/newsgroup client
|
||||
Name: thunderbird
|
||||
Version: 102.13.0
|
||||
Release: 2%{?dist}
|
||||
Version: 115.0.1
|
||||
Release: 1%{?dist}
|
||||
URL: http://www.mozilla.org/projects/thunderbird/
|
||||
License: MPL-2.0 OR GPL-2.0-or-later OR LGPL-2.0-or-later
|
||||
Source0: https://archive.mozilla.org/pub/thunderbird/releases/%{version}%{?pre_version}/source/thunderbird-%{version}%{?pre_version}.source.tar.xz
|
||||
%if %{build_langpacks}
|
||||
Source1: thunderbird-langpacks-%{version}-20230707.tar.xz
|
||||
Source1: thunderbird-langpacks-%{version}-20230720.tar.xz
|
||||
%endif
|
||||
Source3: get-calendar-langpacks.sh
|
||||
Source4: cbindgen-vendor.tar.xz
|
||||
@ -131,7 +131,7 @@ Patch103: rhbz-1219542-s390-build.patch
|
||||
# gcc 12 build fix patches
|
||||
Patch422: 0001-GLIBCXX-fix-for-GCC-12.patch
|
||||
Patch425: build-disable-elfhack.patch
|
||||
Patch426: gcc13-header-dependencies.patch
|
||||
Patch426: build-rnp.patch
|
||||
|
||||
# PPC fix
|
||||
Patch304: mozilla-1245783.patch
|
||||
@ -141,8 +141,6 @@ Patch304: mozilla-1245783.patch
|
||||
# Upstream patches
|
||||
Patch402: mozilla-526293.patch
|
||||
Patch406: mozilla-1170092.patch
|
||||
Patch408: D165150.diff
|
||||
Patch409: D165152.diff
|
||||
|
||||
# Bundled expat backported patches
|
||||
Patch501: expat-CVE-2022-25235.patch
|
||||
@ -308,16 +306,14 @@ debug %{name}, you want to install %{name}-debuginfo instead.
|
||||
%if 0%{?disable_elfhack}
|
||||
%patch -P 425 -p1 -b .build-disable-elfhack
|
||||
%endif
|
||||
%patch -P 426 -p1 -b .build-rnp
|
||||
# most likely fixed
|
||||
#%patch -P 419 -p1 -b .bindgen
|
||||
|
||||
%patch -P 402 -p1 -b .526293
|
||||
%patch -P 406 -p1 -b .1170092-etc-conf
|
||||
%patch -P 408 -p1 -b .D165150
|
||||
%patch -P 409 -p1 -b .D165152
|
||||
|
||||
%patch -P 422 -p1 -b .0001-GLIBCXX-fix-for-GCC-12
|
||||
%patch -P 426 -p1 -b .gcc13-header-dependencies
|
||||
|
||||
%patch -P 501 -p1 -b .expat-CVE-2022-25235
|
||||
%patch -P 502 -p1 -b .expat-CVE-2022-25236
|
||||
@ -755,6 +751,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
|
||||
#===============================================================================
|
||||
|
||||
%changelog
|
||||
* Mon Jul 24 2023 Jan Horak <jhorak@redhat.com> - 115.0.1-1
|
||||
- Update to 115.0.1
|
||||
|
||||
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 102.13.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user