import firefox-60.7.0-1.el8_0
This commit is contained in:
commit
4852f2bdb8
7
.firefox.metadata
Normal file
7
.firefox.metadata
Normal file
@ -0,0 +1,7 @@
|
||||
18a8f30a0356c751b8d0ea6f76e764cab13ee046 SOURCES/Python-2.7.13.tar.xz
|
||||
733187de6b20f8902fa207f08ec85f952a2c2e40 SOURCES/firefox-60.7.0esr.source.tar.xz
|
||||
7078da81de13917fa6c4e85f1395552bff67f056 SOURCES/firefox-langpacks-60.7.0esr-20190515.tar.xz
|
||||
6724218efbb1f3fa14541cb2f255970b98446a45 SOURCES/firefox-symbolic.svg
|
||||
0de63f863b158454b9429234b52ed28a397ec45c SOURCES/gtk3-private-3.22.26-1.el6.src.rpm
|
||||
e188ab1a444697bc649e223c28389d82ca94c472 SOURCES/libffi-3.0.13-18.el7_3.src.rpm
|
||||
77fd30f7ebc12a629a31c1e252cec06af55a71fe SOURCES/yasm-1.2.0-3.el5.src.rpm
|
7
.gitignore
vendored
Normal file
7
.gitignore
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
SOURCES/Python-2.7.13.tar.xz
|
||||
SOURCES/firefox-60.7.0esr.source.tar.xz
|
||||
SOURCES/firefox-langpacks-60.7.0esr-20190515.tar.xz
|
||||
SOURCES/firefox-symbolic.svg
|
||||
SOURCES/gtk3-private-3.22.26-1.el6.src.rpm
|
||||
SOURCES/libffi-3.0.13-18.el7_3.src.rpm
|
||||
SOURCES/yasm-1.2.0-3.el5.src.rpm
|
12
SOURCES/build-aarch64-skia.patch
Normal file
12
SOURCES/build-aarch64-skia.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up firefox-61.0/gfx/skia/skia/src/jumper/SkJumper_stages.cpp.aarch64-skia firefox-61.0/gfx/skia/skia/src/jumper/SkJumper_stages.cpp
|
||||
--- firefox-61.0/gfx/skia/skia/src/jumper/SkJumper_stages.cpp.aarch64-skia 2018-06-20 09:19:11.411939714 +0200
|
||||
+++ firefox-61.0/gfx/skia/skia/src/jumper/SkJumper_stages.cpp 2018-06-20 09:23:36.831919894 +0200
|
||||
@@ -686,7 +686,7 @@ SI F from_half(U16 h) {
|
||||
}
|
||||
|
||||
SI U16 to_half(F f) {
|
||||
-#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
|
||||
+#if 0 && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
|
||||
return vcvt_f16_f32(f);
|
||||
|
||||
#elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512)
|
84
SOURCES/build-big-endian.patch
Normal file
84
SOURCES/build-big-endian.patch
Normal file
@ -0,0 +1,84 @@
|
||||
diff -up firefox-60.0/gfx/skia/skia/include/core/SkColorPriv.h.big-endian firefox-60.0/gfx/skia/skia/include/core/SkColorPriv.h
|
||||
--- firefox-60.0/gfx/skia/skia/include/core/SkColorPriv.h.big-endian 2018-04-09 22:50:48.000000000 +0200
|
||||
+++ firefox-60.0/gfx/skia/skia/include/core/SkColorPriv.h 2018-04-18 11:51:38.748680174 +0200
|
||||
@@ -54,18 +54,19 @@ static inline U8CPU SkUnitScalarClampToB
|
||||
*
|
||||
* Here we enforce this constraint.
|
||||
*/
|
||||
-
|
||||
+/*
|
||||
#ifdef SK_CPU_BENDIAN
|
||||
#define SK_RGBA_R32_SHIFT 24
|
||||
#define SK_RGBA_G32_SHIFT 16
|
||||
#define SK_RGBA_B32_SHIFT 8
|
||||
#define SK_RGBA_A32_SHIFT 0
|
||||
#else
|
||||
+*/
|
||||
#define SK_RGBA_R32_SHIFT 0
|
||||
#define SK_RGBA_G32_SHIFT 8
|
||||
#define SK_RGBA_B32_SHIFT 16
|
||||
#define SK_RGBA_A32_SHIFT 24
|
||||
-#endif
|
||||
+/*#endif*/
|
||||
|
||||
#define SkGetPackedA32(packed) ((uint32_t)((packed) << (24 - SK_A32_SHIFT)) >> 24)
|
||||
#define SkGetPackedR32(packed) ((uint32_t)((packed) << (24 - SK_R32_SHIFT)) >> 24)
|
||||
diff -up firefox-60.0/gfx/skia/skia/include/core/SkImageInfo.h.big-endian firefox-60.0/gfx/skia/skia/include/core/SkImageInfo.h
|
||||
--- firefox-60.0/gfx/skia/skia/include/core/SkImageInfo.h.big-endian 2018-04-09 22:50:48.000000000 +0200
|
||||
+++ firefox-60.0/gfx/skia/skia/include/core/SkImageInfo.h 2018-04-18 11:51:38.748680174 +0200
|
||||
@@ -84,7 +84,8 @@ enum SkColorType {
|
||||
#elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A)
|
||||
kN32_SkColorType = kRGBA_8888_SkColorType,
|
||||
#else
|
||||
- #error "SK_*32_SHIFT values must correspond to BGRA or RGBA byte order"
|
||||
+ //#error "SK_*32_SHIFT values must correspond to BGRA or RGBA byte order"
|
||||
+ kN32_SkColorType = kBGRA_8888_SkColorType
|
||||
#endif
|
||||
};
|
||||
|
||||
diff -up firefox-60.0/gfx/skia/skia/include/gpu/GrTypes.h.big-endian firefox-60.0/gfx/skia/skia/include/gpu/GrTypes.h
|
||||
--- firefox-60.0/gfx/skia/skia/include/gpu/GrTypes.h.big-endian 2018-04-09 22:50:48.000000000 +0200
|
||||
+++ firefox-60.0/gfx/skia/skia/include/gpu/GrTypes.h 2018-04-18 11:51:38.748680174 +0200
|
||||
@@ -344,15 +344,13 @@ enum GrPixelConfig {
|
||||
static const int kGrPixelConfigCnt = kLast_GrPixelConfig + 1;
|
||||
|
||||
// Aliases for pixel configs that match skia's byte order.
|
||||
-#ifndef SK_CPU_LENDIAN
|
||||
- #error "Skia gpu currently assumes little endian"
|
||||
-#endif
|
||||
#if SK_PMCOLOR_BYTE_ORDER(B,G,R,A)
|
||||
static const GrPixelConfig kSkia8888_GrPixelConfig = kBGRA_8888_GrPixelConfig;
|
||||
#elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A)
|
||||
static const GrPixelConfig kSkia8888_GrPixelConfig = kRGBA_8888_GrPixelConfig;
|
||||
#else
|
||||
- #error "SK_*32_SHIFT values must correspond to GL_BGRA or GL_RGBA format."
|
||||
+ static const GrPixelConfig kSkia8888_GrPixelConfig = kBGRA_8888_GrPixelConfig;
|
||||
+ static const GrPixelConfig kSkiaGamma8888_GrPixelConfig = kSBGRA_8888_GrPixelConfig;
|
||||
#endif
|
||||
|
||||
/**
|
||||
diff -up firefox-60.0/gfx/skia/skia/src/core/SkColorData.h.big-endian firefox-60.0/gfx/skia/skia/src/core/SkColorData.h
|
||||
--- firefox-60.0/gfx/skia/skia/src/core/SkColorData.h.big-endian 2018-04-18 13:42:06.980476156 +0200
|
||||
+++ firefox-60.0/gfx/skia/skia/src/core/SkColorData.h 2018-04-18 13:42:50.493520552 +0200
|
||||
@@ -31,18 +31,19 @@
|
||||
*
|
||||
* Here we enforce this constraint.
|
||||
*/
|
||||
-
|
||||
+/*
|
||||
#ifdef SK_CPU_BENDIAN
|
||||
#define SK_BGRA_B32_SHIFT 24
|
||||
#define SK_BGRA_G32_SHIFT 16
|
||||
#define SK_BGRA_R32_SHIFT 8
|
||||
#define SK_BGRA_A32_SHIFT 0
|
||||
#else
|
||||
+*/
|
||||
#define SK_BGRA_B32_SHIFT 0
|
||||
#define SK_BGRA_G32_SHIFT 8
|
||||
#define SK_BGRA_R32_SHIFT 16
|
||||
#define SK_BGRA_A32_SHIFT 24
|
||||
-#endif
|
||||
+//#endif
|
||||
|
||||
#if defined(SK_PMCOLOR_IS_RGBA) && defined(SK_PMCOLOR_IS_BGRA)
|
||||
#error "can't define PMCOLOR to be RGBA and BGRA"
|
12
SOURCES/build-debug-qcms.patch
Normal file
12
SOURCES/build-debug-qcms.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up firefox-60.0/gfx/qcms/transform-altivec.c.debug firefox-60.0/gfx/qcms/transform-altivec.c
|
||||
--- firefox-60.0/gfx/qcms/transform-altivec.c.debug 2018-05-15 09:26:43.603043100 +0200
|
||||
+++ firefox-60.0/gfx/qcms/transform-altivec.c 2018-05-15 09:28:57.302385632 +0200
|
||||
@@ -30,7 +30,7 @@
|
||||
static const ALIGN float floatScaleX4 = FLOATSCALE;
|
||||
static const ALIGN float clampMaxValueX4 = CLAMPMAXVAL;
|
||||
|
||||
-inline vector float load_aligned_float(float *dataPtr)
|
||||
+static vector float load_aligned_float(float *dataPtr)
|
||||
{
|
||||
vector float data = vec_lde(0, dataPtr);
|
||||
vector unsigned char moveToStart = vec_lvsl(0, dataPtr);
|
12
SOURCES/build-disable-elfhack.patch
Normal file
12
SOURCES/build-disable-elfhack.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up firefox-60.4.0/toolkit/moz.configure.disable-elfhack firefox-60.4.0/toolkit/moz.configure
|
||||
--- firefox-60.4.0/toolkit/moz.configure.disable-elfhack 2019-01-03 14:47:00.566556623 +0100
|
||||
+++ firefox-60.4.0/toolkit/moz.configure 2019-01-03 14:49:14.243887620 +0100
|
||||
@@ -1192,7 +1192,7 @@ with only_when(has_elfhack):
|
||||
option('--disable-elf-hack', help='Disable elf hacks')
|
||||
|
||||
set_config('USE_ELF_HACK',
|
||||
- depends_if('--enable-elf-hack')(lambda _: True))
|
||||
+ depends_if('--enable-elf-hack')(lambda _: False))
|
||||
|
||||
|
||||
@depends(check_build_environment)
|
19
SOURCES/build-gdk-version.patch
Normal file
19
SOURCES/build-gdk-version.patch
Normal file
@ -0,0 +1,19 @@
|
||||
diff -up mozilla-release-c61f5f5ead48c78a80c80db5c489bdc7cfaf8175/old-configure.in.gdk-version mozilla-release-c61f5f5ead48c78a80c80db5c489bdc7cfaf8175/old-configure.in
|
||||
--- mozilla-release-c61f5f5ead48c78a80c80db5c489bdc7cfaf8175/old-configure.in.gdk-version 2018-03-10 03:54:17.000000000 +0100
|
||||
+++ mozilla-release-c61f5f5ead48c78a80c80db5c489bdc7cfaf8175/old-configure.in 2018-03-28 13:11:06.294873487 +0200
|
||||
@@ -61,6 +61,7 @@ CAIRO_VERSION=1.10
|
||||
GTK2_VERSION=2.18.0
|
||||
GTK3_VERSION=3.4.0
|
||||
GDK_VERSION_MAX_ALLOWED=GDK_VERSION_3_4
|
||||
+GDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_4
|
||||
WINDRES_VERSION=2.14.90
|
||||
W32API_VERSION=3.14
|
||||
GCONF_VERSION=1.2.1
|
||||
@@ -2173,6 +2174,7 @@ if test "$COMPILE_ENVIRONMENT"; then
|
||||
dnl GDK_VERSION_MIN_REQUIRED is not set here as GDK3 deprecated warnings
|
||||
dnl are suppressed by widget/gtk/compat-gtk3/gdk/gdkversionmacros.h.
|
||||
AC_DEFINE_UNQUOTED(GDK_VERSION_MAX_ALLOWED,$GDK_VERSION_MAX_ALLOWED)
|
||||
+ AC_DEFINE_UNQUOTED(GDK_VERSION_MIN_REQUIRED,$GDK_VERSION_MIN_REQUIRED)
|
||||
GLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_32
|
||||
fi
|
||||
if test "$MOZ_WIDGET_TOOLKIT" = gtk2; then
|
12
SOURCES/build-icu-big-endian.patch
Normal file
12
SOURCES/build-icu-big-endian.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up firefox-60.0/build/autoconf/icu.m4.icu firefox-60.0/build/autoconf/icu.m4
|
||||
--- firefox-60.0/build/autoconf/icu.m4.icu 2018-04-17 15:11:54.100644119 +0200
|
||||
+++ firefox-60.0/build/autoconf/icu.m4 2018-04-17 15:12:50.740686636 +0200
|
||||
@@ -78,7 +78,7 @@ if test -n "$USE_ICU"; then
|
||||
# TODO: the l is actually endian-dependent
|
||||
# We could make this set as 'l' or 'b' for little or big, respectively,
|
||||
# but we'd need to check in a big-endian version of the file.
|
||||
- ICU_DATA_FILE="icudt${version}l.dat"
|
||||
+ ICU_DATA_FILE="icudt${version}b.dat"
|
||||
|
||||
MOZ_ICU_DATA_ARCHIVE=
|
||||
fi
|
12
SOURCES/build-jit-atomic-always-lucky.patch
Normal file
12
SOURCES/build-jit-atomic-always-lucky.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up firefox-60.5.0/js/src/jit/AtomicOperations.h.jit-atomic-lucky firefox-60.5.0/js/src/jit/AtomicOperations.h
|
||||
--- firefox-60.5.0/js/src/jit/AtomicOperations.h.jit-atomic-lucky 2019-01-22 10:20:27.993697161 +0100
|
||||
+++ firefox-60.5.0/js/src/jit/AtomicOperations.h 2019-01-22 10:23:15.337873762 +0100
|
||||
@@ -394,7 +394,7 @@ inline bool AtomicOperations::isLockfree
|
||||
#elif defined(__s390__) || defined(__s390x__)
|
||||
#include "jit/none/AtomicOperations-feeling-lucky.h"
|
||||
#else
|
||||
-#error "No AtomicOperations support provided for this platform"
|
||||
+#include "jit/none/AtomicOperations-feeling-lucky.h"
|
||||
#endif
|
||||
|
||||
#endif // jit_AtomicOperations_h
|
12
SOURCES/build-mozconfig-fix.patch
Normal file
12
SOURCES/build-mozconfig-fix.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up mozilla-release-c61f5f5ead48c78a80c80db5c489bdc7cfaf8175/python/mozbuild/mozbuild/mozconfig.py.mozconfig-fix mozilla-release-c61f5f5ead48c78a80c80db5c489bdc7cfaf8175/python/mozbuild/mozbuild/mozconfig.py
|
||||
--- mozilla-release-c61f5f5ead48c78a80c80db5c489bdc7cfaf8175/python/mozbuild/mozbuild/mozconfig.py.mozconfig-fix 2018-03-13 17:22:19.018466884 +0100
|
||||
+++ mozilla-release-c61f5f5ead48c78a80c80db5c489bdc7cfaf8175/python/mozbuild/mozbuild/mozconfig.py 2018-03-13 17:23:57.379559640 +0100
|
||||
@@ -446,7 +446,7 @@ class MozconfigLoader(object):
|
||||
value = value[1:]
|
||||
|
||||
# Lines with a quote not ending in a quote are multi-line.
|
||||
- if has_quote and not value.endswith("'"):
|
||||
+ if has_quote and not value.endswith(("'", ";")):
|
||||
in_variable = name
|
||||
current.append(value)
|
||||
continue
|
12
SOURCES/build-nss-version.patch
Normal file
12
SOURCES/build-nss-version.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up firefox-60.1.0/old-configure.in.nss-version firefox-60.1.0/old-configure.in
|
||||
--- firefox-60.1.0/old-configure.in.nss-version 2018-06-20 14:24:55.204158540 +0200
|
||||
+++ firefox-60.1.0/old-configure.in 2018-06-20 14:30:19.517004230 +0200
|
||||
@@ -1768,7 +1768,7 @@ MOZ_ARG_WITH_BOOL(system-nss,
|
||||
_USE_SYSTEM_NSS=1 )
|
||||
|
||||
if test -n "$_USE_SYSTEM_NSS"; then
|
||||
- AM_PATH_NSS(3.36.7, [MOZ_SYSTEM_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])])
|
||||
+ AM_PATH_NSS(3.36.0, [MOZ_SYSTEM_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])])
|
||||
fi
|
||||
|
||||
if test -z "$MOZ_SYSTEM_NSS"; then
|
9
SOURCES/distribution.ini
Normal file
9
SOURCES/distribution.ini
Normal file
@ -0,0 +1,9 @@
|
||||
[Global]
|
||||
id=redhat
|
||||
version=1.0
|
||||
about=Mozilla Firefox for Red Hat Enterprise Linux
|
||||
|
||||
[Preferences]
|
||||
app.distributor=redhat
|
||||
app.distributor.channel=redhat
|
||||
app.partner.fedora=redhat
|
13
SOURCES/firefox-enable-addons.patch
Normal file
13
SOURCES/firefox-enable-addons.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff -up firefox-55.0/browser/app/profile/firefox.js.addons firefox-55.0/browser/app/profile/firefox.js
|
||||
--- firefox-55.0/browser/app/profile/firefox.js.addons 2017-08-02 10:58:30.566363833 +0200
|
||||
+++ firefox-55.0/browser/app/profile/firefox.js 2017-08-02 10:59:15.377216959 +0200
|
||||
@@ -65,7 +65,8 @@ pref("extensions.systemAddon.update.url"
|
||||
|
||||
// Disable add-ons that are not installed by the user in all scopes by default.
|
||||
// See the SCOPE constants in AddonManager.jsm for values to use here.
|
||||
-pref("extensions.autoDisableScopes", 15);
|
||||
+pref("extensions.autoDisableScopes", 0);
|
||||
+pref("extensions.showMismatchUI", false);
|
||||
// Scopes to scan for changes at startup.
|
||||
pref("extensions.startupScanScopes", 0);
|
||||
|
30
SOURCES/firefox-mozconfig
Normal file
30
SOURCES/firefox-mozconfig
Normal file
@ -0,0 +1,30 @@
|
||||
. $topsrcdir/browser/config/mozconfig
|
||||
|
||||
ac_add_options --enable-default-toolkit=cairo-gtk3
|
||||
|
||||
ac_add_options --prefix="$PREFIX"
|
||||
ac_add_options --libdir="$LIBDIR"
|
||||
ac_add_options --with-system-zlib
|
||||
ac_add_options --with-system-bz2
|
||||
ac_add_options --with-pthreads
|
||||
ac_add_options --disable-strip
|
||||
ac_add_options --disable-tests
|
||||
#ac_add_options --enable-libnotify
|
||||
ac_add_options --enable-necko-wifi
|
||||
ac_add_options --enable-startup-notification
|
||||
ac_add_options --disable-updater
|
||||
ac_add_options --enable-chrome-format=omni
|
||||
ac_add_options --enable-pulseaudio
|
||||
ac_add_options --with-system-icu
|
||||
ac_add_options --with-mozilla-api-keyfile=../mozilla-api-key
|
||||
ac_add_options --with-google-location-service-api-keyfile=../google-api-key
|
||||
ac_add_options --with-google-safebrowsing-api-keyfile=../google-api-key
|
||||
ac_add_options --enable-release
|
||||
ac_add_options --enable-pie
|
||||
|
||||
export BUILD_OFFICIAL=1
|
||||
export MOZILLA_OFFICIAL=1
|
||||
export MOZ_TELEMETRY_REPORTING=1
|
||||
mk_add_options BUILD_OFFICIAL=1
|
||||
mk_add_options MOZILLA_OFFICIAL=1
|
||||
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir
|
2572
SOURCES/firefox-pipewire.patch
Normal file
2572
SOURCES/firefox-pipewire.patch
Normal file
File diff suppressed because it is too large
Load Diff
35
SOURCES/firefox-redhat-default-prefs.js
Normal file
35
SOURCES/firefox-redhat-default-prefs.js
Normal file
@ -0,0 +1,35 @@
|
||||
pref("app.update.auto", false);
|
||||
pref("app.update.enabled", false);
|
||||
pref("app.update.autoInstallEnabled", false);
|
||||
pref("general.smoothScroll", true);
|
||||
pref("intl.locale.matchOS", true);
|
||||
pref("toolkit.storage.synchronous", 0);
|
||||
pref("toolkit.networkmanager.disable", false);
|
||||
pref("offline.autoDetect", true);
|
||||
pref("browser.backspace_action", 2);
|
||||
pref("browser.display.use_system_colors", true);
|
||||
pref("browser.download.folderList", 1);
|
||||
pref("browser.link.open_external", 3);
|
||||
pref("browser.shell.checkDefaultBrowser", false);
|
||||
pref("network.manage-offline-status", true);
|
||||
pref("extensions.shownSelectionUI", true);
|
||||
pref("ui.SpellCheckerUnderlineStyle", 1);
|
||||
pref("startup.homepage_override_url", "http://www.redhat.com");
|
||||
pref("startup.homepage_welcome_url", "http://www.redhat.com");
|
||||
pref("browser.startup.homepage", "data:text/plain,browser.startup.homepage=file:///usr/share/doc/HTML/index.html");
|
||||
pref("geo.wifi.uri", "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%");
|
||||
pref("media.gmp-gmpopenh264.provider.enabled",false);
|
||||
pref("media.gmp-gmpopenh264.autoupdate",false);
|
||||
pref("media.gmp-gmpopenh264.enabled",false);
|
||||
pref("media.gmp-gmpopenh264.enabled",false);
|
||||
pref("plugins.notifyMissingFlash", false);
|
||||
/* See https://bugzilla.redhat.com/show_bug.cgi?id=1226489 */
|
||||
pref("browser.display.use_system_colors", false);
|
||||
pref("layers.use-image-offscreen-surfaces", false);
|
||||
/* Allow sending credetials to all https:// sites */
|
||||
pref("network.negotiate-auth.trusted-uris", "https://");
|
||||
pref("security.use_sqldb", false);
|
||||
/* Use OS settings for UI language */
|
||||
pref("intl.locale.requested", "");
|
||||
/* See https://bugzilla.redhat.com/show_bug.cgi?id=1672424 */
|
||||
pref("storage.nfs_filesystem", true);
|
141
SOURCES/firefox.1
Normal file
141
SOURCES/firefox.1
Normal file
@ -0,0 +1,141 @@
|
||||
.TH FIREFOX 1 "November 30, 2017" firefox "Linux User's Manual"
|
||||
.SH NAME
|
||||
firefox \- a Web browser for X11 derived from the Mozilla browser
|
||||
|
||||
.SH SYNOPSIS
|
||||
.B firefox
|
||||
[\fIOPTIONS\fR ...] [\fIURL\fR]
|
||||
|
||||
.B firefox-bin
|
||||
[\fIOPTIONS\fR] [\fIURL\fR]
|
||||
|
||||
.SH DESCRIPTION
|
||||
\fBMozilla Firefox\fR is an open-source web browser, designed for
|
||||
standards compliance, performance and portability.
|
||||
|
||||
.SH USAGE
|
||||
\fBfirefox\fR is a simple shell script that will set up the
|
||||
environment for the actual executable, \fBfirefox-bin\fR.
|
||||
|
||||
.SH OPTIONS
|
||||
A summary of the options supported by \fBfirefox\fR is included below.
|
||||
|
||||
.SS "X11 options"
|
||||
.TP
|
||||
.BI \-\-display= DISPLAY
|
||||
X display to use
|
||||
.TP
|
||||
.B \--sync
|
||||
Make X calls synchronous
|
||||
.TP
|
||||
.B \-\-g-fatal-warnings
|
||||
Make all warnings fatal
|
||||
|
||||
.SS "Firefox options"
|
||||
.TP
|
||||
.B \-h, \-help
|
||||
Show summary of options.
|
||||
.TP
|
||||
.B \-v, \-version
|
||||
Print Firefox version.
|
||||
.TP
|
||||
\fB\-P\fR \fIprofile\fR
|
||||
Start with \fIprofile\fR.
|
||||
.TP
|
||||
\fB\-\-profile\fR \fIpath\fR
|
||||
Start with profile at \fIpath\fR.
|
||||
.TP
|
||||
\fB\-\-migration\fR
|
||||
Start with migration wizard.
|
||||
.TP
|
||||
.B \-\-ProfileManager
|
||||
Start with ProfileManager.
|
||||
.TP
|
||||
\fB\-\-no\-remote\fR
|
||||
Do not accept or send remote commands; implies \fB--new-instance\fR.
|
||||
.TP
|
||||
\fB\-\-new\-instance\fR
|
||||
Open new instance, not a new window in running instance.
|
||||
.TP
|
||||
\fB\-\-UILocale\fR \fIlocale\fR
|
||||
Start with \fIlocale\fR resources as UI Locale.
|
||||
.TP
|
||||
\fB\-\-save\-mode\fR
|
||||
Disables extensions and themes for this session.
|
||||
.TP
|
||||
\fB\-\-headless\fR
|
||||
Run without a GUI.
|
||||
.TP
|
||||
\fB\-\-marionette\fR
|
||||
Enable remote control server.
|
||||
.TP
|
||||
\fB\-\-browser\fR
|
||||
Open a browser window.
|
||||
.TP
|
||||
\fB\-\-new-window\fR \fIurl\fR
|
||||
Open \fIurl\fR in a new window.
|
||||
.TP
|
||||
\fB\-\-new-tab\fR \fIurl\fR
|
||||
Open \fIurl\fR in a new tab.
|
||||
.TP
|
||||
\fB\-\-private-window\fR \fIurl\fR
|
||||
Open \fIurl\fR in a new private window.
|
||||
.TP
|
||||
\fB\-\-preferences\fR
|
||||
Open Preferences dialog.
|
||||
.TP
|
||||
\fB\-\-screenshot\fR [\fIpath\fR]
|
||||
Save screenshot to \fIpath\fR or in working directory.
|
||||
.TP
|
||||
\fB\-\-window-size\fR \fIwidth\fR[,\fIheight\fR]
|
||||
Width and optionally height of screenshot.
|
||||
.TP
|
||||
\fB\-\-search\fR \fIterm\fR
|
||||
Search \fIterm\fR with your default search engine.
|
||||
.TP
|
||||
|
||||
|
||||
\fB\-\-jsconsole\fR
|
||||
Open the Browser Console.
|
||||
.TP
|
||||
\fB\-\-jsdebugger\fR
|
||||
Open the Browser Toolbox.
|
||||
.TP
|
||||
\fB\-\-wait-for-jsdebugger\fR
|
||||
Spin event loop until JS debugger connects. Enables debugging (some) application startup code paths. Only has an effect when \fI--jsdebugger\fR is also supplied.
|
||||
.TP
|
||||
\fB\-\-devtools\fR
|
||||
Open DevTools on initial load.
|
||||
.TP
|
||||
\fB\-\-start-debugger-server\fR [ws:][\fIport\fR|\fIpath\fR]
|
||||
Start the debugger server on a TCP port or Unix domain socket path. Defaults to TCP port 6000. Use WebSocket protocol if ws: prefix is specified.
|
||||
.TP
|
||||
\fB\-\-recording\fR \fIfile\fR
|
||||
Record drawing for a given URL.
|
||||
.TP
|
||||
\fB\-\-recording-output\fR \fIfile\fR
|
||||
Specify destination file for a drawing recording.
|
||||
.TP
|
||||
\fB\-\-setDefaultBrowser\fR
|
||||
Set this app as the default browser.
|
||||
|
||||
.SH FILES
|
||||
\fI/usr/bin/firefox\fR - shell script wrapping
|
||||
\fBfirefox\fR
|
||||
.br
|
||||
\fI/usr/lib64/firefox/firefox-bin\fR - \fBfirefox\fR
|
||||
executable
|
||||
|
||||
.SH VERSION
|
||||
57.0
|
||||
|
||||
.SH BUGS
|
||||
To report a bug, please visit \fIhttp://bugzilla.mozilla.org/\fR
|
||||
|
||||
.SH AUTHORS
|
||||
.TP
|
||||
.B The Mozilla Organization
|
||||
.I http://www.mozilla.org/about.html
|
||||
.TP
|
||||
.B Tobias Girstmair
|
||||
.I https://gir.st/
|
272
SOURCES/firefox.desktop
Normal file
272
SOURCES/firefox.desktop
Normal file
@ -0,0 +1,272 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=Firefox
|
||||
GenericName=Web Browser
|
||||
GenericName[ca]=Navegador web
|
||||
GenericName[cs]=Webový prohlížeč
|
||||
GenericName[es]=Navegador web
|
||||
GenericName[fa]=مرورگر اینترنتی
|
||||
GenericName[fi]=WWW-selain
|
||||
GenericName[fr]=Navigateur Web
|
||||
GenericName[hu]=Webböngésző
|
||||
GenericName[it]=Browser Web
|
||||
GenericName[ja]=ウェブ・ブラウザ
|
||||
GenericName[ko]=웹 브라우저
|
||||
GenericName[nb]=Nettleser
|
||||
GenericName[nl]=Webbrowser
|
||||
GenericName[nn]=Nettlesar
|
||||
GenericName[no]=Nettleser
|
||||
GenericName[pl]=Przeglądarka WWW
|
||||
GenericName[pt]=Navegador Web
|
||||
GenericName[pt_BR]=Navegador Web
|
||||
GenericName[sk]=Internetový prehliadač
|
||||
GenericName[sv]=Webbläsare
|
||||
Comment=Browse the Web
|
||||
Comment[ca]=Navegueu per el web
|
||||
Comment[cs]=Prohlížení stránek World Wide Webu
|
||||
Comment[de]=Im Internet surfen
|
||||
Comment[es]=Navegue por la web
|
||||
Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید
|
||||
Comment[fi]=Selaa Internetin WWW-sivuja
|
||||
Comment[fr]=Navigue sur Internet
|
||||
Comment[hu]=A világháló böngészése
|
||||
Comment[it]=Esplora il web
|
||||
Comment[ja]=ウェブを閲覧します
|
||||
Comment[ko]=웹을 돌아 다닙니다
|
||||
Comment[nb]=Surf på nettet
|
||||
Comment[nl]=Verken het internet
|
||||
Comment[nn]=Surf på nettet
|
||||
Comment[no]=Surf på nettet
|
||||
Comment[pl]=Przeglądanie stron WWW
|
||||
Comment[pt]=Navegue na Internet
|
||||
Comment[pt_BR]=Navegue na Internet
|
||||
Comment[sk]=Prehliadanie internetu
|
||||
Comment[sv]=Surfa på webben
|
||||
Exec=firefox %u
|
||||
Icon=firefox
|
||||
Terminal=false
|
||||
Type=Application
|
||||
MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
|
||||
StartupNotify=true
|
||||
Categories=Network;WebBrowser;
|
||||
Keywords=web;browser;internet;
|
||||
Actions=new-window;new-private-window;
|
||||
|
||||
[Desktop Action new-window]
|
||||
Name=Open a New Window
|
||||
Name[ach]=Dirica manyen
|
||||
Name[af]=Nuwe venster
|
||||
Name[an]=Nueva finestra
|
||||
Name[ar]=نافذة جديدة
|
||||
Name[as]=নতুন উইন্ডো
|
||||
Name[ast]=Ventana nueva
|
||||
Name[az]=Yeni Pəncərə
|
||||
Name[be]=Новае акно
|
||||
Name[bg]=Нов прозорец
|
||||
Name[bn-BD]=নতুন উইন্ডো (N)
|
||||
Name[bn-IN]=নতুন উইন্ডো
|
||||
Name[br]=Prenestr nevez
|
||||
Name[brx]=गोदान उइन्ड'(N)
|
||||
Name[bs]=Novi prozor
|
||||
Name[ca]=Finestra nova
|
||||
Name[cak]=K'ak'a' tzuwäch
|
||||
Name[cs]=Nové okno
|
||||
Name[cy]=Ffenestr Newydd
|
||||
Name[da]=Nyt vindue
|
||||
Name[de]=Neues Fenster
|
||||
Name[dsb]=Nowe wokno
|
||||
Name[el]=Νέο παράθυρο
|
||||
Name[en-GB]=New Window
|
||||
Name[en-US]=New Window
|
||||
Name[en-ZA]=New Window
|
||||
Name[eo]=Nova fenestro
|
||||
Name[es-AR]=Nueva ventana
|
||||
Name[es-CL]=Nueva ventana
|
||||
Name[es-ES]=Nueva ventana
|
||||
Name[es-MX]=Nueva ventana
|
||||
Name[et]=Uus aken
|
||||
Name[eu]=Leiho berria
|
||||
Name[fa]=پنجره جدید
|
||||
Name[ff]=Henorde Hesere
|
||||
Name[fi]=Uusi ikkuna
|
||||
Name[fr]=Nouvelle fenêtre
|
||||
Name[fy-NL]=Nij finster
|
||||
Name[ga-IE]=Fuinneog Nua
|
||||
Name[gd]=Uinneag ùr
|
||||
Name[gl]=Nova xanela
|
||||
Name[gn]=Ovetã pyahu
|
||||
Name[gu-IN]=નવી વિન્ડો
|
||||
Name[he]=חלון חדש
|
||||
Name[hi-IN]=नया विंडो
|
||||
Name[hr]=Novi prozor
|
||||
Name[hsb]=Nowe wokno
|
||||
Name[hu]=Új ablak
|
||||
Name[hy-AM]=Նոր Պատուհան
|
||||
Name[id]=Jendela Baru
|
||||
Name[is]=Nýr gluggi
|
||||
Name[it]=Nuova finestra
|
||||
Name[ja]=新しいウィンドウ
|
||||
Name[ja-JP-mac]=新規ウインドウ
|
||||
Name[ka]=ახალი ფანჯარა
|
||||
Name[kk]=Жаңа терезе
|
||||
Name[km]=បង្អួចថ្មី
|
||||
Name[kn]=ಹೊಸ ಕಿಟಕಿ
|
||||
Name[ko]=새 창
|
||||
Name[kok]=नवें जनेल
|
||||
Name[ks]=نئئ وِنڈو
|
||||
Name[lij]=Neuvo barcon
|
||||
Name[lo]=ຫນ້າຕ່າງໃຫມ່
|
||||
Name[lt]=Naujas langas
|
||||
Name[ltg]=Jauns lūgs
|
||||
Name[lv]=Jauns logs
|
||||
Name[mai]=नव विंडो
|
||||
Name[mk]=Нов прозорец
|
||||
Name[ml]=പുതിയ ജാലകം
|
||||
Name[mr]=नवीन पटल
|
||||
Name[ms]=Tetingkap Baru
|
||||
Name[my]=ဝင်းဒိုးအသစ်
|
||||
Name[nb-NO]=Nytt vindu
|
||||
Name[ne-NP]=नयाँ सञ्झ्याल
|
||||
Name[nl]=Nieuw venster
|
||||
Name[nn-NO]=Nytt vindauge
|
||||
Name[or]=ନୂତନ ୱିଣ୍ଡୋ
|
||||
Name[pa-IN]=ਨਵੀਂ ਵਿੰਡੋ
|
||||
Name[pl]=Nowe okno
|
||||
Name[pt-BR]=Nova janela
|
||||
Name[pt-PT]=Nova janela
|
||||
Name[rm]=Nova fanestra
|
||||
Name[ro]=Fereastră nouă
|
||||
Name[ru]=Новое окно
|
||||
Name[sat]=नावा विंडो (N)
|
||||
Name[si]=නව කවුළුවක්
|
||||
Name[sk]=Nové okno
|
||||
Name[sl]=Novo okno
|
||||
Name[son]=Zanfun taaga
|
||||
Name[sq]=Dritare e Re
|
||||
Name[sr]=Нови прозор
|
||||
Name[sv-SE]=Nytt fönster
|
||||
Name[ta]=புதிய சாளரம்
|
||||
Name[te]=కొత్త విండో
|
||||
Name[th]=หน้าต่างใหม่
|
||||
Name[tr]=Yeni pencere
|
||||
Name[tsz]=Eraatarakua jimpani
|
||||
Name[uk]=Нове вікно
|
||||
Name[ur]=نیا دریچہ
|
||||
Name[uz]=Yangi oyna
|
||||
Name[vi]=Cửa sổ mới
|
||||
Name[wo]=Palanteer bu bees
|
||||
Name[xh]=Ifestile entsha
|
||||
Name[zh-CN]=新建窗口
|
||||
Name[zh-TW]=開新視窗
|
||||
|
||||
|
||||
Exec=firefox %u
|
||||
|
||||
[Desktop Action new-private-window]
|
||||
Name=Open a New Private Window
|
||||
Name[ach]=Dirica manyen me mung
|
||||
Name[af]=Nuwe privaatvenster
|
||||
Name[an]=Nueva finestra privada
|
||||
Name[ar]=نافذة خاصة جديدة
|
||||
Name[as]=নতুন ব্যক্তিগত উইন্ডো
|
||||
Name[ast]=Ventana privada nueva
|
||||
Name[az]=Yeni Məxfi Pəncərə
|
||||
Name[be]=Новае акно адасаблення
|
||||
Name[bg]=Нов прозорец за поверително сърфиране
|
||||
Name[bn-BD]=নতুন ব্যক্তিগত উইন্ডো
|
||||
Name[bn-IN]=নতুন ব্যক্তিগত উইন্ডো
|
||||
Name[br]=Prenestr merdeiñ prevez nevez
|
||||
Name[brx]=गोदान प्राइभेट उइन्ड'
|
||||
Name[bs]=Novi privatni prozor
|
||||
Name[ca]=Finestra privada nova
|
||||
Name[cak]=K'ak'a' ichinan tzuwäch
|
||||
Name[cs]=Nové anonymní okno
|
||||
Name[cy]=Ffenestr Breifat Newydd
|
||||
Name[da]=Nyt privat vindue
|
||||
Name[de]=Neues privates Fenster
|
||||
Name[dsb]=Nowe priwatne wokno
|
||||
Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης
|
||||
Name[en-GB]=New Private Window
|
||||
Name[en-US]=New Private Window
|
||||
Name[en-ZA]=New Private Window
|
||||
Name[eo]=Nova privata fenestro
|
||||
Name[es-AR]=Nueva ventana privada
|
||||
Name[es-CL]=Nueva ventana privada
|
||||
Name[es-ES]=Nueva ventana privada
|
||||
Name[es-MX]=Nueva ventana privada
|
||||
Name[et]=Uus privaatne aken
|
||||
Name[eu]=Leiho pribatu berria
|
||||
Name[fa]=پنجره ناشناس جدید
|
||||
Name[ff]=Henorde Suturo Hesere
|
||||
Name[fi]=Uusi yksityinen ikkuna
|
||||
Name[fr]=Nouvelle fenêtre de navigation privée
|
||||
Name[fy-NL]=Nij priveefinster
|
||||
Name[ga-IE]=Fuinneog Nua Phríobháideach
|
||||
Name[gd]=Uinneag phrìobhaideach ùr
|
||||
Name[gl]=Nova xanela privada
|
||||
Name[gn]=Ovetã ñemi pyahu
|
||||
Name[gu-IN]=નવી ખાનગી વિન્ડો
|
||||
Name[he]=חלון פרטי חדש
|
||||
Name[hi-IN]=नयी निजी विंडो
|
||||
Name[hr]=Novi privatni prozor
|
||||
Name[hsb]=Nowe priwatne wokno
|
||||
Name[hu]=Új privát ablak
|
||||
Name[hy-AM]=Սկսել Գաղտնի դիտարկում
|
||||
Name[id]=Jendela Mode Pribadi Baru
|
||||
Name[is]=Nýr huliðsgluggi
|
||||
Name[it]=Nuova finestra anonima
|
||||
Name[ja]=新しいプライベートウィンドウ
|
||||
Name[ja-JP-mac]=新規プライベートウインドウ
|
||||
Name[ka]=ახალი პირადი ფანჯარა
|
||||
Name[kk]=Жаңа жекелік терезе
|
||||
Name[km]=បង្អួចឯកជនថ្មី
|
||||
Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ
|
||||
Name[ko]=새 사생활 보호 모드
|
||||
Name[kok]=नवो खाजगी विंडो
|
||||
Name[ks]=نْو پرایوٹ وینڈو&
|
||||
Name[lij]=Neuvo barcon privou
|
||||
Name[lo]=ເປີດຫນ້າຕ່າງສວນຕົວຂື້ນມາໃຫມ່
|
||||
Name[lt]=Naujas privataus naršymo langas
|
||||
Name[ltg]=Jauns privatais lūgs
|
||||
Name[lv]=Jauns privātais logs
|
||||
Name[mai]=नया निज विंडो (W)
|
||||
Name[mk]=Нов приватен прозорец
|
||||
Name[ml]=പുതിയ സ്വകാര്യ ജാലകം
|
||||
Name[mr]=नवीन वैयक्तिक पटल
|
||||
Name[ms]=Tetingkap Persendirian Baharu
|
||||
Name[my]=New Private Window
|
||||
Name[nb-NO]=Nytt privat vindu
|
||||
Name[ne-NP]=नयाँ निजी सञ्झ्याल
|
||||
Name[nl]=Nieuw privévenster
|
||||
Name[nn-NO]=Nytt privat vindauge
|
||||
Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ
|
||||
Name[pa-IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ
|
||||
Name[pl]=Nowe okno prywatne
|
||||
Name[pt-BR]=Nova janela privativa
|
||||
Name[pt-PT]=Nova janela privada
|
||||
Name[rm]=Nova fanestra privata
|
||||
Name[ro]=Fereastră privată nouă
|
||||
Name[ru]=Новое приватное окно
|
||||
Name[sat]=नावा निजेराक् विंडो (W )
|
||||
Name[si]=නව පුද්ගලික කවුළුව (W)
|
||||
Name[sk]=Nové okno v režime Súkromné prehliadanie
|
||||
Name[sl]=Novo zasebno okno
|
||||
Name[son]=Sutura zanfun taaga
|
||||
Name[sq]=Dritare e Re Private
|
||||
Name[sr]=Нови приватан прозор
|
||||
Name[sv-SE]=Nytt privat fönster
|
||||
Name[ta]=புதிய தனிப்பட்ட சாளரம்
|
||||
Name[te]=కొత్త ఆంతరంగిక విండో
|
||||
Name[th]=หน้าต่างส่วนตัวใหม่
|
||||
Name[tr]=Yeni gizli pencere
|
||||
Name[tsz]=Juchiiti eraatarakua jimpani
|
||||
Name[uk]=Приватне вікно
|
||||
Name[ur]=نیا نجی دریچہ
|
||||
Name[uz]=Yangi maxfiy oyna
|
||||
Name[vi]=Cửa sổ riêng tư mới
|
||||
Name[wo]=Panlanteeru biir bu bees
|
||||
Name[xh]=Ifestile yangasese entsha
|
||||
Name[zh-CN]=新建隐私浏览窗口
|
||||
Name[zh-TW]=新增隱私視窗
|
||||
Exec=firefox --private-window %u
|
||||
|
277
SOURCES/firefox.sh.in
Normal file
277
SOURCES/firefox.sh.in
Normal file
@ -0,0 +1,277 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public
|
||||
# License Version 1.1 (the "License"); you may not use this file
|
||||
# except in compliance with the License. You may obtain a copy of
|
||||
# the License at http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS
|
||||
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
# implied. See the License for the specific language governing
|
||||
# rights and limitations under the License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
|
||||
##
|
||||
## Usage:
|
||||
##
|
||||
## $ firefox
|
||||
##
|
||||
## This script is meant to run a mozilla program from the mozilla
|
||||
## rpm installation.
|
||||
##
|
||||
## The script will setup all the environment voodoo needed to make
|
||||
## mozilla work.
|
||||
|
||||
cmdname=`basename $0`
|
||||
|
||||
##
|
||||
## Variables
|
||||
##
|
||||
MOZ_ARCH=$(uname -m)
|
||||
case $MOZ_ARCH in
|
||||
x86_64 | s390x | sparc64)
|
||||
MOZ_LIB_DIR="/usr/lib64"
|
||||
SECONDARY_LIB_DIR="/usr/lib"
|
||||
;;
|
||||
* )
|
||||
MOZ_LIB_DIR="/usr/lib"
|
||||
SECONDARY_LIB_DIR="/usr/lib64"
|
||||
;;
|
||||
esac
|
||||
|
||||
MOZ_FIREFOX_FILE="firefox"
|
||||
|
||||
if [ ! -r $MOZ_LIB_DIR/firefox/$MOZ_FIREFOX_FILE ]; then
|
||||
if [ ! -r $SECONDARY_LIB_DIR/firefox/$MOZ_FIREFOX_FILE ]; then
|
||||
echo "Error: $MOZ_LIB_DIR/firefox/$MOZ_FIREFOX_FILE not found"
|
||||
if [ -d $SECONDARY_LIB_DIR ]; then
|
||||
echo " $SECONDARY_LIB_DIR/firefox/$MOZ_FIREFOX_FILE not found"
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
MOZ_LIB_DIR="$SECONDARY_LIB_DIR"
|
||||
fi
|
||||
MOZ_DIST_BIN="$MOZ_LIB_DIR/firefox"
|
||||
MOZ_LANGPACKS_DIR="$MOZ_DIST_BIN/langpacks"
|
||||
MOZ_EXTENSIONS_PROFILE_DIR="$HOME/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
|
||||
MOZ_PROGRAM="$MOZ_DIST_BIN/$MOZ_FIREFOX_FILE"
|
||||
MOZ_LAUNCHER="$MOZ_DIST_BIN/run-mozilla.sh"
|
||||
|
||||
##
|
||||
## Set MOZ_GRE_CONF
|
||||
##
|
||||
MOZ_GRE_CONF=/etc/gre.d/gre.conf
|
||||
if [ "$MOZ_LIB_DIR" == "/usr/lib64" ]; then
|
||||
MOZ_GRE_CONF=/etc/gre.d/gre64.conf
|
||||
fi
|
||||
export MOZ_GRE_CONF
|
||||
|
||||
##
|
||||
## Set MOZILLA_FIVE_HOME
|
||||
##
|
||||
MOZILLA_FIVE_HOME="$MOZ_DIST_BIN"
|
||||
|
||||
export MOZILLA_FIVE_HOME
|
||||
|
||||
##
|
||||
## Make sure that we set the plugin path
|
||||
##
|
||||
MOZ_PLUGIN_DIR="plugins"
|
||||
|
||||
if [ "$MOZ_PLUGIN_PATH" ]
|
||||
then
|
||||
MOZ_PLUGIN_PATH=$MOZ_PLUGIN_PATH:$MOZ_LIB_DIR/mozilla/$MOZ_PLUGIN_DIR:$MOZ_DIST_BIN/$MOZ_PLUGIN_DIR
|
||||
else
|
||||
MOZ_PLUGIN_PATH=$MOZ_LIB_DIR/mozilla/$MOZ_PLUGIN_DIR:$MOZ_DIST_BIN/$MOZ_PLUGIN_DIR
|
||||
fi
|
||||
export MOZ_PLUGIN_PATH
|
||||
|
||||
##
|
||||
## Set MOZ_APP_LAUNCHER for gnome-session
|
||||
##
|
||||
export MOZ_APP_LAUNCHER="/usr/bin/firefox"
|
||||
|
||||
##
|
||||
## Set FONTCONFIG_PATH for Xft/fontconfig
|
||||
##
|
||||
FONTCONFIG_PATH="/etc/fonts:${MOZILLA_FIVE_HOME}/res/Xft"
|
||||
export FONTCONFIG_PATH
|
||||
|
||||
##
|
||||
## In order to better support certain scripts (such as Indic and some CJK
|
||||
## scripts), Fedora builds its Firefox, with permission from the Mozilla
|
||||
## Corporation, with the Pango system as its text renderer. This change
|
||||
## may negatively impact performance on some pages. To disable the use of
|
||||
## Pango, set MOZ_DISABLE_PANGO=1 in your environment before launching
|
||||
## Firefox.
|
||||
##
|
||||
#
|
||||
# MOZ_DISABLE_PANGO=1
|
||||
# export MOZ_DISABLE_PANGO
|
||||
#
|
||||
|
||||
##
|
||||
## Disable the GNOME crash dialog, Moz has it's own
|
||||
##
|
||||
GNOME_DISABLE_CRASH_DIALOG=1
|
||||
export GNOME_DISABLE_CRASH_DIALOG
|
||||
|
||||
##
|
||||
## Disable the SLICE allocator (rhbz#1014858)
|
||||
##
|
||||
export G_SLICE=always-malloc
|
||||
|
||||
##
|
||||
## Enable Xinput2 (mozbz#1207973)
|
||||
##
|
||||
export MOZ_USE_XINPUT2=1
|
||||
|
||||
# OK, here's where all the real work gets done
|
||||
|
||||
|
||||
##
|
||||
## To disable the use of Firefox localization, set MOZ_DISABLE_LANGPACKS=1
|
||||
## in your environment before launching Firefox.
|
||||
##
|
||||
#
|
||||
# MOZ_DISABLE_LANGPACKS=1
|
||||
# export MOZ_DISABLE_LANGPACKS
|
||||
#
|
||||
|
||||
##
|
||||
## Automatically installed langpacks are tracked by .fedora-langpack-install
|
||||
## config file.
|
||||
##
|
||||
FEDORA_LANGPACK_CONFIG="$MOZ_EXTENSIONS_PROFILE_DIR/.fedora-langpack-install"
|
||||
|
||||
# Since Firefox 60 the installation of individual langpack cannot be done by
|
||||
# copying xpi file to the home directory, because the langpack is loaded
|
||||
# as to the available languages after the language has been decided and
|
||||
# for the first run it won't be in language according to the locale.
|
||||
#
|
||||
# The current workaround is to put all langpacks to the location
|
||||
# for system wide extensions. So we set MOZ_DISABLE_LANGPACKS=1 for this moment
|
||||
export MOZ_DISABLE_LANGPACKS=1
|
||||
# MOZ_DISABLE_LANGPACKS disables language packs completely
|
||||
MOZILLA_DOWN=0
|
||||
if ! [ $MOZ_DISABLE_LANGPACKS ] || [ $MOZ_DISABLE_LANGPACKS -eq 0 ]; then
|
||||
if [ -x $MOZ_DIST_BIN/$MOZ_FIREFOX_FILE ]; then
|
||||
# Is firefox running?
|
||||
/usr/bin/pidof firefox > /dev/null 2>&1
|
||||
MOZILLA_DOWN=$?
|
||||
fi
|
||||
fi
|
||||
|
||||
# Modify language pack configuration only when firefox is not running
|
||||
# and language packs are not disabled
|
||||
if [ $MOZILLA_DOWN -ne 0 ]; then
|
||||
|
||||
# Clear already installed langpacks
|
||||
mkdir -p $MOZ_EXTENSIONS_PROFILE_DIR
|
||||
if [ -f $FEDORA_LANGPACK_CONFIG ]; then
|
||||
rm `cat $FEDORA_LANGPACK_CONFIG` > /dev/null 2>&1
|
||||
rm $FEDORA_LANGPACK_CONFIG > /dev/null 2>&1
|
||||
# remove all empty langpacks dirs while they block installation of langpacks
|
||||
rmdir $MOZ_EXTENSIONS_PROFILE_DIR/langpack* > /dev/null 2>&1
|
||||
fi
|
||||
|
||||
# Get locale from system
|
||||
CURRENT_LOCALE=$LC_ALL
|
||||
CURRENT_LOCALE=${CURRENT_LOCALE:-$LC_MESSAGES}
|
||||
CURRENT_LOCALE=${CURRENT_LOCALE:-$LANG}
|
||||
|
||||
# Try with a local variant first, then without a local variant
|
||||
SHORTMOZLOCALE=`echo $CURRENT_LOCALE | sed "s|_\([^.]*\).*||g"`
|
||||
MOZLOCALE=`echo $CURRENT_LOCALE | sed "s|_\([^.]*\).*|-\1|g"`
|
||||
|
||||
function create_langpack_link() {
|
||||
local language=$*
|
||||
local langpack=langpack-${language}@firefox.mozilla.org.xpi
|
||||
if [ -f $MOZ_LANGPACKS_DIR/$langpack ]; then
|
||||
rm -rf $MOZ_EXTENSIONS_PROFILE_DIR/$langpack
|
||||
# If the target file is a symlink (the fallback langpack),
|
||||
# install the original file instead of the fallback one
|
||||
if [ -h $MOZ_LANGPACKS_DIR/$langpack ]; then
|
||||
langpack=`readlink $MOZ_LANGPACKS_DIR/$langpack`
|
||||
fi
|
||||
ln -s $MOZ_LANGPACKS_DIR/$langpack \
|
||||
$MOZ_EXTENSIONS_PROFILE_DIR/$langpack
|
||||
echo $MOZ_EXTENSIONS_PROFILE_DIR/$langpack > $FEDORA_LANGPACK_CONFIG
|
||||
return 0
|
||||
fi
|
||||
return 1
|
||||
}
|
||||
|
||||
create_langpack_link $MOZLOCALE || create_langpack_link $SHORTMOZLOCALE || true
|
||||
fi
|
||||
|
||||
# BEAST fix (rhbz#1005611)
|
||||
NSS_SSL_CBC_RANDOM_IV=${NSS_SSL_CBC_RANDOM_IV-1}
|
||||
export NSS_SSL_CBC_RANDOM_IV
|
||||
|
||||
# Prepare command line arguments
|
||||
script_args=""
|
||||
pass_arg_count=0
|
||||
while [ $# -gt $pass_arg_count ]
|
||||
do
|
||||
case "$1" in
|
||||
-g | --debug)
|
||||
script_args="$script_args -g"
|
||||
debugging=1
|
||||
shift
|
||||
;;
|
||||
-d | --debugger)
|
||||
if [ $# -gt 1 ]; then
|
||||
script_args="$script_args -d $2"
|
||||
shift 2
|
||||
else
|
||||
shift
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
# Move the unrecognized argument to the end of the list.
|
||||
arg="$1"
|
||||
shift
|
||||
set -- "$@" "$arg"
|
||||
pass_arg_count=`expr $pass_arg_count + 1`
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Linux version specific environment variables
|
||||
%RHEL_ENV_VARS%
|
||||
|
||||
# Make sure at-spi-bus is running
|
||||
if ! dbus-send --session \
|
||||
--dest=org.freedesktop.DBus \
|
||||
--type=method_call \
|
||||
--print-reply \
|
||||
/org/freedesktop/DBus \
|
||||
org.freedesktop.DBus.ListNames \
|
||||
| grep org.a11y.Bus > /dev/null; then
|
||||
if [ -f "$MOZ_LIB_DIR/firefox/bundled/libexec/at-spi-bus-launcher" ]; then
|
||||
echo "Starting a11y dbus service..."
|
||||
$MOZ_LIB_DIR/firefox/bundled/libexec/at-spi-bus-launcher &
|
||||
else
|
||||
echo "Running without a11y support!"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Run the browser
|
||||
debugging=0
|
||||
if [ $debugging = 1 ]
|
||||
then
|
||||
echo $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@"
|
||||
fi
|
||||
|
||||
|
||||
exec $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@"
|
1
SOURCES/google-api-key
Normal file
1
SOURCES/google-api-key
Normal file
@ -0,0 +1 @@
|
||||
AIzaSyBPGXa4AYD4FC3HJK7LnIKxm4fDusVuuco
|
53
SOURCES/gtk3-private-3.22.26-1-files.inc
Normal file
53
SOURCES/gtk3-private-3.22.26-1-files.inc
Normal file
@ -0,0 +1,53 @@
|
||||
%dir %{gtk3_install_path}/bin
|
||||
%{gtk3_install_path}/bin/gdk-pixbuf-query-loaders-%{__isa_bits}
|
||||
%{gtk3_install_path}/bin/gdk-pixbuf-thumbnailer
|
||||
%{gtk3_install_path}/bin/gio-querymodules-%{__isa_bits}
|
||||
%{gtk3_install_path}/bin/glib-compile-schemas
|
||||
%{gtk3_install_path}/bin/gtk-query-immodules-3.0-%{__isa_bits}
|
||||
%{gtk3_install_path}/bin/gtk-update-icon-cache
|
||||
%{gtk3_install_path}/bin/fc-cache
|
||||
|
||||
%{gtk3_install_path}/etc
|
||||
|
||||
%dir %{gtk3_install_path}/%{_lib}
|
||||
%{gtk3_install_path}/%{_lib}/libatk-1.0.so.*
|
||||
%{gtk3_install_path}/%{_lib}/libatk-bridge-2.0.so.*
|
||||
%{gtk3_install_path}/%{_lib}/libatspi.so.*
|
||||
%{gtk3_install_path}/%{_lib}/libcairo.so.*
|
||||
%{gtk3_install_path}/%{_lib}/libcairo-gobject.so.*
|
||||
%{gtk3_install_path}/%{_lib}/libfontconfig.so.*
|
||||
%{gtk3_install_path}/%{_lib}/libfreetype.so.*
|
||||
%{gtk3_install_path}/%{_lib}/libgdk-3.so.*
|
||||
%{gtk3_install_path}/%{_lib}/libgdk_pixbuf-2.0.so.*
|
||||
%{gtk3_install_path}/%{_lib}/libgio-2.0.so.*
|
||||
%{gtk3_install_path}/%{_lib}/libglib-2.0.so.*
|
||||
%{gtk3_install_path}/%{_lib}/libgmodule-2.0.so.*
|
||||
%{gtk3_install_path}/%{_lib}/libgobject-2.0.so.*
|
||||
%{gtk3_install_path}/%{_lib}/libgthread-2.0.so.*
|
||||
%{gtk3_install_path}/%{_lib}/libgtk-3.so.*
|
||||
%{gtk3_install_path}/%{_lib}/libharfbuzz.so.*
|
||||
%{gtk3_install_path}/%{_lib}/libpango-1.0.so.*
|
||||
%{gtk3_install_path}/%{_lib}/libpangocairo-1.0.so.*
|
||||
%{gtk3_install_path}/%{_lib}/libpangoft2-1.0.so.*
|
||||
%{gtk3_install_path}/%{_lib}/libpcre.so.*
|
||||
%{gtk3_install_path}/%{_lib}/librsvg-2.so.*
|
||||
%dir %{gtk3_install_path}/%{_lib}/cairo
|
||||
%{gtk3_install_path}/%{_lib}/cairo/cairo-fdr.so.*
|
||||
%{gtk3_install_path}/%{_lib}/cairo/cairo-sphinx.so.*
|
||||
%{gtk3_install_path}/%{_lib}/cairo/libcairo-trace.so.*
|
||||
%{gtk3_install_path}/%{_lib}/gdk-pixbuf-2.0
|
||||
%ghost %attr(644, root, root) %{gtk3_install_path}/%{_lib}/gdk-pixbuf-2.0/2.10.0/loaders.cache
|
||||
%{gtk3_install_path}/%{_lib}/gio
|
||||
%ghost %attr(644, root, root) %{gtk3_install_path}/%{_lib}/gio/modules/giomodule.cache
|
||||
%{gtk3_install_path}/%{_lib}/gtk-3.0
|
||||
|
||||
%{gtk3_install_path}/libexec
|
||||
|
||||
%{gtk3_install_path}/share
|
||||
%ghost %attr(644, root, root) %{gtk3_install_path}/share/icons/Adwaita/icon-theme.cache
|
||||
%ghost %attr(644, root, root) %{gtk3_install_path}/share/icons/hicolor/icon-theme.cache
|
||||
%ghost %attr(644, root, root) %{gtk3_install_path}/share/glib-2.0/schemas/gschemas.compiled
|
||||
|
||||
%{gtk3_install_path}/var
|
||||
%dir %{gtk3_install_path}/var/cache/fontconfig
|
||||
|
23
SOURCES/gtk3-private-3.22.26-1-post.inc
Normal file
23
SOURCES/gtk3-private-3.22.26-1-post.inc
Normal file
@ -0,0 +1,23 @@
|
||||
# adwaita-icon-theme
|
||||
touch --no-create %{gtk3_install_path}/share/icons/Adwaita &>/dev/null || :
|
||||
touch --no-create %{gtk3_install_path}/share/icons/hicolor &>/dev/null || :
|
||||
%{gtk3_install_path}/bin/gdk-pixbuf-query-loaders-%{__isa_bits} --update-cache || :
|
||||
|
||||
# glib2
|
||||
%{gtk3_install_path}/bin/gio-querymodules-%{__isa_bits} %{gtk3_install_path}/%{_lib}/gio/modules
|
||||
|
||||
# gtk3
|
||||
%{gtk3_install_path}/bin/gtk-query-immodules-3.0-%{__isa_bits} --update-cache
|
||||
%{gtk3_install_path}/bin/glib-compile-schemas %{gtk3_install_path}/share/glib-2.0/schemas &> /dev/null || :
|
||||
|
||||
# fontconfig
|
||||
umask 0022
|
||||
|
||||
# Force regeneration of all fontconfig cache files
|
||||
# The check for existance is needed on dual-arch installs (the second
|
||||
# copy of fontconfig might install the binary instead of the first)
|
||||
# The HOME setting is to avoid problems if HOME hasn't been reset
|
||||
# FIXME hardcoded version !
|
||||
if [ -x %{gtk3_install_path}/bin/fc-cache ] && %{gtk3_install_path}/bin/fc-cache --version 2>&1 | grep -q 2.10.95 ; then
|
||||
HOME=/root %{gtk3_install_path}/bin/fc-cache -f
|
||||
fi
|
3
SOURCES/gtk3-private-3.22.26-1-posttrans.inc
Normal file
3
SOURCES/gtk3-private-3.22.26-1-posttrans.inc
Normal file
@ -0,0 +1,3 @@
|
||||
%{gtk3_install_path}/gtk-update-icon-cache %{gtk3_install_path}/share/icons/hicolor &>/dev/null || :
|
||||
# adwaita
|
||||
%{gtk3_install_path}/gtk-update-icon-cache %{gtk3_install_path}/share/icons/Adwaita &>/dev/null || :
|
27
SOURCES/gtk3-private-3.22.26-1-postun.inc
Normal file
27
SOURCES/gtk3-private-3.22.26-1-postun.inc
Normal file
@ -0,0 +1,27 @@
|
||||
# adwaita
|
||||
if [ $1 -eq 0 ] ; then
|
||||
touch --no-create %{gtk3_install_path}/share/icons/Adwaita &>/dev/null
|
||||
touch --no-create %{gtk3_install_path}/share/icons/hicolor &>/dev/null
|
||||
%{gtk3_install_path}/bin/gtk-update-icon-cache %{gtk3_install_path}/share/icons/Adwaita &>/dev/null || :
|
||||
%{gtk3_install_path}/bin/gtk-update-icon-cache %{gtk3_install_path}/share/icons/hicolor &>/dev/null || :
|
||||
fi
|
||||
|
||||
# gdk-pixbuf2
|
||||
if [ $1 -gt 0 ]; then
|
||||
%{gtk3_install_path}/bin/gdk-pixbuf-query-loaders-%{__isa_bits} --update-cache || :
|
||||
fi
|
||||
|
||||
# glib2
|
||||
[ ! -x %{gtk3_install_path}/bin/gio-querymodules-%{__isa_bits} ] || \
|
||||
%{gtk3_install_path}/bin/gio-querymodules-%{__isa_bits} %{gtk3_install_path}/%{_lib}/gio/modules
|
||||
|
||||
# gtk3
|
||||
if [ $1 -gt 0 ]; then
|
||||
%{gtk3_install_path}/bin/gtk-query-immodules-3.0-%{__isa_bits} --update-cache
|
||||
fi
|
||||
|
||||
if [ $1 -eq 0 ] ; then
|
||||
rm -rf %{gtk3_install_path}/var/cache/fontconfig/* &>/dev/null || :
|
||||
fi
|
||||
|
||||
%{gtk3_install_path}/bin/glib-compile-schemas %{gtk3_install_path}/share/glib-2.0/schemas &> /dev/null || :
|
26
SOURCES/gtk3-private-3.22.26-1-requires-provides-filter.inc
Normal file
26
SOURCES/gtk3-private-3.22.26-1-requires-provides-filter.inc
Normal file
@ -0,0 +1,26 @@
|
||||
%filter_provides_in %{gtk3_install_path}/%{_lib}
|
||||
%filter_requires_in %{gtk3_install_path}/%{_lib}
|
||||
|
||||
%filter_from_requires /libgdk-3.*/d
|
||||
%filter_from_requires /libatk-1.0.so.*/d
|
||||
%filter_from_requires /libatk-bridge-2.0.so.*/d
|
||||
%filter_from_requires /libatspi.so.*/d
|
||||
%filter_from_requires /libcairo.so.*/d
|
||||
%filter_from_requires /libcairo-gobject.so.*/d
|
||||
%filter_from_requires /libfontconfig.so.*/d
|
||||
%filter_from_requires /libfreetype.so.*/d
|
||||
%filter_from_requires /libgdk-3.so.*/d
|
||||
%filter_from_requires /libgdk_pixbuf-2.0.so.*/d
|
||||
%filter_from_requires /libgio-2.0.so.*/d
|
||||
%filter_from_requires /libglib-2.0.so.*/d
|
||||
%filter_from_requires /libgmodule-2.0.so.*/d
|
||||
%filter_from_requires /libgobject-2.0.so.*/d
|
||||
%filter_from_requires /libgthread-2.0.so.*/d
|
||||
%filter_from_requires /libgtk-3.so.*/d
|
||||
%filter_from_requires /libharfbuzz.so.*/d
|
||||
%filter_from_requires /libpango-1.0.so.*/d
|
||||
%filter_from_requires /libpangocairo-1.0.so.*/d
|
||||
%filter_from_requires /libpangoft2-1.0.so.*/d
|
||||
%filter_from_requires /libpcre.so.*/d
|
||||
|
||||
# Don't forget to call %%filter_setup from the consumer!
|
34
SOURCES/gtk3-private-3.22.26-1-setup-flags-env.inc
Normal file
34
SOURCES/gtk3-private-3.22.26-1-setup-flags-env.inc
Normal file
@ -0,0 +1,34 @@
|
||||
%if "%{name}" == "gtk3-private"
|
||||
function prepend_buildroot_include_path_to_compiler_flags() {
|
||||
export CFLAGS="-I%{_buildrootdir}%{gtk3_install_path}/$@ $CFLAGS" \
|
||||
export CXXFLAGS="-I%{_buildrootdir}%{gtk3_install_path}/$@ $CXXFLAGS"
|
||||
}
|
||||
|
||||
prepend_buildroot_include_path_to_compiler_flags include
|
||||
prepend_buildroot_include_path_to_compiler_flags include/glib-2.0
|
||||
prepend_buildroot_include_path_to_compiler_flags include/glib-2.0
|
||||
prepend_buildroot_include_path_to_compiler_flags include/gio-unix-2.0
|
||||
prepend_buildroot_include_path_to_compiler_flags %{_lib}/glib-2.0/include
|
||||
prepend_buildroot_include_path_to_compiler_flags include/freetype2
|
||||
prepend_buildroot_include_path_to_compiler_flags include/fontconfig
|
||||
prepend_buildroot_include_path_to_compiler_flags include/harfbuzz
|
||||
prepend_buildroot_include_path_to_compiler_flags include/gdk-pixbuf-2.0
|
||||
prepend_buildroot_include_path_to_compiler_flags include/atk-1.0
|
||||
prepend_buildroot_include_path_to_compiler_flags include/at-spi-2.0
|
||||
prepend_buildroot_include_path_to_compiler_flags include/at-spi2-atk/2.0
|
||||
prepend_buildroot_include_path_to_compiler_flags include/cairo
|
||||
prepend_buildroot_include_path_to_compiler_flags include/pango-1.0
|
||||
prepend_buildroot_include_path_to_compiler_flags include/librsvg-2.0
|
||||
prepend_buildroot_include_path_to_compiler_flags include/cairo
|
||||
prepend_buildroot_include_path_to_compiler_flags include/gtk-3.0
|
||||
prepend_buildroot_include_path_to_compiler_flags include/gtk-3.0/unix-print
|
||||
prepend_buildroot_include_path_to_compiler_flags include/librsvg-2.0
|
||||
%else
|
||||
sed -i 's@%{gtk3_install_path}@%{_buildrootdir}%{gtk3_install_path}@g' %{_buildrootdir}%{gtk3_install_path}/%{_lib}/pkgconfig/*.pc
|
||||
%endif
|
||||
|
||||
export LDFLAGS="-L%{_buildrootdir}%{gtk3_install_path}/%{_lib} $LDFLAGS"
|
||||
export LDFLAGS="-Wl,-rpath,%{gtk3_install_path}/%{_lib} $LDFLAGS"
|
||||
export LDFLAGS="-Wl,-rpath-link,%{_buildrootdir}%{gtk3_install_path}/%{_lib} $LDFLAGS"
|
||||
|
||||
export PKG_CONFIG_PATH=%{_buildrootdir}%{gtk3_install_path}/%{_lib}/pkgconfig
|
30
SOURCES/mozilla-1005640-accept-lang.patch
Normal file
30
SOURCES/mozilla-1005640-accept-lang.patch
Normal file
@ -0,0 +1,30 @@
|
||||
diff -up firefox-51.0/toolkit/mozapps/extensions/internal/XPIProvider.jsm.1005640-accept-lang firefox-51.0/toolkit/mozapps/extensions/internal/XPIProvider.jsm
|
||||
--- firefox-51.0/toolkit/mozapps/extensions/internal/XPIProvider.jsm.1005640-accept-lang 2017-01-16 17:16:52.000000000 +0100
|
||||
+++ firefox-51.0/toolkit/mozapps/extensions/internal/XPIProvider.jsm 2017-01-18 12:35:29.380394216 +0100
|
||||
@@ -2852,6 +2852,11 @@ this.XPIProvider = {
|
||||
this.addAddonsToCrashReporter();
|
||||
}
|
||||
|
||||
+ // Save locale settings to compare it later to check whenever some addon
|
||||
+ // changed it.
|
||||
+ var previousLocale = Cc["@mozilla.org/chrome/chrome-registry;1"]
|
||||
+ .getService(Ci.nsIXULChromeRegistry).getSelectedLocale("global");
|
||||
+
|
||||
try {
|
||||
AddonManagerPrivate.recordTimestamp("XPI_bootstrap_addons_begin");
|
||||
|
||||
@@ -2880,6 +2885,14 @@ this.XPIProvider = {
|
||||
AddonManagerPrivate.recordException("XPI-BOOTSTRAP", "startup failed", e);
|
||||
}
|
||||
|
||||
+ var currentLocale = Cc["@mozilla.org/chrome/chrome-registry;1"]
|
||||
+ .getService(Ci.nsIXULChromeRegistry).getSelectedLocale("global");
|
||||
+ if (currentLocale != previousLocale) {
|
||||
+ // We have to flush string cache if the locale was changed during loading
|
||||
+ // of addons
|
||||
+ Services.obs.notifyObservers(null, "chrome-flush-caches", null);
|
||||
+ }
|
||||
+
|
||||
// Let these shutdown a little earlier when they still have access to most
|
||||
// of XPCOM
|
||||
Services.obs.addObserver({
|
98
SOURCES/mozilla-1170092.patch
Normal file
98
SOURCES/mozilla-1170092.patch
Normal file
@ -0,0 +1,98 @@
|
||||
diff -up firefox-60.5.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 firefox-60.5.0/extensions/pref/autoconfig/src/nsReadConfig.cpp
|
||||
--- firefox-60.5.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 2019-01-22 10:48:38.187383614 +0100
|
||||
+++ firefox-60.5.0/extensions/pref/autoconfig/src/nsReadConfig.cpp 2019-01-22 11:26:11.027108692 +0100
|
||||
@@ -225,8 +225,20 @@ nsresult nsReadConfig::openAndEvaluateJS
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile);
|
||||
- if (NS_FAILED(rv)) return rv;
|
||||
+ if (NS_FAILED(rv)) {
|
||||
+ // Look for cfg file in /etc/<application>/pref
|
||||
+ rv = NS_GetSpecialDirectory(NS_APP_PREFS_SYSTEM_CONFIG_DIR,
|
||||
+ getter_AddRefs(jsFile));
|
||||
+ NS_ENSURE_SUCCESS(rv, rv);
|
||||
+
|
||||
+ rv = jsFile->AppendNative(NS_LITERAL_CSTRING("pref"));
|
||||
+ NS_ENSURE_SUCCESS(rv, rv);
|
||||
+ rv = jsFile->AppendNative(nsDependentCString(aFileName));
|
||||
+ NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
+ rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile);
|
||||
+ NS_ENSURE_SUCCESS(rv, rv);
|
||||
+ }
|
||||
} else {
|
||||
nsAutoCString location("resource://gre/defaults/autoconfig/");
|
||||
location += aFileName;
|
||||
diff -up firefox-60.5.0/modules/libpref/Preferences.cpp.1170092 firefox-60.5.0/modules/libpref/Preferences.cpp
|
||||
--- firefox-60.5.0/modules/libpref/Preferences.cpp.1170092 2019-01-21 17:38:16.000000000 +0100
|
||||
+++ firefox-60.5.0/modules/libpref/Preferences.cpp 2019-01-22 10:48:38.187383614 +0100
|
||||
@@ -3459,6 +3459,8 @@ static nsresult pref_ReadPrefFromJar(nsZ
|
||||
//
|
||||
// Thus, in the omni.jar case, we always load app-specific default
|
||||
// preferences from omni.jar, whether or not `$app == $gre`.
|
||||
+ // At very end load configuration from system config location:
|
||||
+ // - /etc/firefox/pref/*.js
|
||||
|
||||
nsresult rv;
|
||||
nsZipFind* findPtr;
|
||||
diff -up firefox-60.5.0/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-60.5.0/toolkit/xre/nsXREDirProvider.cpp
|
||||
--- firefox-60.5.0/toolkit/xre/nsXREDirProvider.cpp.1170092 2019-01-21 17:38:51.000000000 +0100
|
||||
+++ firefox-60.5.0/toolkit/xre/nsXREDirProvider.cpp 2019-01-22 11:37:01.868896974 +0100
|
||||
@@ -58,6 +58,7 @@
|
||||
#endif
|
||||
#ifdef XP_UNIX
|
||||
#include <ctype.h>
|
||||
+#include "nsIXULAppInfo.h"
|
||||
#endif
|
||||
#ifdef XP_IOS
|
||||
#include "UIKitDirProvider.h"
|
||||
@@ -491,6 +492,21 @@ nsXREDirProvider::GetFile(const char* aP
|
||||
}
|
||||
}
|
||||
}
|
||||
+
|
||||
+#if defined(XP_UNIX)
|
||||
+ if (!strcmp(aProperty, NS_APP_PREFS_SYSTEM_CONFIG_DIR)) {
|
||||
+ nsCString sysConfigDir = NS_LITERAL_CSTRING("/etc/");
|
||||
+ nsCOMPtr<nsIXULAppInfo> appInfo = do_GetService("@mozilla.org/xre/app-info;1");
|
||||
+ if (!appInfo)
|
||||
+ return NS_ERROR_NOT_AVAILABLE;
|
||||
+ nsCString appName;
|
||||
+ 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) {
|
||||
@@ -796,6 +812,16 @@ nsresult nsXREDirProvider::GetFilesInter
|
||||
LoadDirIntoArray(mXULAppDir, kAppendPrefDir, directories);
|
||||
LoadDirsIntoArray(mAppBundleDirectories, kAppendPrefDir, directories);
|
||||
|
||||
+ // Add /etc/<application>/pref/ directory if it exists
|
||||
+ nsCOMPtr<nsIFile> systemPrefDir;
|
||||
+ rv = NS_GetSpecialDirectory(NS_APP_PREFS_SYSTEM_CONFIG_DIR,
|
||||
+ getter_AddRefs(systemPrefDir));
|
||||
+ if (NS_SUCCEEDED(rv)) {
|
||||
+ rv = systemPrefDir->AppendNative(NS_LITERAL_CSTRING("pref"));
|
||||
+ if (NS_SUCCEEDED(rv))
|
||||
+ directories.AppendObject(systemPrefDir);
|
||||
+ }
|
||||
+
|
||||
rv = NS_NewArrayEnumerator(aResult, directories);
|
||||
} 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-60.5.0/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 firefox-60.5.0/xpcom/io/nsAppDirectoryServiceDefs.h
|
||||
--- firefox-60.5.0/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 2019-01-22 10:48:38.188383609 +0100
|
||||
+++ firefox-60.5.0/xpcom/io/nsAppDirectoryServiceDefs.h 2019-01-22 11:08:12.068459480 +0100
|
||||
@@ -62,6 +62,7 @@
|
||||
#define NS_APP_PREFS_DEFAULTS_DIR_LIST "PrefDL"
|
||||
#define NS_APP_PREFS_OVERRIDE_DIR \
|
||||
"PrefDOverride" // Directory for per-profile defaults
|
||||
+#define NS_APP_PREFS_SYSTEM_CONFIG_DIR "PrefSysConf" // Directory with system-wide configuration
|
||||
|
||||
#define NS_APP_USER_PROFILE_50_DIR "ProfD"
|
||||
#define NS_APP_USER_PROFILE_LOCAL_50_DIR "ProfLD"
|
13
SOURCES/mozilla-1196777.patch
Normal file
13
SOURCES/mozilla-1196777.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff -up firefox-60.5.0/widget/gtk/nsWindow.cpp.1196777 firefox-60.5.0/widget/gtk/nsWindow.cpp
|
||||
--- firefox-60.5.0/widget/gtk/nsWindow.cpp.1196777 2019-01-22 11:41:58.630469400 +0100
|
||||
+++ firefox-60.5.0/widget/gtk/nsWindow.cpp 2019-01-22 11:42:50.134227448 +0100
|
||||
@@ -152,7 +152,8 @@ const gint kEvents =
|
||||
#if GTK_CHECK_VERSION(3, 4, 0)
|
||||
GDK_SMOOTH_SCROLL_MASK | GDK_TOUCH_MASK |
|
||||
#endif
|
||||
- GDK_SCROLL_MASK | GDK_POINTER_MOTION_MASK | GDK_PROPERTY_CHANGE_MASK;
|
||||
+ GDK_SCROLL_MASK | GDK_POINTER_MOTION_MASK | GDK_PROPERTY_CHANGE_MASK |
|
||||
+ GDK_FOCUS_CHANGE_MASK;
|
||||
|
||||
/* utility functions */
|
||||
static bool is_mouse_in_window(GdkWindow *aWindow, gdouble aMouseX,
|
27
SOURCES/mozilla-1353817.patch
Normal file
27
SOURCES/mozilla-1353817.patch
Normal file
@ -0,0 +1,27 @@
|
||||
From 1cc652f5525f458b0b4ceb12af24bf5a4367db32 Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
|
||||
Date: Tue, 23 May 2017 13:09:48 -0400
|
||||
Subject: [PATCH] Bug 1353817: Include SkNx_neon.h for ARM64 too
|
||||
|
||||
This fixes build errors as arm_neon.h was missing along with some
|
||||
missing converters.
|
||||
---
|
||||
gfx/skia/skia/src/core/SkNx.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gfx/skia/skia/src/core/SkNx.h b/gfx/skia/skia/src/core/SkNx.h
|
||||
index 6bca856..b0427aa 100644
|
||||
--- a/gfx/skia/skia/src/core/SkNx.h
|
||||
+++ b/gfx/skia/skia/src/core/SkNx.h
|
||||
@@ -299,7 +299,7 @@ typedef SkNx<4, uint32_t> Sk4u;
|
||||
// Include platform specific specializations if available.
|
||||
#if !defined(SKNX_NO_SIMD) && SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE2
|
||||
#include "../opts/SkNx_sse.h"
|
||||
-#elif !defined(SKNX_NO_SIMD) && defined(SK_ARM_HAS_NEON)
|
||||
+#elif !defined(SKNX_NO_SIMD) && (defined(SK_ARM_HAS_NEON) || defined(SK_CPU_ARM64))
|
||||
#include "../opts/SkNx_neon.h"
|
||||
#else
|
||||
|
||||
--
|
||||
2.9.4
|
||||
|
56
SOURCES/mozilla-1436242.patch
Normal file
56
SOURCES/mozilla-1436242.patch
Normal file
@ -0,0 +1,56 @@
|
||||
|
||||
# HG changeset patch
|
||||
# User Jed Davis <jld@mozilla.com>
|
||||
# Date 1526943705 21600
|
||||
# Node ID 6bb3adfa15c6877f7874429462dad88f8c978c4f
|
||||
# Parent 4c71c8454879c841871ecf3afb7dbdc96bad97fc
|
||||
Bug 1436242 - Avoid undefined behavior in IPC fd-passing code. r=froydnj
|
||||
|
||||
MozReview-Commit-ID: 3szIPUssgF5
|
||||
|
||||
diff --git a/ipc/chromium/src/chrome/common/ipc_channel_posix.cc b/ipc/chromium/src/chrome/common/ipc_channel_posix.cc
|
||||
--- a/ipc/chromium/src/chrome/common/ipc_channel_posix.cc
|
||||
+++ b/ipc/chromium/src/chrome/common/ipc_channel_posix.cc
|
||||
@@ -418,20 +418,37 @@ bool Channel::ChannelImpl::ProcessIncomi
|
||||
const int* fds;
|
||||
unsigned num_fds;
|
||||
unsigned fds_i = 0; // the index of the first unused descriptor
|
||||
|
||||
if (input_overflow_fds_.empty()) {
|
||||
fds = wire_fds;
|
||||
num_fds = num_wire_fds;
|
||||
} else {
|
||||
- const size_t prev_size = input_overflow_fds_.size();
|
||||
- input_overflow_fds_.resize(prev_size + num_wire_fds);
|
||||
- memcpy(&input_overflow_fds_[prev_size], wire_fds,
|
||||
- num_wire_fds * sizeof(int));
|
||||
+ // This code may look like a no-op in the case where
|
||||
+ // num_wire_fds == 0, but in fact:
|
||||
+ //
|
||||
+ // 1. wire_fds will be nullptr, so passing it to memcpy is
|
||||
+ // undefined behavior according to the C standard, even though
|
||||
+ // the memcpy length is 0.
|
||||
+ //
|
||||
+ // 2. prev_size will be an out-of-bounds index for
|
||||
+ // input_overflow_fds_; this is undefined behavior according to
|
||||
+ // the C++ standard, even though the element only has its
|
||||
+ // pointer taken and isn't accessed (and the corresponding
|
||||
+ // operation on a C array would be defined).
|
||||
+ //
|
||||
+ // UBSan makes #1 a fatal error, and assertions in libstdc++ do
|
||||
+ // the same for #2 if enabled.
|
||||
+ if (num_wire_fds > 0) {
|
||||
+ const size_t prev_size = input_overflow_fds_.size();
|
||||
+ input_overflow_fds_.resize(prev_size + num_wire_fds);
|
||||
+ memcpy(&input_overflow_fds_[prev_size], wire_fds,
|
||||
+ num_wire_fds * sizeof(int));
|
||||
+ }
|
||||
fds = &input_overflow_fds_[0];
|
||||
num_fds = input_overflow_fds_.size();
|
||||
}
|
||||
|
||||
// The data for the message we're currently reading consists of any data
|
||||
// stored in incoming_message_ followed by data in input_buf_ (followed by
|
||||
// other messages).
|
||||
|
||||
|
12
SOURCES/mozilla-256180.patch
Normal file
12
SOURCES/mozilla-256180.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up firefox-60.5.0/layout/generic/nsIFrame.h.256180 firefox-60.5.0/layout/generic/nsIFrame.h
|
||||
--- firefox-60.5.0/layout/generic/nsIFrame.h.256180 2019-01-22 11:44:10.849848268 +0100
|
||||
+++ firefox-60.5.0/layout/generic/nsIFrame.h 2019-01-22 11:44:53.918645941 +0100
|
||||
@@ -13,7 +13,7 @@
|
||||
#error This header/class should only be used within Mozilla code. It should not be used by extensions.
|
||||
#endif
|
||||
|
||||
-#define MAX_REFLOW_DEPTH 200
|
||||
+#define MAX_REFLOW_DEPTH 1000
|
||||
|
||||
/* nsIFrame is in the process of being deCOMtaminated, i.e., this file is
|
||||
eventually going to be eliminated, and all callers will use nsFrame instead.
|
14
SOURCES/mozilla-526293.patch
Normal file
14
SOURCES/mozilla-526293.patch
Normal file
@ -0,0 +1,14 @@
|
||||
diff -up firefox-60.6.0/widget/gtk/nsFilePicker.cpp.old firefox-60.6.0/widget/gtk/nsFilePicker.cpp
|
||||
--- firefox-60.6.0/widget/gtk/nsFilePicker.cpp.old 2019-03-27 10:29:47.918560620 +0100
|
||||
+++ firefox-60.6.0/widget/gtk/nsFilePicker.cpp 2019-03-27 10:30:08.384491717 +0100
|
||||
@@ -366,9 +366,7 @@ nsFilePicker::Open(nsIFilePickerShownCal
|
||||
// If we have --enable-proxy-bypass-protection, then don't allow
|
||||
// remote URLs to be used.
|
||||
#ifndef MOZ_PROXY_BYPASS_PROTECTION
|
||||
- if (mAllowURLs) {
|
||||
- gtk_file_chooser_set_local_only(GTK_FILE_CHOOSER(file_chooser), FALSE);
|
||||
- }
|
||||
+ gtk_file_chooser_set_local_only(GTK_FILE_CHOOSER(file_chooser), FALSE);
|
||||
#endif
|
||||
|
||||
if (action == GTK_FILE_CHOOSER_ACTION_OPEN ||
|
1
SOURCES/mozilla-api-key
Normal file
1
SOURCES/mozilla-api-key
Normal file
@ -0,0 +1 @@
|
||||
9008bb7e-1e22-4038-94fe-047dd48ccc0b
|
14
SOURCES/mozilla-build-arm.patch
Normal file
14
SOURCES/mozilla-build-arm.patch
Normal file
@ -0,0 +1,14 @@
|
||||
diff -up firefox-52.0/gfx/skia/skia/include/core/SkPreConfig.h.arm firefox-52.0/gfx/skia/skia/include/core/SkPreConfig.h
|
||||
--- firefox-52.0/gfx/skia/skia/include/core/SkPreConfig.h.arm 2017-03-03 13:53:52.480754536 +0100
|
||||
+++ firefox-52.0/gfx/skia/skia/include/core/SkPreConfig.h 2017-03-03 13:56:01.476018102 +0100
|
||||
@@ -203,6 +203,10 @@
|
||||
#define SK_ARM_HAS_CRC32
|
||||
#endif
|
||||
|
||||
+#if defined(__aarch64__)
|
||||
+ #undef SK_ARM_HAS_NEON
|
||||
+#endif
|
||||
+
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
#if !defined(SKIA_IMPLEMENTATION)
|
12
SOURCES/rhbz-1173156.patch
Normal file
12
SOURCES/rhbz-1173156.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up firefox-60.5.0/extensions/auth/nsAuthSambaNTLM.cpp.rhbz-1173156 firefox-60.5.0/extensions/auth/nsAuthSambaNTLM.cpp
|
||||
--- firefox-60.5.0/extensions/auth/nsAuthSambaNTLM.cpp.rhbz-1173156 2019-01-22 10:36:09.284069020 +0100
|
||||
+++ firefox-60.5.0/extensions/auth/nsAuthSambaNTLM.cpp 2019-01-22 10:37:12.669757744 +0100
|
||||
@@ -161,7 +161,7 @@ nsresult nsAuthSambaNTLM::SpawnNTLMAuthH
|
||||
const char* username = PR_GetEnv("USER");
|
||||
if (!username) return NS_ERROR_FAILURE;
|
||||
|
||||
- const char* const args[] = {"ntlm_auth",
|
||||
+ const char* const args[] = {"/usr/bin/ntlm_auth",
|
||||
"--helper-protocol",
|
||||
"ntlmssp-client-1",
|
||||
"--use-cached-creds",
|
12
SOURCES/rhbz-1354671.patch
Normal file
12
SOURCES/rhbz-1354671.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up firefox-60.5.0/layout/base/nsIPresShell.h.1354671 firefox-60.5.0/layout/base/nsIPresShell.h
|
||||
--- firefox-60.5.0/layout/base/nsIPresShell.h.1354671 2019-01-22 16:08:40.796539950 +0100
|
||||
+++ firefox-60.5.0/layout/base/nsIPresShell.h 2019-01-22 16:10:25.106069228 +0100
|
||||
@@ -204,7 +204,7 @@ class nsIPresShell : public nsStubDocume
|
||||
* to the same aSize value. AllocateFrame is infallible and will abort
|
||||
* on out-of-memory.
|
||||
*/
|
||||
- void* AllocateFrame(nsQueryFrame::FrameIID aID, size_t aSize) {
|
||||
+ void* __attribute__((optimize("no-lifetime-dse"))) AllocateFrame(nsQueryFrame::FrameIID aID, size_t aSize) {
|
||||
void* result = mFrameArena.AllocateByFrameID(aID, aSize);
|
||||
RecordAlloc(result);
|
||||
return result;
|
19
SOURCES/rhbz-1503632-nss.patch
Normal file
19
SOURCES/rhbz-1503632-nss.patch
Normal file
@ -0,0 +1,19 @@
|
||||
diff -up firefox-60.5.0/security/certverifier/NSSCertDBTrustDomain.cpp.1503632-nss firefox-60.5.0/security/certverifier/NSSCertDBTrustDomain.cpp
|
||||
--- firefox-60.5.0/security/certverifier/NSSCertDBTrustDomain.cpp.1503632-nss 2019-01-22 11:38:49.484365928 +0100
|
||||
+++ firefox-60.5.0/security/certverifier/NSSCertDBTrustDomain.cpp 2019-01-22 11:40:52.694779150 +0100
|
||||
@@ -1077,13 +1077,11 @@ SECStatus InitializeNSS(const nsACString
|
||||
if (!loadPKCS11Modules) {
|
||||
flags |= NSS_INIT_NOMODDB;
|
||||
}
|
||||
- nsAutoCString dbTypeAndDirectory("sql:");
|
||||
- dbTypeAndDirectory.Append(dir);
|
||||
MOZ_LOG(gCertVerifierLog, LogLevel::Debug,
|
||||
- ("InitializeNSS(%s, %d, %d)", dbTypeAndDirectory.get(), readOnly,
|
||||
+ ("InitializeNSS(%s, %d, %d)", PromiseFlatCString(dir).get(), readOnly,
|
||||
loadPKCS11Modules));
|
||||
SECStatus srv =
|
||||
- NSS_Initialize(dbTypeAndDirectory.get(), "", "", SECMOD_DB, flags);
|
||||
+ NSS_Initialize(PromiseFlatCString(dir).get(), "", "", SECMOD_DB, flags);
|
||||
if (srv != SECSuccess) {
|
||||
return srv;
|
||||
}
|
12
SOURCES/xulrunner-24.0-jemalloc-ppc.patch
Normal file
12
SOURCES/xulrunner-24.0-jemalloc-ppc.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up firefox-60.5.0/memory/build/mozjemalloc.cpp.jemalloc-ppc firefox-60.5.0/memory/build/mozjemalloc.cpp
|
||||
--- firefox-60.5.0/memory/build/mozjemalloc.cpp.jemalloc-ppc 2019-01-22 10:25:30.764207480 +0100
|
||||
+++ firefox-60.5.0/memory/build/mozjemalloc.cpp 2019-01-22 10:28:48.352235343 +0100
|
||||
@@ -180,7 +180,7 @@ using namespace mozilla;
|
||||
// Debug builds are opted out too, for test coverage.
|
||||
#ifndef MOZ_DEBUG
|
||||
#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && \
|
||||
- !defined(__aarch64__)
|
||||
+ !defined(__aarch64__) && !defined(__powerpc__)
|
||||
#define MALLOC_STATIC_PAGESIZE 1
|
||||
#endif
|
||||
#endif
|
1408
SPECS/firefox.spec
Normal file
1408
SPECS/firefox.spec
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user