import thunderbird-68.3.0-2.el8_1
This commit is contained in:
parent
0f3d73aba7
commit
ff345a171b
.gitignore.thunderbird.metadata
SOURCES
build-aarch64-skia.patchbuild-disable-elfhack.patchbuild-gdk-version.patchbuild-icu-big-endian.patchbuild-jit-atomic-always-lucky.patchbuild-nss-version.patchbuild-ppc64le-inline.patchfirefox-debugedits-error.patchfirefox-dont-check-binary.patchfirefox-rhel6-hugepage.patchfirefox-rhel6-nss-tls1.3.patchmozilla-1170092.patchmozilla-1353817.patchmozilla-1436242.patchmozilla-1460871-ldap-query.patchmozilla-256180.patchno-rust-lto.patchnode-stdout-nonblocking-wrappernss-build-mozilla-1564499.patchpython-2.7-gcc8-fix.patchpython-2.7.patchpython-encode.patchpython-missing-utimensat.patchrhbz-1354671.patchrust-network-check.patchthunderbird-mozconfigxulrunner-24.0-jemalloc-ppc.patch
SPECS
10
.gitignore
vendored
10
.gitignore
vendored
@ -1,7 +1,11 @@
|
||||
SOURCES/Python-2.7.13.tar.xz
|
||||
SOURCES/Python-3.6.8.tar.xz
|
||||
SOURCES/cbindgen-vendor.tar.xz
|
||||
SOURCES/gtk3-private-3.22.26-1.el6.src.rpm
|
||||
SOURCES/libffi-3.0.13-18.el7_3.src.rpm
|
||||
SOURCES/lightning-langpacks-60.7.0.tar.xz
|
||||
SOURCES/thunderbird-60.7.0.source.tar.xz
|
||||
SOURCES/thunderbird-langpacks-60.7.0-20190520.tar.xz
|
||||
SOURCES/lightning-langpacks-68.3.0.tar.xz
|
||||
SOURCES/nodejs-8.11.4-1.3.fc27.src.rpm
|
||||
SOURCES/openssl-1.0.2k-19.6.bundle.el7_7.src.rpm
|
||||
SOURCES/thunderbird-68.3.0.source.tar.xz
|
||||
SOURCES/thunderbird-langpacks-68.3.0-20191202.tar.xz
|
||||
SOURCES/yasm-1.2.0-3.el5.src.rpm
|
||||
|
@ -1,7 +1,11 @@
|
||||
18a8f30a0356c751b8d0ea6f76e764cab13ee046 SOURCES/Python-2.7.13.tar.xz
|
||||
ee55acedef049268307633cbc9c7ff0610d1244f SOURCES/Python-3.6.8.tar.xz
|
||||
e86c38c48960b95353503b78e1de9ddca1ed34d7 SOURCES/cbindgen-vendor.tar.xz
|
||||
0de63f863b158454b9429234b52ed28a397ec45c SOURCES/gtk3-private-3.22.26-1.el6.src.rpm
|
||||
e188ab1a444697bc649e223c28389d82ca94c472 SOURCES/libffi-3.0.13-18.el7_3.src.rpm
|
||||
27325758061b85882d0b21834ccb1249dbf32d81 SOURCES/lightning-langpacks-60.7.0.tar.xz
|
||||
23b4227d9459d2100f580af68139f6641fc24c66 SOURCES/thunderbird-60.7.0.source.tar.xz
|
||||
ea4041cafc04999e714a223d0b07dc08c1fefeff SOURCES/thunderbird-langpacks-60.7.0-20190520.tar.xz
|
||||
52e3db96daa8c54295b6fe958f4dd5d7ca902534 SOURCES/lightning-langpacks-68.3.0.tar.xz
|
||||
4f8d3bf2483d95261ff90742ecec82d6a899eca3 SOURCES/nodejs-8.11.4-1.3.fc27.src.rpm
|
||||
a379070abf5000cde61411c97af7e733b267a4d3 SOURCES/openssl-1.0.2k-19.6.bundle.el7_7.src.rpm
|
||||
1602af5c854109d939528ec14ada80103030128d SOURCES/thunderbird-68.3.0.source.tar.xz
|
||||
9f691d8b90eda93a423d17f6ff45ddc81f63b6b4 SOURCES/thunderbird-langpacks-68.3.0-20191202.tar.xz
|
||||
77fd30f7ebc12a629a31c1e252cec06af55a71fe SOURCES/yasm-1.2.0-3.el5.src.rpm
|
||||
|
@ -1,12 +0,0 @@
|
||||
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)
|
@ -1,12 +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')
|
||||
diff -up thunderbird-68.1.1/toolkit/moz.configure.elfhack thunderbird-68.1.1/toolkit/moz.configure
|
||||
--- thunderbird-68.1.1/toolkit/moz.configure.elfhack 2019-10-04 08:33:32.881241826 +0200
|
||||
+++ thunderbird-68.1.1/toolkit/moz.configure 2019-10-04 08:38:35.422159976 +0200
|
||||
@@ -1130,7 +1130,7 @@ with only_when('--enable-compile-environ
|
||||
help='{Enable|Disable} elf hacks')
|
||||
|
||||
set_config('USE_ELF_HACK',
|
||||
- depends_if('--enable-elf-hack')(lambda _: True))
|
||||
+ depends_if('--enable-elf-hack')(lambda _: False))
|
||||
set_config('USE_ELF_HACK',
|
||||
- depends_if('--enable-elf-hack')(lambda _: True))
|
||||
+ depends_if('--enable-elf-hack')(lambda _: False))
|
||||
|
||||
|
||||
@depends(check_build_environment)
|
||||
|
@ -1,19 +0,0 @@
|
||||
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
|
@ -1,12 +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
|
||||
diff -up thunderbird-68.1.1/build/autoconf/icu.m4.icu thunderbird-68.1.1/build/autoconf/icu.m4
|
||||
--- thunderbird-68.1.1/build/autoconf/icu.m4.icu 2019-10-04 09:48:47.337041046 +0200
|
||||
+++ thunderbird-68.1.1/build/autoconf/icu.m4 2019-10-04 09:52:32.046670353 +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
|
||||
|
||||
AC_SUBST(MOZ_ICU_VERSION)
|
||||
|
@ -1,12 +0,0 @@
|
||||
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
|
@ -1,12 +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,
|
||||
diff -up thunderbird-68.2.0/old-configure.in.nss-version thunderbird-68.2.0/old-configure.in
|
||||
--- thunderbird-68.2.0/old-configure.in.nss-version 2019-10-22 14:50:42.649086398 +0200
|
||||
+++ thunderbird-68.2.0/old-configure.in 2019-10-22 14:51:11.567171593 +0200
|
||||
@@ -1537,7 +1537,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])])
|
||||
- AM_PATH_NSS(3.44.3, [MOZ_SYSTEM_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])])
|
||||
+ AM_PATH_NSS(3.44.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
|
||||
NSS_CFLAGS="$NSS_CFLAGS -I${DIST}/include/nss"
|
||||
|
27
SOURCES/build-ppc64le-inline.patch
Normal file
27
SOURCES/build-ppc64le-inline.patch
Normal file
@ -0,0 +1,27 @@
|
||||
diff -up firefox-68.1.0/js/xpconnect/src/XPCWrappedNative.cpp.ppc64le-inline firefox-68.1.0/js/xpconnect/src/XPCWrappedNative.cpp
|
||||
--- firefox-68.1.0/js/xpconnect/src/XPCWrappedNative.cpp.ppc64le-inline 2019-08-26 18:52:28.000000000 +0200
|
||||
+++ firefox-68.1.0/js/xpconnect/src/XPCWrappedNative.cpp 2019-08-29 08:49:57.695687874 +0200
|
||||
@@ -1092,7 +1092,11 @@ class MOZ_STACK_CLASS CallMethodHelper f
|
||||
MOZ_ALWAYS_INLINE bool GetOutParamSource(uint8_t paramIndex,
|
||||
MutableHandleValue srcp) const;
|
||||
|
||||
+#if (__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
|
||||
+ bool GatherAndConvertResults();
|
||||
+#else
|
||||
MOZ_ALWAYS_INLINE bool GatherAndConvertResults();
|
||||
+#endif
|
||||
|
||||
MOZ_ALWAYS_INLINE bool QueryInterfaceFastPath();
|
||||
|
||||
@@ -1139,7 +1143,11 @@ class MOZ_STACK_CLASS CallMethodHelper f
|
||||
|
||||
~CallMethodHelper();
|
||||
|
||||
+#if (__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
|
||||
+ bool Call();
|
||||
+#else
|
||||
MOZ_ALWAYS_INLINE bool Call();
|
||||
+#endif
|
||||
|
||||
// Trace implementation so we can put our CallMethodHelper in a Rooted<T>.
|
||||
void trace(JSTracer* aTrc);
|
50
SOURCES/firefox-debugedits-error.patch
Normal file
50
SOURCES/firefox-debugedits-error.patch
Normal file
@ -0,0 +1,50 @@
|
||||
diff -up firefox-68.0/media/libyuv/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium.old firefox-68.0/media/libyuv/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium
|
||||
diff -up firefox-68.0/media/webrtc/trunk/Makefile.old firefox-68.0/media/webrtc/trunk/Makefile
|
||||
diff -up firefox-68.0/media/webrtc/trunk/webrtc/modules/audio_processing/utility/ooura_fft.cc.old firefox-68.0/media/webrtc/trunk/webrtc/modules/audio_processing/utility/ooura_fft.cc
|
||||
--- firefox-68.0/media/webrtc/trunk/webrtc/modules/audio_processing/utility/ooura_fft.cc.old 2019-06-12 08:17:02.673268442 +0200
|
||||
+++ firefox-68.0/media/webrtc/trunk/webrtc/modules/audio_processing/utility/ooura_fft.cc 2019-06-12 08:17:13.582328073 +0200
|
||||
@@ -21,7 +21,7 @@
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
-#include "modules/audio_processing//utility/ooura_fft.h"
|
||||
+#include "modules/audio_processing/utility/ooura_fft.h"
|
||||
|
||||
#include <math.h>
|
||||
|
||||
diff -up firefox-68.0/media/webrtc/trunk/webrtc/modules/audio_processing/utility/ooura_fft_sse2.cc.old firefox-68.0/media/webrtc/trunk/webrtc/modules/audio_processing/utility/ooura_fft_sse2.cc
|
||||
--- firefox-68.0/media/webrtc/trunk/webrtc/modules/audio_processing/utility/ooura_fft_sse2.cc.old 2019-06-12 08:17:36.671454285 +0200
|
||||
+++ firefox-68.0/media/webrtc/trunk/webrtc/modules/audio_processing/utility/ooura_fft_sse2.cc 2019-06-12 08:17:46.989510679 +0200
|
||||
@@ -8,7 +8,7 @@
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
-#include "modules/audio_processing//utility/ooura_fft.h"
|
||||
+#include "modules/audio_processing/utility/ooura_fft.h"
|
||||
|
||||
#include <emmintrin.h>
|
||||
|
||||
diff -up firefox-68.0/third_party/aom/aom_dsp/x86/masked_sad_intrin_avx2.c.old firefox-68.0/third_party/aom/aom_dsp/x86/masked_sad_intrin_avx2.c
|
||||
--- firefox-68.0/third_party/aom/aom_dsp/x86/masked_sad_intrin_avx2.c.old 2019-06-12 08:16:15.673011534 +0200
|
||||
+++ firefox-68.0/third_party/aom/aom_dsp/x86/masked_sad_intrin_avx2.c 2019-06-12 08:16:22.602049410 +0200
|
||||
@@ -17,7 +17,7 @@
|
||||
#include "aom_dsp/blend.h"
|
||||
#include "aom/aom_integer.h"
|
||||
#include "aom_dsp/x86/synonyms.h"
|
||||
-#include "aom_dsp/x86//masked_sad_intrin_ssse3.h"
|
||||
+#include "aom_dsp/x86/masked_sad_intrin_ssse3.h"
|
||||
|
||||
static INLINE unsigned int masked_sad32xh_avx2(
|
||||
const uint8_t *src_ptr, int src_stride, const uint8_t *a_ptr, int a_stride,
|
||||
diff -up firefox-68.0/third_party/aom/aom_dsp/x86/masked_sad_intrin_ssse3.c.old firefox-68.0/third_party/aom/aom_dsp/x86/masked_sad_intrin_ssse3.c
|
||||
--- firefox-68.0/third_party/aom/aom_dsp/x86/masked_sad_intrin_ssse3.c.old 2019-06-12 08:16:35.404119384 +0200
|
||||
+++ firefox-68.0/third_party/aom/aom_dsp/x86/masked_sad_intrin_ssse3.c 2019-06-12 08:16:43.415163174 +0200
|
||||
@@ -19,7 +19,7 @@
|
||||
#include "aom/aom_integer.h"
|
||||
#include "aom_dsp/x86/synonyms.h"
|
||||
|
||||
-#include "aom_dsp/x86//masked_sad_intrin_ssse3.h"
|
||||
+#include "aom_dsp/x86/masked_sad_intrin_ssse3.h"
|
||||
|
||||
// For width a multiple of 16
|
||||
static INLINE unsigned int masked_sad_ssse3(const uint8_t *src_ptr,
|
47
SOURCES/firefox-dont-check-binary.patch
Normal file
47
SOURCES/firefox-dont-check-binary.patch
Normal file
@ -0,0 +1,47 @@
|
||||
diff -up firefox-68.0/config/rules.mk.old firefox-68.0/config/rules.mk
|
||||
--- firefox-68.0/config/rules.mk.old 2019-06-26 09:36:58.537034443 +0200
|
||||
+++ firefox-68.0/config/rules.mk 2019-06-26 09:37:38.004970573 +0200
|
||||
@@ -569,7 +569,6 @@ ifdef MOZ_PROFILE_GENERATE
|
||||
endif
|
||||
else # !WINNT || GNU_CC
|
||||
$(call EXPAND_CC_OR_CXX,$@) -o $@ $(COMPUTED_CXX_LDFLAGS) $(PGO_CFLAGS) $($(notdir $@)_$(OBJS_VAR_SUFFIX)) $(RESFILE) $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(STATIC_LIBS) $(RUST_STATIC_LIB) $(MOZ_PROGRAM_LDFLAGS) $(SHARED_LIBS) $(OS_LIBS)
|
||||
- $(call py_action,check_binary,--target $@)
|
||||
endif # WINNT && !GNU_CC
|
||||
|
||||
ifdef ENABLE_STRIP
|
||||
@@ -604,9 +603,6 @@ else
|
||||
$(HOST_CC) -o $@ $(HOST_C_LDFLAGS) $(HOST_LDFLAGS) $($(notdir $@)_OBJS) $(HOST_LIBS) $(HOST_EXTRA_LIBS)
|
||||
endif # HOST_CPP_PROG_LINK
|
||||
endif
|
||||
-ifndef CROSS_COMPILE
|
||||
- $(call py_action,check_binary,--host $@)
|
||||
-endif
|
||||
|
||||
#
|
||||
# This is an attempt to support generation of multiple binaries
|
||||
@@ -630,7 +626,6 @@ ifdef MSMANIFEST_TOOL
|
||||
endif # MSVC with manifest tool
|
||||
else
|
||||
$(call EXPAND_CC_OR_CXX,$@) $(COMPUTED_CXX_LDFLAGS) $(PGO_CFLAGS) -o $@ $($@_$(OBJS_VAR_SUFFIX)) $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(STATIC_LIBS) $(MOZ_PROGRAM_LDFLAGS) $(SHARED_LIBS) $(OS_LIBS)
|
||||
- $(call py_action,check_binary,--target $@)
|
||||
endif # WINNT && !GNU_CC
|
||||
|
||||
ifdef ENABLE_STRIP
|
||||
@@ -651,9 +646,6 @@ else
|
||||
$(HOST_CC) $(HOST_OUTOPTION)$@ $(HOST_C_LDFLAGS) $($(notdir $@)_OBJS) $(HOST_LIBS) $(HOST_EXTRA_LIBS)
|
||||
endif
|
||||
endif
|
||||
-ifndef CROSS_COMPILE
|
||||
- $(call py_action,check_binary,--host $@)
|
||||
-endif
|
||||
|
||||
$(LIBRARY): $(OBJS) $(STATIC_LIBS) $(EXTRA_DEPS) $(GLOBAL_DEPS)
|
||||
$(REPORT_BUILD)
|
||||
@@ -691,7 +683,6 @@ ifndef INCREMENTAL_LINKER
|
||||
$(RM) $@
|
||||
endif
|
||||
$(MKSHLIB) $($@_$(OBJS_VAR_SUFFIX)) $(RESFILE) $(LDFLAGS) $(STATIC_LIBS) $(RUST_STATIC_LIB) $(SHARED_LIBS) $(EXTRA_DSO_LDOPTS) $(MOZ_GLUE_LDFLAGS) $(OS_LIBS)
|
||||
- $(call py_action,check_binary,--target $@)
|
||||
|
||||
ifeq (_WINNT,$(GNU_CC)_$(OS_ARCH))
|
||||
ifdef MSMANIFEST_TOOL
|
13
SOURCES/firefox-rhel6-hugepage.patch
Normal file
13
SOURCES/firefox-rhel6-hugepage.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff -up firefox-68.1.0/xpcom/threads/nsThread.cpp.old firefox-68.1.0/xpcom/threads/nsThread.cpp
|
||||
--- firefox-68.1.0/xpcom/threads/nsThread.cpp.old 2019-09-20 12:17:35.481661390 +0200
|
||||
+++ firefox-68.1.0/xpcom/threads/nsThread.cpp 2019-09-20 12:19:14.269180516 +0200
|
||||
@@ -556,7 +556,8 @@ void nsThread::InitCommon() {
|
||||
// kernel report them as separate regions, even when they are adjacent to
|
||||
// heap memory. This allows us to accurately track the actual memory
|
||||
// consumption of our allocated stacks.
|
||||
- madvise(mStackBase, stackSize, MADV_NOHUGEPAGE);
|
||||
+ // not supported on RHEL6
|
||||
+ // madvise(mStackBase, stackSize, MADV_NOHUGEPAGE);
|
||||
|
||||
pthread_attr_destroy(&attr);
|
||||
#elif defined(XP_WIN)
|
13
SOURCES/firefox-rhel6-nss-tls1.3.patch
Normal file
13
SOURCES/firefox-rhel6-nss-tls1.3.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff -up firefox-68.2.0/security/manager/ssl/nsNSSComponent.cpp.old firefox-68.2.0/security/manager/ssl/nsNSSComponent.cpp
|
||||
--- firefox-68.2.0/security/manager/ssl/nsNSSComponent.cpp.old 2019-10-24 14:20:21.227037984 +0200
|
||||
+++ firefox-68.2.0/security/manager/ssl/nsNSSComponent.cpp 2019-10-24 14:45:52.769506967 +0200
|
||||
@@ -996,6 +996,9 @@ void nsNSSComponent::FillTLSVersionRange
|
||||
return;
|
||||
}
|
||||
|
||||
+ // Enable TLS 1.3 as our NSS supports it.
|
||||
+ supported.max = 0x304;
|
||||
+
|
||||
// Clip the defaults by what NSS actually supports to enable
|
||||
// working with a system NSS with different ranges.
|
||||
rangeOut.min = std::max(rangeOut.min, supported.min);
|
@ -1,7 +1,7 @@
|
||||
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
|
||||
diff -up thunderbird-68.1.1/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 thunderbird-68.1.1/extensions/pref/autoconfig/src/nsReadConfig.cpp
|
||||
--- thunderbird-68.1.1/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 2019-09-24 16:36:11.000000000 +0200
|
||||
+++ thunderbird-68.1.1/extensions/pref/autoconfig/src/nsReadConfig.cpp 2019-10-03 11:27:33.905512072 +0200
|
||||
@@ -246,8 +246,20 @@ nsresult nsReadConfig::openAndEvaluateJS
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile);
|
||||
@ -23,30 +23,22 @@ diff -up firefox-60.5.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092
|
||||
} 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
|
||||
diff -up thunderbird-68.1.1/modules/libpref/Preferences.cpp.1170092 thunderbird-68.1.1/modules/libpref/Preferences.cpp
|
||||
--- thunderbird-68.1.1/modules/libpref/Preferences.cpp.1170092 2019-09-24 16:36:50.000000000 +0200
|
||||
+++ thunderbird-68.1.1/modules/libpref/Preferences.cpp 2019-10-03 11:27:33.906512075 +0200
|
||||
@@ -4436,6 +4436,8 @@ static nsresult pref_ReadDefaultPrefs(co
|
||||
//
|
||||
// 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;
|
||||
nsresult rv = NS_ERROR_FAILURE;
|
||||
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
|
||||
diff -up thunderbird-68.1.1/toolkit/xre/nsXREDirProvider.cpp.1170092 thunderbird-68.1.1/toolkit/xre/nsXREDirProvider.cpp
|
||||
--- thunderbird-68.1.1/toolkit/xre/nsXREDirProvider.cpp.1170092 2019-09-24 16:37:39.000000000 +0200
|
||||
+++ thunderbird-68.1.1/toolkit/xre/nsXREDirProvider.cpp 2019-10-03 11:33:45.858681620 +0200
|
||||
@@ -524,6 +524,21 @@ nsXREDirProvider::GetFile(const char* aP
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -68,7 +60,7 @@ diff -up firefox-60.5.0/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-60.5.0/
|
||||
if (NS_FAILED(rv) || !file) return NS_ERROR_FAILURE;
|
||||
|
||||
if (ensureFilePermissions) {
|
||||
@@ -796,6 +812,16 @@ nsresult nsXREDirProvider::GetFilesInter
|
||||
@@ -880,6 +895,16 @@ nsresult nsXREDirProvider::GetFilesInter
|
||||
LoadDirIntoArray(mXULAppDir, kAppendPrefDir, directories);
|
||||
LoadDirsIntoArray(mAppBundleDirectories, kAppendPrefDir, directories);
|
||||
|
||||
@ -82,12 +74,12 @@ diff -up firefox-60.5.0/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-60.5.0/
|
||||
+ directories.AppendObject(systemPrefDir);
|
||||
+ }
|
||||
+
|
||||
rv = NS_NewArrayEnumerator(aResult, directories);
|
||||
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-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
|
||||
diff -up thunderbird-68.1.1/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 thunderbird-68.1.1/xpcom/io/nsAppDirectoryServiceDefs.h
|
||||
--- thunderbird-68.1.1/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 2019-09-24 16:37:44.000000000 +0200
|
||||
+++ thunderbird-68.1.1/xpcom/io/nsAppDirectoryServiceDefs.h 2019-10-03 11:27:33.907512077 +0200
|
||||
@@ -62,6 +62,7 @@
|
||||
#define NS_APP_PREFS_DEFAULTS_DIR_LIST "PrefDL"
|
||||
#define NS_APP_PREFS_OVERRIDE_DIR \
|
||||
|
@ -1,27 +1,12 @@
|
||||
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;
|
||||
diff -up thunderbird-68.1.1/gfx/skia/skia/include/private/SkNx.h.1353817 thunderbird-68.1.1/gfx/skia/skia/include/private/SkNx.h
|
||||
--- thunderbird-68.1.1/gfx/skia/skia/include/private/SkNx.h.1353817 2019-10-10 10:41:44.488904790 +0200
|
||||
+++ thunderbird-68.1.1/gfx/skia/skia/include/private/SkNx.h 2019-10-10 10:42:24.553039632 +0200
|
||||
@@ -416,7 +416,7 @@ typedef SkNx<8, uint32_t> Sk8u;
|
||||
// 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"
|
||||
#include "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"
|
||||
#include "SkNx_neon.h"
|
||||
#else
|
||||
|
||||
--
|
||||
2.9.4
|
||||
|
||||
|
@ -1,56 +0,0 @@
|
||||
|
||||
# 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).
|
||||
|
||||
|
@ -1,164 +0,0 @@
|
||||
diff -up thunderbird-60.2.1/comm/ldap/xpcom/public/nsILDAPOperation.idl.1460871-ldap-query thunderbird-60.2.1/comm/ldap/xpcom/public/nsILDAPOperation.idl
|
||||
--- thunderbird-60.2.1/comm/ldap/xpcom/public/nsILDAPOperation.idl.1460871-ldap-query 2018-10-01 16:52:39.000000000 +0200
|
||||
+++ thunderbird-60.2.1/comm/ldap/xpcom/public/nsILDAPOperation.idl 2018-10-04 09:40:04.491575949 +0200
|
||||
@@ -52,6 +52,10 @@ interface nsILDAPOperation : nsISupports
|
||||
* private parameter (anything caller desires)
|
||||
*/
|
||||
attribute nsISupports closure;
|
||||
+ /**
|
||||
+ * number of the request for compare that the request is still valid.
|
||||
+ */
|
||||
+ attribute unsigned long requestNum;
|
||||
|
||||
/**
|
||||
* No time and/or size limit specified
|
||||
diff -up thunderbird-60.2.1/comm/ldap/xpcom/src/nsLDAPOperation.cpp.1460871-ldap-query thunderbird-60.2.1/comm/ldap/xpcom/src/nsLDAPOperation.cpp
|
||||
--- thunderbird-60.2.1/comm/ldap/xpcom/src/nsLDAPOperation.cpp.1460871-ldap-query 2018-10-01 16:52:39.000000000 +0200
|
||||
+++ thunderbird-60.2.1/comm/ldap/xpcom/src/nsLDAPOperation.cpp 2018-10-04 09:40:04.491575949 +0200
|
||||
@@ -400,6 +400,19 @@ convertControlArray(nsIArray *aXpcomArra
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
+ /* attribute unsigned long requestNum; */
|
||||
+NS_IMETHODIMP nsLDAPOperation::GetRequestNum(uint32_t *aRequestNum)
|
||||
+{
|
||||
+ *aRequestNum = mRequestNum;
|
||||
+ return NS_OK;
|
||||
+}
|
||||
+
|
||||
+NS_IMETHODIMP nsLDAPOperation::SetRequestNum(uint32_t aRequestNum)
|
||||
+{
|
||||
+ mRequestNum = aRequestNum;
|
||||
+ return NS_OK;
|
||||
+}
|
||||
+
|
||||
NS_IMETHODIMP
|
||||
nsLDAPOperation::SearchExt(const nsACString& aBaseDn, int32_t aScope,
|
||||
const nsACString& aFilter,
|
||||
diff -up thunderbird-60.2.1/comm/ldap/xpcom/src/nsLDAPOperation.h.1460871-ldap-query thunderbird-60.2.1/comm/ldap/xpcom/src/nsLDAPOperation.h
|
||||
--- thunderbird-60.2.1/comm/ldap/xpcom/src/nsLDAPOperation.h.1460871-ldap-query 2018-10-01 16:52:39.000000000 +0200
|
||||
+++ thunderbird-60.2.1/comm/ldap/xpcom/src/nsLDAPOperation.h 2018-10-04 09:40:04.491575949 +0200
|
||||
@@ -36,6 +36,8 @@ class nsLDAPOperation : public nsILDAPOp
|
||||
* used to break cycles
|
||||
*/
|
||||
void Clear();
|
||||
+ // Stores the request number for later check of the operation is still valid
|
||||
+ int32_t mRequestNum;
|
||||
|
||||
private:
|
||||
virtual ~nsLDAPOperation();
|
||||
diff -up thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPDirectoryQuery.cpp.1460871-ldap-query thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPDirectoryQuery.cpp
|
||||
--- thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPDirectoryQuery.cpp.1460871-ldap-query 2018-10-01 16:52:43.000000000 +0200
|
||||
+++ thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPDirectoryQuery.cpp 2018-10-04 09:40:55.334670404 +0200
|
||||
@@ -22,6 +22,8 @@
|
||||
|
||||
using namespace mozilla;
|
||||
|
||||
+extern mozilla::LazyLogModule gLDAPLogModule; // defined in nsLDAPService.cpp
|
||||
+
|
||||
// nsAbLDAPListenerBase inherits nsILDAPMessageListener
|
||||
class nsAbQueryLDAPMessageListener : public nsAbLDAPListenerBase
|
||||
{
|
||||
@@ -66,7 +68,6 @@ protected:
|
||||
|
||||
bool mFinished;
|
||||
bool mCanceled;
|
||||
- bool mWaitingForPrevQueryToFinish;
|
||||
|
||||
nsCOMPtr<nsIMutableArray> mServerSearchControls;
|
||||
nsCOMPtr<nsIMutableArray> mClientSearchControls;
|
||||
@@ -94,7 +95,6 @@ nsAbQueryLDAPMessageListener::nsAbQueryL
|
||||
mResultLimit(resultLimit),
|
||||
mFinished(false),
|
||||
mCanceled(false),
|
||||
- mWaitingForPrevQueryToFinish(false),
|
||||
mServerSearchControls(serverSearchControls),
|
||||
mClientSearchControls(clientSearchControls)
|
||||
{
|
||||
@@ -116,9 +116,6 @@ nsresult nsAbQueryLDAPMessageListener::C
|
||||
return NS_OK;
|
||||
|
||||
mCanceled = true;
|
||||
- if (!mFinished)
|
||||
- mWaitingForPrevQueryToFinish = true;
|
||||
-
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
@@ -129,6 +126,8 @@ NS_IMETHODIMP nsAbQueryLDAPMessageListen
|
||||
|
||||
int32_t messageType;
|
||||
rv = aMessage->GetType(&messageType);
|
||||
+ uint32_t requestNum;
|
||||
+ mOperation->GetRequestNum(&requestNum);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
bool cancelOperation = false;
|
||||
@@ -137,6 +136,14 @@ NS_IMETHODIMP nsAbQueryLDAPMessageListen
|
||||
{
|
||||
MutexAutoLock lock (mLock);
|
||||
|
||||
+ if (requestNum != sCurrentRequestNum) {
|
||||
+ MOZ_LOG(gLDAPLogModule, mozilla::LogLevel::Debug,
|
||||
+ ("nsAbQueryLDAPMessageListener::OnLDAPMessage: Ignoring message with "
|
||||
+ "request num %d, current request num is %d.",
|
||||
+ requestNum, sCurrentRequestNum));
|
||||
+ return NS_OK;
|
||||
+ }
|
||||
+
|
||||
if (mFinished)
|
||||
return NS_OK;
|
||||
|
||||
@@ -166,11 +173,10 @@ NS_IMETHODIMP nsAbQueryLDAPMessageListen
|
||||
rv = OnLDAPMessageSearchResult(aMessage);
|
||||
break;
|
||||
case nsILDAPMessage::RES_SEARCH_ENTRY:
|
||||
- if (!mFinished && !mWaitingForPrevQueryToFinish)
|
||||
+ if (!mFinished)
|
||||
rv = OnLDAPMessageSearchEntry(aMessage);
|
||||
break;
|
||||
case nsILDAPMessage::RES_SEARCH_RESULT:
|
||||
- mWaitingForPrevQueryToFinish = false;
|
||||
rv = OnLDAPMessageSearchResult(aMessage);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
break;
|
||||
@@ -207,6 +213,8 @@ nsresult nsAbQueryLDAPMessageListener::D
|
||||
rv = mOperation->Init(mConnection, this, nullptr);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
+ mOperation->SetRequestNum(++sCurrentRequestNum);
|
||||
+
|
||||
nsAutoCString dn;
|
||||
rv = mSearchUrl->GetDn(dn);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
diff -up thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPListenerBase.cpp.1460871-ldap-query thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPListenerBase.cpp
|
||||
--- thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPListenerBase.cpp.1460871-ldap-query 2018-10-01 16:52:43.000000000 +0200
|
||||
+++ thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPListenerBase.cpp 2018-10-04 09:40:04.492575951 +0200
|
||||
@@ -20,6 +20,8 @@
|
||||
|
||||
using namespace mozilla;
|
||||
|
||||
+uint32_t nsAbLDAPListenerBase::sCurrentRequestNum = 0;
|
||||
+
|
||||
nsAbLDAPListenerBase::nsAbLDAPListenerBase(nsILDAPURL* url,
|
||||
nsILDAPConnection* connection,
|
||||
const nsACString &login,
|
||||
@@ -249,6 +251,7 @@ NS_IMETHODIMP nsAbLDAPListenerBase::OnLD
|
||||
InitFailed();
|
||||
return rv;
|
||||
}
|
||||
+ mOperation->SetRequestNum(++sCurrentRequestNum);
|
||||
|
||||
// Try non-password mechanisms first
|
||||
if (mSaslMechanism.EqualsLiteral("GSSAPI"))
|
||||
diff -up thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPListenerBase.h.1460871-ldap-query thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPListenerBase.h
|
||||
--- thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPListenerBase.h.1460871-ldap-query 2018-10-01 16:52:43.000000000 +0200
|
||||
+++ thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPListenerBase.h 2018-10-04 09:40:04.492575951 +0200
|
||||
@@ -47,6 +47,7 @@ protected:
|
||||
int32_t mTimeOut;
|
||||
bool mBound;
|
||||
bool mInitialized;
|
||||
+ static uint32_t sCurrentRequestNum;
|
||||
|
||||
mozilla::Mutex mLock;
|
||||
};
|
@ -1,11 +0,0 @@
|
||||
--- a/layout/generic/nsIFrame.h.old 2016-07-11 13:41:39.688276559 +0200
|
||||
+++ b/layout/generic/nsIFrame.h 2016-07-11 13:42:12.791406976 +0200
|
||||
@@ -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. At the moment
|
12
SOURCES/no-rust-lto.patch
Normal file
12
SOURCES/no-rust-lto.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up firefox-68.0/config/makefiles/rust.mk.old firefox-68.0/config/makefiles/rust.mk
|
||||
--- firefox-68.0/config/makefiles/rust.mk.old 2019-06-05 10:33:34.290128660 +0200
|
||||
+++ firefox-68.0/config/makefiles/rust.mk 2019-06-05 10:33:59.835052814 +0200
|
||||
@@ -47,7 +47,7 @@ cargo_rustc_flags = $(CARGO_RUSTCFLAGS)
|
||||
ifndef DEVELOPER_OPTIONS
|
||||
ifndef MOZ_DEBUG_RUST
|
||||
# Enable link-time optimization for release builds.
|
||||
-cargo_rustc_flags += -C lto
|
||||
+#cargo_rustc_flags += -C lto
|
||||
endif
|
||||
endif
|
||||
|
3
SOURCES/node-stdout-nonblocking-wrapper
Executable file
3
SOURCES/node-stdout-nonblocking-wrapper
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
#exec /usr/bin/node "$@" 2>&1 | cat -
|
||||
exec $MOZ_NODEJS "$@" 2>&1 | cat -
|
12
SOURCES/nss-build-mozilla-1564499.patch
Normal file
12
SOURCES/nss-build-mozilla-1564499.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up firefox-68.0/security/nss/lib/freebl/mpi/mpcpucache.c.old firefox-68.0/security/nss/lib/freebl/mpi/mpcpucache.c
|
||||
--- firefox-68.0/security/nss/lib/freebl/mpi/mpcpucache.c.old 2019-07-26 07:09:02.383303420 +0200
|
||||
+++ firefox-68.0/security/nss/lib/freebl/mpi/mpcpucache.c 2019-07-26 07:09:27.228193798 +0200
|
||||
@@ -727,7 +727,7 @@ static inline void
|
||||
dcbzl(char *array)
|
||||
{
|
||||
register char *a asm("r2") = array;
|
||||
- __asm__ __volatile__("dcbzl %0,r0"
|
||||
+ __asm__ __volatile__("dcbzl %0,0"
|
||||
: "=r"(a)
|
||||
: "0"(a));
|
||||
}
|
57
SOURCES/python-2.7-gcc8-fix.patch
Normal file
57
SOURCES/python-2.7-gcc8-fix.patch
Normal file
@ -0,0 +1,57 @@
|
||||
commit 0b91f8a668201fc58fa732b8acc496caedfdbae0
|
||||
Author: Florian Weimer <fw@deneb.enyo.de>
|
||||
Date: Sun Apr 29 12:18:33 2018 -0700
|
||||
|
||||
Indicate that _PyGC_Head is only 8-byte aligned. (closes bpo-33374)
|
||||
|
||||
By spec, the "long double" in _PyGC_Head requires the union to always be 16-byte
|
||||
aligned. However, obmalloc only yields 8-byte alignment. Compilers including GCC
|
||||
8 are starting to use alignment information to do store-merging. So, the "long
|
||||
double" needs to be changed to a simple "double" as was long ago done in Python
|
||||
3 by e348c8d154cf6342c79d627ebfe89dfe9de23817. For 2.7, we need to add some
|
||||
dummy padding to make sure _PyGC_Head stays the same size.
|
||||
|
||||
diff --git a/Include/objimpl.h b/Include/objimpl.h
|
||||
index 5f28683329..cbf6bc3f87 100644
|
||||
--- Python-2.7.13/Include/objimpl.h
|
||||
+++ Python-2.7.13/Include/objimpl.h
|
||||
@@ -248,6 +248,20 @@ PyAPI_FUNC(PyVarObject *) _PyObject_GC_Resize(PyVarObject *, Py_ssize_t);
|
||||
/* for source compatibility with 2.2 */
|
||||
#define _PyObject_GC_Del PyObject_GC_Del
|
||||
|
||||
+/*
|
||||
+ * Former over-aligned definition of PyGC_Head, used to compute the size of the
|
||||
+ * padding for the new version below.
|
||||
+ */
|
||||
+union _gc_head;
|
||||
+union _gc_head_old {
|
||||
+ struct {
|
||||
+ union _gc_head_old *gc_next;
|
||||
+ union _gc_head_old *gc_prev;
|
||||
+ Py_ssize_t gc_refs;
|
||||
+ } gc;
|
||||
+ long double dummy;
|
||||
+};
|
||||
+
|
||||
/* GC information is stored BEFORE the object structure. */
|
||||
typedef union _gc_head {
|
||||
struct {
|
||||
@@ -255,7 +269,8 @@ typedef union _gc_head {
|
||||
union _gc_head *gc_prev;
|
||||
Py_ssize_t gc_refs;
|
||||
} gc;
|
||||
- long double dummy; /* force worst-case alignment */
|
||||
+ double dummy; /* Force at least 8-byte alignment. */
|
||||
+ char dummy_padding[sizeof(union _gc_head_old)];
|
||||
} PyGC_Head;
|
||||
|
||||
extern PyGC_Head *_PyGC_generation0;
|
||||
diff --git a/Misc/NEWS.d/next/Core and Builtins/2018-04-29-12-07-00.bpo-33374.-xegL6.rst b/Misc/NEWS.d/next/Core and Builtins/2018-04-29-12-07-00.bpo-33374.-xegL6.rst
|
||||
new file mode 100644
|
||||
index 0000000000..9ec1a605c8
|
||||
--- /dev/null
|
||||
+++ Python-2.7.13/Misc/NEWS.d/next/Core and Builtins/2018-04-29-12-07-00.bpo-33374.-xegL6.rst
|
||||
@@ -0,0 +1,3 @@
|
||||
+Tweak the definition of PyGC_Head, so compilers do not believe it is always
|
||||
+16-byte aligned on x86. This prevents crashes with more aggressive
|
||||
+optimizations present in GCC 8.
|
17
SOURCES/python-2.7.patch
Normal file
17
SOURCES/python-2.7.patch
Normal file
@ -0,0 +1,17 @@
|
||||
diff -up Python-2.7.13/configure.build Python-2.7.13/configure
|
||||
--- Python-2.7.13/configure.build 2019-06-04 13:32:12.772134075 +0200
|
||||
+++ Python-2.7.13/configure 2019-06-04 13:32:26.140144601 +0200
|
||||
@@ -6018,11 +6018,11 @@ then
|
||||
# debug builds.
|
||||
OPT="-g -O0 -Wall $STRICT_PROTO"
|
||||
else
|
||||
- OPT="-g $WRAP -O3 -Wall $STRICT_PROTO"
|
||||
+ OPT="-g $WRAP -O2 -Wall $STRICT_PROTO"
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
- OPT="-O3 -Wall $STRICT_PROTO"
|
||||
+ OPT="-O2 -Wall $STRICT_PROTO"
|
||||
;;
|
||||
esac
|
||||
case $ac_sys_system in
|
12
SOURCES/python-encode.patch
Normal file
12
SOURCES/python-encode.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up firefox-68.0/python/mozbuild/mozbuild/controller/building.py.old firefox-68.0/python/mozbuild/mozbuild/controller/building.py
|
||||
--- firefox-68.0/python/mozbuild/mozbuild/controller/building.py.old 2019-05-29 10:46:55.403262995 +0200
|
||||
+++ firefox-68.0/python/mozbuild/mozbuild/controller/building.py 2019-05-29 10:47:42.691176970 +0200
|
||||
@@ -571,7 +571,7 @@ class TerminalLoggingHandler(logging.Han
|
||||
if self.footer:
|
||||
self.footer.clear()
|
||||
|
||||
- self.fh.write(msg)
|
||||
+ self.fh.write(msg.encode("utf-8"))
|
||||
self.fh.write('\n')
|
||||
|
||||
if self.footer:
|
12
SOURCES/python-missing-utimensat.patch
Normal file
12
SOURCES/python-missing-utimensat.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up python3/Python-3.6.8/configure.old python3/Python-3.6.8/configure
|
||||
--- Python-3.6.8/configure.old 2019-10-01 12:56:35.074551835 +0200
|
||||
+++ Python-3.6.8/configure 2019-10-01 12:56:44.240517798 +0200
|
||||
@@ -11438,7 +11438,7 @@ for ac_func in alarm accept4 setitimer g
|
||||
sigaction sigaltstack siginterrupt sigpending sigrelse \
|
||||
sigtimedwait sigwait sigwaitinfo snprintf strftime strlcpy symlinkat sync \
|
||||
sysconf tcgetpgrp tcsetpgrp tempnam timegm times tmpfile tmpnam tmpnam_r \
|
||||
- truncate uname unlinkat unsetenv utimensat utimes waitid waitpid wait3 wait4 \
|
||||
+ truncate uname unlinkat unsetenv utimes waitid waitpid wait3 wait4 \
|
||||
wcscoll wcsftime wcsxfrm wmemcmp writev _getpty
|
||||
do :
|
||||
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
|
@ -1,12 +0,0 @@
|
||||
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;
|
105
SOURCES/rust-network-check.patch
Normal file
105
SOURCES/rust-network-check.patch
Normal file
@ -0,0 +1,105 @@
|
||||
diff -up firefox-68.0/config/makefiles/rust.mk.rust-network-check firefox-68.0/config/makefiles/rust.mk
|
||||
--- firefox-68.0/config/makefiles/rust.mk.rust-network-check 2019-06-06 10:29:18.984737603 +0200
|
||||
+++ firefox-68.0/config/makefiles/rust.mk 2019-06-06 11:39:51.581028835 +0200
|
||||
@@ -127,7 +127,7 @@ export RUST_BACKTRACE=full
|
||||
export MOZ_TOPOBJDIR=$(topobjdir)
|
||||
|
||||
target_rust_ltoable := force-cargo-library-build
|
||||
-target_rust_nonltoable := force-cargo-test-run force-cargo-library-check $(foreach b,build check,force-cargo-program-$(b))
|
||||
+target_rust_nonltoable := force-cargo-test-run $(foreach b,build check,force-cargo-program-$(b))
|
||||
|
||||
$(target_rust_ltoable): RUSTFLAGS:=$(rustflags_override) $(RUSTFLAGS) $(if $(MOZ_LTO_RUST),-Clinker-plugin-lto)
|
||||
$(target_rust_nonltoable): RUSTFLAGS:=$(rustflags_override) $(RUSTFLAGS)
|
||||
@@ -238,19 +238,9 @@ force-cargo-library-build:
|
||||
$(call CARGO_BUILD) --lib $(cargo_target_flag) $(rust_features_flag) -- $(cargo_rustc_flags)
|
||||
|
||||
$(RUST_LIBRARY_FILE): force-cargo-library-build
|
||||
-# When we are building in --enable-release mode; we add an additional check to confirm
|
||||
-# that we are not importing any networking-related functions in rust code. This reduces
|
||||
-# the chance of proxy bypasses originating from rust code.
|
||||
-ifndef DEVELOPER_OPTIONS
|
||||
-ifndef MOZ_DEBUG_RUST
|
||||
-ifeq ($(OS_ARCH), Linux)
|
||||
- $(call py_action,check_binary,--target --networking $@)
|
||||
-endif
|
||||
-endif
|
||||
-endif
|
||||
|
||||
force-cargo-library-check:
|
||||
- $(call CARGO_CHECK) --lib $(cargo_target_flag) $(rust_features_flag)
|
||||
+ @true
|
||||
else
|
||||
force-cargo-library-check:
|
||||
@true
|
||||
diff -up firefox-68.0/python/mozbuild/mozbuild/action/check_binary.py.rust-network-check firefox-68.0/python/mozbuild/mozbuild/action/check_binary.py
|
||||
--- firefox-68.0/python/mozbuild/mozbuild/action/check_binary.py.rust-network-check 2019-05-20 18:17:57.000000000 +0200
|
||||
+++ firefox-68.0/python/mozbuild/mozbuild/action/check_binary.py 2019-06-06 10:29:18.986737599 +0200
|
||||
@@ -250,43 +250,6 @@ def check_mozglue_order(target, binary):
|
||||
raise RuntimeError('Could not parse readelf output?')
|
||||
|
||||
|
||||
-def check_networking(binary):
|
||||
- retcode = 0
|
||||
- networking_functions = set([
|
||||
- # socketpair is not concerning; it is restricted to AF_UNIX
|
||||
- "socket", "connect", "accept", "bind", "listen",
|
||||
- "getsockname", "getsockopt", "setsockopt",
|
||||
- "recv", "recvfrom",
|
||||
- "send", "sendto",
|
||||
- # We would be concerned by recvmsg and sendmsg; but we believe
|
||||
- # they are okay as documented in 1376621#c23
|
||||
- "gethostbyname", "gethostbyaddr", "gethostent", "sethostent", "endhostent",
|
||||
- "gethostent_r", "gethostbyname2", "gethostbyaddr_r", "gethostbyname_r",
|
||||
- "gethostbyname2_r",
|
||||
- "getaddrinfo", "getservent", "getservbyname", "getservbyport", "setservent",
|
||||
- "getprotoent", "getprotobyname", "getprotobynumber", "setprotoent",
|
||||
- "endprotoent"])
|
||||
- bad_occurences_names = set()
|
||||
-
|
||||
- try:
|
||||
- for sym in at_least_one(iter_symbols(binary)):
|
||||
- if sym['addr'] == 0 and sym['name'] in networking_functions:
|
||||
- bad_occurences_names.add(sym['name'])
|
||||
- except Empty:
|
||||
- raise RuntimeError('Could not parse llvm-objdump output?')
|
||||
-
|
||||
- basename = os.path.basename(binary)
|
||||
- if bad_occurences_names:
|
||||
- s = 'TEST-UNEXPECTED-FAIL | check_networking | {} | Identified {} ' + \
|
||||
- 'networking function(s) being imported in the rust static library ({})'
|
||||
- print(s.format(basename, len(bad_occurences_names),
|
||||
- ",".join(sorted(bad_occurences_names))),
|
||||
- file=sys.stderr)
|
||||
- retcode = 1
|
||||
- elif buildconfig.substs.get('MOZ_AUTOMATION'):
|
||||
- print('TEST-PASS | check_networking | {}'.format(basename))
|
||||
- return retcode
|
||||
-
|
||||
def checks(target, binary):
|
||||
# The clang-plugin is built as target but is really a host binary.
|
||||
# Cheat and pretend we were passed the right argument.
|
||||
@@ -330,8 +293,6 @@ def main(args):
|
||||
help='Perform checks for a host binary')
|
||||
parser.add_argument('--target', action='store_true',
|
||||
help='Perform checks for a target binary')
|
||||
- parser.add_argument('--networking', action='store_true',
|
||||
- help='Perform checks for networking functions')
|
||||
|
||||
parser.add_argument('binary', metavar='PATH',
|
||||
help='Location of the binary to check')
|
||||
@@ -343,14 +304,7 @@ def main(args):
|
||||
file=sys.stderr)
|
||||
return 1
|
||||
|
||||
- if options.networking and options.host:
|
||||
- print('--networking is only valid with --target',
|
||||
- file=sys.stderr)
|
||||
- return 1
|
||||
-
|
||||
- if options.networking:
|
||||
- return check_networking(options.binary)
|
||||
- elif options.host:
|
||||
+ if options.host:
|
||||
return checks(HOST, options.binary)
|
||||
elif options.target:
|
||||
return checks(TARGET, options.binary)
|
@ -10,17 +10,16 @@ ac_add_options --enable-calendar
|
||||
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-pie
|
||||
ac_add_options --enable-default-toolkit=cairo-gtk3
|
||||
ac_add_options --enable-release
|
||||
ac_add_options --enable-startup-notification
|
||||
ac_add_options --libdir="$LIBDIR"
|
||||
ac_add_options --prefix="$PREFIX"
|
||||
ac_add_options --without-system-libvpx
|
||||
ac_add_options --with-pthreads
|
||||
ac_add_options --with-system-jpeg
|
||||
ac_add_options --with-system-zlib
|
||||
ac_add_options --enable-update-channel=release
|
||||
ac_add_options --disable-av1
|
||||
export BUILD_OFFICIAL=1
|
||||
export MOZILLA_OFFICIAL=1
|
||||
mk_add_options BUILD_OFFICIAL=1
|
||||
|
@ -1,12 +0,0 @@
|
||||
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
|
@ -1,11 +1,19 @@
|
||||
%global debug_build 0
|
||||
# Set for local builds only
|
||||
%global disable_toolsets 0
|
||||
%global official_branding 1
|
||||
%global system_ffi 1
|
||||
%global system_libicu 0
|
||||
%global system_libvpx 0
|
||||
%global system_nss 1
|
||||
%global system_sqlite 0
|
||||
%global use_bundled_python 1
|
||||
%if 0%{?rhel} == 8
|
||||
%define use_bundled_python_2 1
|
||||
%define use_bundled_python_3 0
|
||||
%else
|
||||
%define use_bundled_python_2 1
|
||||
%define use_bundled_python_3 1
|
||||
%endif
|
||||
%define build_langpacks 1
|
||||
%define use_bundled_ffi 0
|
||||
%define use_bundled_python 1
|
||||
@ -13,6 +21,11 @@
|
||||
%global system_jpeg 1
|
||||
%global hardened_build 1
|
||||
%global use_dts 1
|
||||
%if 0%{?rhel} == 8
|
||||
%global use_llvmts 0
|
||||
%else
|
||||
%global use_llvmts 1
|
||||
%endif
|
||||
|
||||
%define bundled_python_version 2.7.13
|
||||
%global cairo_version 1.10.2
|
||||
@ -21,22 +34,31 @@
|
||||
%global gcc_version 4.8.2-16
|
||||
%global python_version 2.7.8
|
||||
%global sqlite_version 3.8.4.2
|
||||
%global nspr_version 4.13.1
|
||||
%global nss_version 3.28.4
|
||||
%global nspr_version 4.21
|
||||
%global nss_version 3.44
|
||||
%if 0%{?rhel} == 7
|
||||
%define use_bundled_python 0
|
||||
%endif
|
||||
|
||||
%if 0%{?rhel} < 8
|
||||
%global use_rustts 1
|
||||
%global dts_version 8
|
||||
%global rust_version 1.31
|
||||
%global rust_toolset_version 1.35
|
||||
%global llvm_version 7.0
|
||||
%if 0%{?rhel} == 8
|
||||
%global llvm_version 6.0
|
||||
%endif
|
||||
%global dts_version 7
|
||||
%global rst_version 7
|
||||
%global llvm_version 7
|
||||
|
||||
%if 0%{?disable_toolsets}
|
||||
%global use_rustts 0
|
||||
%global use_dts 0
|
||||
%global use_llvmts 0
|
||||
%endif
|
||||
|
||||
|
||||
|
||||
%if 0%{?rhel} == 8
|
||||
%global use_dts 0
|
||||
%global rst_version 1.26
|
||||
%global llvm_version 6.0
|
||||
%endif
|
||||
|
||||
%define gtk3_nvr 3.22.26-1
|
||||
@ -63,6 +85,16 @@
|
||||
%global sqlite_build_version %(pkg-config --silence-errors --modversion sqlite3 2>/dev/null || echo 65536)
|
||||
%endif
|
||||
|
||||
%define bundled_python_version_2 2.7.13
|
||||
%define bundled_python_version_3 3.6.8
|
||||
%define use_bundled_openssl 0
|
||||
%define use_bundled_nodejs 0
|
||||
%if 0%{?rhel} < 8
|
||||
%define use_bundled_nodejs 1
|
||||
%if 0%{?rhel} == 6
|
||||
%define use_bundled_openssl 1
|
||||
%endif
|
||||
%endif
|
||||
|
||||
# GTK3 bundling
|
||||
%define avoid_bundled_rebuild 0
|
||||
@ -91,8 +123,8 @@
|
||||
|
||||
Summary: Mozilla Thunderbird mail/newsgroup client
|
||||
Name: thunderbird
|
||||
Version: 60.7.0
|
||||
Release: 1%{?dist}
|
||||
Version: 68.3.0
|
||||
Release: 2%{?dist}
|
||||
URL: http://www.mozilla.org/projects/thunderbird/
|
||||
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
||||
Group: Applications/Internet
|
||||
@ -107,19 +139,22 @@ ExclusiveArch: i686 x86_64 ppc64 s390x
|
||||
# From ftp://archive.mozilla.org/pub/thunderbird/releases/%{version}%{?ext_version}/source
|
||||
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}%{?ext_version}-20190520.tar.xz
|
||||
Source1: thunderbird-langpacks-%{version}%{?ext_version}-20191202.tar.xz
|
||||
# Locales for lightning
|
||||
Source2: lightning-langpacks-%{version}.tar.xz
|
||||
%endif
|
||||
Source3: get-calendar-langpacks.sh
|
||||
Source4: cbindgen-vendor.tar.xz
|
||||
|
||||
Source10: thunderbird-mozconfig
|
||||
Source20: thunderbird.desktop
|
||||
Source21: thunderbird.sh.in
|
||||
Source24: mozilla-api-key
|
||||
Source27: google-api-key
|
||||
#TODO
|
||||
Source101: find-external-requires
|
||||
Source28: node-stdout-nonblocking-wrapper
|
||||
Source100: https://www.python.org/ftp/python/%{bundled_python_version_2}/Python-%{bundled_python_version_2}.tar.xz
|
||||
Source101: https://www.python.org/ftp/python/%{bundled_python_version_3}/Python-%{bundled_python_version_3}.tar.xz
|
||||
Source102: find-external-requires
|
||||
Source200: gtk3-private-%{gtk3_nvr}.el6.src.rpm
|
||||
Source201: gtk3-private-%{gtk3_nvr}-post.inc
|
||||
Source202: gtk3-private-%{gtk3_nvr}-postun.inc
|
||||
@ -129,27 +164,33 @@ Source205: gtk3-private-%{gtk3_nvr}-setup-flags-env.inc
|
||||
Source206: gtk3-private-%{gtk3_nvr}-requires-provides-filter.inc
|
||||
Source301: yasm-1.2.0-3.el5.src.rpm
|
||||
Source303: libffi-3.0.13-18.el7_3.src.rpm
|
||||
Source304: nodejs-8.11.4-1.3.fc27.src.rpm
|
||||
Source305: openssl-1.0.2k-19.6.bundle.el7_7.src.rpm
|
||||
Source601: thunderbird-redhat-default-prefs.js.rhel6
|
||||
Source701: thunderbird-redhat-default-prefs.js.rhel7
|
||||
#Python 2.7
|
||||
Source100: https://www.python.org/ftp/python/%{bundled_python_version}/Python-%{bundled_python_version}.tar.xz
|
||||
|
||||
## Firefox patches
|
||||
|
||||
# Build patches
|
||||
Patch3: mozilla-build-arm.patch
|
||||
# workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1699374
|
||||
Patch1001: build-ppc64le-inline.patch
|
||||
Patch1002: python-2.7-gcc8-fix.patch
|
||||
Patch1003: python-missing-utimensat.patch
|
||||
# workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1699374
|
||||
Patch1: no-rust-lto.patch
|
||||
Patch2: rust-network-check.patch
|
||||
Patch4: build-mozconfig-fix.patch
|
||||
Patch5: build-gdk-version.patch
|
||||
Patch6: build-nss-version.patch
|
||||
Patch7: firefox-debugedits-error.patch
|
||||
Patch8: firefox-dont-check-binary.patch
|
||||
Patch9: nss-build-mozilla-1564499.patch
|
||||
Patch26: build-icu-big-endian.patch
|
||||
# Also fixes s390x: https://bugzilla.mozilla.org/show_bug.cgi?id=1376268
|
||||
Patch29: build-big-endian.patch
|
||||
# Always feel lucky for unsupported platforms:
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1347128
|
||||
Patch37: build-jit-atomic-always-lucky.patch
|
||||
Patch40: build-aarch64-skia.patch
|
||||
Patch41: build-debug-qcms.patch
|
||||
Patch43: xulrunner-24.0-jemalloc-ppc.patch
|
||||
Patch45: build-disable-elfhack.patch
|
||||
|
||||
# Fedora/RHEL specific patches
|
||||
@ -158,19 +199,19 @@ Patch219: rhbz-1173156.patch
|
||||
Patch224: mozilla-1170092.patch
|
||||
Patch225: mozilla-1005640-accept-lang.patch
|
||||
#ARM run-time patch
|
||||
Patch226: rhbz-1354671.patch
|
||||
Patch230: rhbz-1503632-nss.patch
|
||||
Patch1000: python-2.7.patch
|
||||
Patch1004: firefox-rhel6-nss-tls1.3.patch
|
||||
Patch232: firefox-rhel6-hugepage.patch
|
||||
|
||||
# Upstream patches
|
||||
Patch402: mozilla-1196777.patch
|
||||
Patch406: mozilla-256180.patch
|
||||
Patch413: mozilla-1353817.patch
|
||||
Patch415: mozilla-1436242.patch
|
||||
Patch416: mozilla-1460871-ldap-query.patch
|
||||
#Removing this patch would lead to losing user saved credentials in profile!
|
||||
|
||||
## Thunderbird patches
|
||||
|
||||
Patch501: python-encode.patch
|
||||
# ---------------------------------------------------
|
||||
|
||||
BuildRequires: autoconf213
|
||||
@ -217,7 +258,7 @@ BuildRequires: devtoolset-%{dts_version}-gcc-c++
|
||||
BuildRequires: devtoolset-%{dts_version}-gcc
|
||||
BuildRequires: devtoolset-%{dts_version}-binutils
|
||||
BuildRequires: devtoolset-%{dts_version}-libatomic-devel
|
||||
%if 0%{?rhel} == 7
|
||||
%if 0%{?use_llvmts}
|
||||
BuildRequires: llvm-toolset-%{llvm_version}
|
||||
BuildRequires: llvm-toolset-%{llvm_version}-llvm-devel
|
||||
%endif
|
||||
@ -225,22 +266,31 @@ BuildRequires: llvm-toolset-%{llvm_version}-llvm-devel
|
||||
%if ! %{use_bundled_yasm}0
|
||||
BuildRequires: yasm
|
||||
%endif
|
||||
BuildRequires: scl-utils
|
||||
%if %{?system_sqlite}
|
||||
BuildRequires: sqlite-devel >= %{sqlite_version}
|
||||
Requires: sqlite >= %{sqlite_build_version}
|
||||
%endif
|
||||
%if 0%{?use_rustts}
|
||||
BuildRequires: rust-toolset-%{rst_version}-cargo
|
||||
BuildRequires: rust-toolset-%{rst_version}-rust
|
||||
%endif
|
||||
%if 0%{?rhel} == 8
|
||||
BuildRequires: cargo
|
||||
BuildRequires: rust >= 1.24
|
||||
BuildRequires: rust >= %{rust_version}
|
||||
BuildRequires: llvm >= %{llvm_version}
|
||||
BuildRequires: llvm-devel >= %{llvm_version}
|
||||
BuildRequires: clang >= %{llvm_version}
|
||||
BuildRequires: clang-devel >= %{llvm_version}
|
||||
BuildRequires: python3
|
||||
BuildRequires: nodejs >= 8.11
|
||||
%else
|
||||
%if 0%{?use_rustts}
|
||||
BuildRequires: rust-toolset-%{rust_toolset_version}
|
||||
%endif
|
||||
%if 0%{?use_bundled_python}
|
||||
%if 0%{?use_llvmts}
|
||||
BuildRequires: llvm-toolset-%{llvm_version}
|
||||
BuildRequires: llvm-toolset-%{llvm_version}-llvm-devel
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if 0%{?use_bundled_python_2}
|
||||
#%if 0%{?rhel} == 6
|
||||
# Needed for Python in RHEL6
|
||||
BuildRequires: openssl-devel
|
||||
@ -296,10 +346,6 @@ Requires: nspr >= %{nspr_version}
|
||||
Requires: nss >= %{nss_version}
|
||||
%endif
|
||||
|
||||
%if 0%{?rhel} < 8
|
||||
BuildRequires: python2-devel
|
||||
%endif
|
||||
|
||||
%if %{?system_sqlite}
|
||||
BuildRequires: pkgconfig(sqlite3) >= %{sqlite_version}
|
||||
Requires: sqlite >= %{sqlite_build_version}
|
||||
@ -323,32 +369,50 @@ Mozilla Thunderbird is a standalone mail and newsgroup client.
|
||||
|
||||
|
||||
%prep
|
||||
%setup -q -T -c -n python -a 100
|
||||
%if 0%{?use_bundled_python_2}
|
||||
%setup -q -T -c -n python2 -a 100
|
||||
%patch1000 -p0 -b .build
|
||||
%patch1002 -p0 -b .gcc8
|
||||
%endif
|
||||
%if 0%{?use_bundled_python_3}
|
||||
%setup -q -T -c -n python3 -a 101
|
||||
%if 0%{?rhel} == 6
|
||||
%patch1003 -p0 -b .missing-utimensat.patch
|
||||
%endif
|
||||
%endif
|
||||
%setup -q -n %{tarballdir}
|
||||
|
||||
# Firefox patches
|
||||
%patch1 -p1 -b .no-rust-lto
|
||||
%patch2 -p1 -b .rust-network-check
|
||||
%patch7 -p1 -b .debugedits-error
|
||||
%ifarch %{ix86} %{arm} ppc
|
||||
# binary check fails OOM on 32bit arches
|
||||
%patch8 -p1 -b .dont-check-binary
|
||||
%endif
|
||||
%patch9 -p1 -b .nss-build-mozilla-1564499
|
||||
|
||||
%patch29 -p1 -b .big-endian
|
||||
%patch37 -p1 -b .jit-atomic-lucky
|
||||
%patch40 -p1 -b .aarch64-skia
|
||||
#%patch29 -p1 -b .big-endian
|
||||
%if %{?debug_build}
|
||||
%patch41 -p1 -b .build-debug-qcms
|
||||
%endif
|
||||
%patch43 -p1 -b .jemalloc-ppc
|
||||
%if 0%{?rhel} == 8
|
||||
#%if 0%{?rhel} == 8
|
||||
%patch45 -p1 -b .elfhack
|
||||
%endif
|
||||
#%endif
|
||||
|
||||
%patch3 -p1 -b .arm
|
||||
#%patch3 -p1 -b .arm
|
||||
%patch4 -p1 -b .build-mozconfig-fix
|
||||
%patch5 -p1 -b .gdk-version
|
||||
%patch6 -p1 -b .nss-version
|
||||
|
||||
# Fedora patches
|
||||
%patch215 -p1 -b .addons
|
||||
%patch219 -p1 -b .rhbz-1173156
|
||||
%patch224 -p1 -b .1170092
|
||||
#FIXME %patch224 -p1 -b .1170092
|
||||
%patch225 -p1 -b .1005640-accept-lang
|
||||
%if 0%{?rhel} == 6
|
||||
%patch232 -p1 -b .hugepage
|
||||
%patch1004 -p1 -b .rhel6-nss-tls1.3
|
||||
%endif
|
||||
|
||||
# This ensures no migration of certdb to sqlite on the RHEL6 and RHEL7.
|
||||
# This needs to stay for the future releases
|
||||
@ -358,14 +422,10 @@ Mozilla Thunderbird is a standalone mail and newsgroup client.
|
||||
|
||||
#ARM run-time patch
|
||||
%ifarch aarch64
|
||||
%patch226 -p1 -b .1354671
|
||||
%endif
|
||||
|
||||
%patch402 -p1 -b .1196777
|
||||
%patch406 -p1 -b .256180
|
||||
%patch413 -p1 -b .1353817
|
||||
%patch415 -p1 -b .1436242
|
||||
%patch416 -p1 -b .1460871-ldap-query
|
||||
#%patch413 -p1 -b .1353817
|
||||
|
||||
# Patch for big endian platforms only
|
||||
%if 0%{?big_endian}
|
||||
@ -373,6 +433,8 @@ Mozilla Thunderbird is a standalone mail and newsgroup client.
|
||||
%endif
|
||||
|
||||
# Thunderbird patches
|
||||
%patch501 -p1 -b .python-encode
|
||||
%patch1001 -p1 -b .ppc64le-inline
|
||||
|
||||
%{__rm} -f .mozconfig
|
||||
%{__cp} %{SOURCE10} .mozconfig
|
||||
@ -408,7 +470,7 @@ function add_to_mozconfig() {
|
||||
%if 0%{?system_ffi}
|
||||
add_to_mozconfig "with-system-ffi"
|
||||
%endif
|
||||
%ifarch %{arm}
|
||||
%ifarch %{arm} %{ix86} x86_64
|
||||
add_to_mozconfig "disable-elf-hack"
|
||||
%endif
|
||||
|
||||
@ -459,23 +521,19 @@ echo "ac_add_options --without-system-icu" >> .mozconfig
|
||||
echo "ac_add_options --disable-ion" >> .mozconfig
|
||||
%endif
|
||||
|
||||
%ifarch %{ix86}
|
||||
echo "ac_add_options --disable-stylo" >> .mozconfig
|
||||
%endif
|
||||
%if 0%{?rhel} == 6
|
||||
echo "ac_add_options --disable-stylo" >> .mozconfig
|
||||
%endif
|
||||
echo 'export NODEJS="%{_buildrootdir}/bin/node-stdout-nonblocking-wrapper"' >> .mozconfig
|
||||
|
||||
# Remove executable bit to make brp-mangle-shebangs happy.
|
||||
chmod -x third_party/rust/itertools/src/lib.rs
|
||||
|
||||
# install lightning langpacks
|
||||
cd ..
|
||||
%{__xz} -dc %{SOURCE2} | %{__tar} xf -
|
||||
cd -
|
||||
#===============================================================================
|
||||
|
||||
%build
|
||||
set -e
|
||||
# Hack for missing shell when building in brew on RHEL6
|
||||
%if 0%{?rhel} == 6
|
||||
export SHELL=/bin/sh
|
||||
%endif
|
||||
|
||||
#GTK3 >>
|
||||
%if ! 0%{?avoid_bundled_rebuild}
|
||||
@ -507,7 +565,7 @@ function build_bundled_package() {
|
||||
PACKAGE_RPM=$1
|
||||
PACKAGE_FILES=$2
|
||||
PACKAGE_SOURCE=$3
|
||||
PACKAGE_DIR="%{_topdir}/RPMS"
|
||||
export PACKAGE_DIR="%{_topdir}/RPMS"
|
||||
|
||||
PACKAGE_ALREADY_BUILD=0
|
||||
%if %{?avoid_bundled_rebuild}
|
||||
@ -529,20 +587,27 @@ function build_bundled_package() {
|
||||
%ifarch i386 i686
|
||||
ARCH_STR="i?86"
|
||||
%endif
|
||||
PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR"
|
||||
export PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR"
|
||||
fi
|
||||
pushd $PACKAGE_DIR
|
||||
|
||||
echo "Installing $PACKAGE_DIR/$PACKAGE_RPM"; echo "==============================="
|
||||
rpm2cpio $PACKAGE_DIR/$PACKAGE_RPM | cpio -iduv
|
||||
PACKAGE_LIST=$(echo $PACKAGE_DIR/$PACKAGE_RPM | tr " " "\n")
|
||||
for PACKAGE in $PACKAGE_LIST
|
||||
do
|
||||
rpm2cpio $PACKAGE | cpio -iduv
|
||||
done
|
||||
|
||||
PATH=$PACKAGE_DIR/usr/bin:$PATH
|
||||
export PATH
|
||||
LD_LIBRARY_PATH=$PACKAGE_DIR/usr/%{_lib}:$LD_LIBRARY_PATH
|
||||
export LD_LIBRARY_PATH
|
||||
|
||||
# Clean rpms to avoid including them to package
|
||||
%if ! 0%{?avoid_bundled_rebuild}
|
||||
rm -f $PACKAGE_FILES
|
||||
%endif
|
||||
|
||||
PATH=$PACKAGE_DIR/usr/bin:$PATH
|
||||
export PATH
|
||||
LD_LIBRARY_PATH=$PACKAGE_DIR/usr/%{_lib}
|
||||
export LD_LIBRARY_PATH
|
||||
popd
|
||||
}
|
||||
|
||||
@ -552,13 +617,11 @@ function build_bundled_package() {
|
||||
build_bundled_package 'yasm-1*.rpm' 'yasm-*.rpm' '%{SOURCE301}'
|
||||
%endif
|
||||
|
||||
|
||||
%if 0%{?bundle_gtk3}
|
||||
%if ! 0%{?avoid_bundled_rebuild}
|
||||
rpm -ivh %{SOURCE200}
|
||||
rpmbuild --nodeps --define '_prefix %{gtk3_install_path}' -ba %{_specdir}/gtk3-private.spec
|
||||
%endif
|
||||
rm -rf %{_buildrootdir}/*
|
||||
pushd %{_buildrootdir}
|
||||
install_rpms_to_current_dir gtk3-private-%{gtk3_nvr}*.rpm
|
||||
install_rpms_to_current_dir gtk3-private-devel-%{gtk3_nvr}*.rpm
|
||||
@ -566,18 +629,6 @@ function build_bundled_package() {
|
||||
popd
|
||||
%endif
|
||||
|
||||
# If needed build the bundled python 2.7 and put it in the PATH
|
||||
%if 0%{?use_bundled_python}
|
||||
pushd %{_builddir}/python/Python-%{bundled_python_version}
|
||||
#if ! 0%{?avoid_bundled_rebuild}
|
||||
# Build Python 2.7 and set environment
|
||||
# Pydebug set optimization to level 0, -O3 crashes on gcc 8 ATM
|
||||
./configure --with-pydebug --prefix="%{_buildrootdir}" --exec-prefix="%{_buildrootdir}" --libdir="%{_buildrootdir}/lib"
|
||||
#endif
|
||||
make %{?_smp_mflags} install V=1
|
||||
popd
|
||||
%endif
|
||||
|
||||
%if 0%{?bundle_gtk3}
|
||||
# gtk3-private-3.22.26.el6-1-requires-provides-filter.inc
|
||||
%include_file %{SOURCE206}
|
||||
@ -593,7 +644,92 @@ function build_bundled_package() {
|
||||
%endif
|
||||
%filter_setup
|
||||
|
||||
# If needed build the bundled python 2.7 and 3.6 and put it in the PATH
|
||||
%if 0%{?use_bundled_python_3}
|
||||
pushd %{_builddir}/python3/Python-%{bundled_python_version_3}
|
||||
./configure --prefix="%{_buildrootdir}" --exec-prefix="%{_buildrootdir}" --libdir="%{_buildrootdir}/lib" --with-pydebug
|
||||
make %{?_smp_mflags} install V=1 -j1
|
||||
cp Tools/scripts/pathfix.py %{_buildrootdir}/bin
|
||||
popd
|
||||
%endif
|
||||
%if 0%{?use_bundled_python_2}
|
||||
pushd %{_builddir}/python2/Python-%{bundled_python_version_2}
|
||||
./configure --prefix="%{_buildrootdir}" --exec-prefix="%{_buildrootdir}" --libdir="%{_buildrootdir}/lib"
|
||||
make %{?_smp_mflags} install V=1
|
||||
popd
|
||||
%endif
|
||||
|
||||
function replace_prefix() {
|
||||
FILE_NAME=$1
|
||||
PKG_CONFIG_PREFIX=$2
|
||||
|
||||
cat $FILE_NAME | tail -n +2 > tmp.txt
|
||||
echo "$PKG_CONFIG_PREFIX" > $FILE_NAME
|
||||
cat tmp.txt >> $FILE_NAME
|
||||
rm -rf tmp.txt
|
||||
}
|
||||
|
||||
# Build and install local openssl if needed
|
||||
# =========================================
|
||||
%if 0%{?use_bundled_openssl}
|
||||
rpm -ivh %{SOURCE305}
|
||||
rpmbuild --nodeps -ba %{_specdir}/openssl.spec
|
||||
pushd %{_buildrootdir}
|
||||
install_rpms_to_current_dir openssl-1.0.2k*.rpm
|
||||
install_rpms_to_current_dir openssl-libs-1.0.2k*.rpm
|
||||
install_rpms_to_current_dir openssl-devel-1.0.2k*.rpm
|
||||
install_rpms_to_current_dir openssl-static-1.0.2k*.rpm
|
||||
# openssl is installed to %{_buildrootdir}/usr/lib(64)/...
|
||||
export PKG_CONFIG_PATH=%{_buildrootdir}/%{_libdir}/pkgconfig/:$PKG_CONFIG_PATH
|
||||
replace_prefix %{_buildrootdir}/%{_libdir}/pkgconfig/libcrypto.pc prefix=%{_buildrootdir}/usr
|
||||
replace_prefix %{_buildrootdir}/%{_libdir}/pkgconfig/libssl.pc prefix=%{_buildrootdir}/usr
|
||||
replace_prefix %{_buildrootdir}/%{_libdir}/pkgconfig/openssl.pc prefix=%{_buildrootdir}/usr
|
||||
cat %{_buildrootdir}/%{_libdir}/pkgconfig/libcrypto.pc
|
||||
cat %{_buildrootdir}/%{_libdir}/pkgconfig/libssl.pc
|
||||
cat %{_buildrootdir}/%{_libdir}/pkgconfig/openssl.pc
|
||||
pushd %{_rpmdir}
|
||||
rm -f openssl-*.rpm
|
||||
popd
|
||||
popd
|
||||
%endif
|
||||
|
||||
# GTK3 <<
|
||||
# We need to disable exit on error temporarily for the following scripts:
|
||||
set +e
|
||||
%if 0%{?use_dts}
|
||||
source scl_source enable devtoolset-%{dts_version}
|
||||
%endif
|
||||
%if 0%{?use_rustts}
|
||||
source scl_source enable rust-toolset-%{rust_toolset_version}
|
||||
%endif
|
||||
|
||||
# Build and install local node if needed
|
||||
# ======================================
|
||||
%if %{use_bundled_nodejs}
|
||||
build_bundled_package 'nodejs-8*.rpm' 'nodejs-*.rpm' %{SOURCE304}
|
||||
export MOZ_NODEJS=$PACKAGE_DIR/usr/bin/node
|
||||
%else
|
||||
export MOZ_NODEJS=/usr/bin/node
|
||||
%endif
|
||||
|
||||
mkdir -p my_rust_vendor
|
||||
cd my_rust_vendor
|
||||
%{__tar} xf %{SOURCE4}
|
||||
cd -
|
||||
mkdir -p .cargo
|
||||
cat > .cargo/config <<EOL
|
||||
[source.crates-io]
|
||||
replace-with = "vendored-sources"
|
||||
|
||||
[source.vendored-sources]
|
||||
directory = "`pwd`/my_rust_vendor"
|
||||
EOL
|
||||
|
||||
export CARGO_HOME=.cargo
|
||||
cargo install cbindgen
|
||||
export PATH=`pwd`/.cargo/bin:$PATH
|
||||
export CBINDGEN=`pwd`/.cargo/bin/cbindgen
|
||||
|
||||
|
||||
%if %{?system_sqlite}
|
||||
# Do not proceed with build if the sqlite require would be broken:
|
||||
@ -606,30 +742,18 @@ function build_bundled_package() {
|
||||
esac
|
||||
%endif
|
||||
|
||||
# We need to disable exit on error temporarily for the following scripts:
|
||||
set +e
|
||||
%if 0%{?use_dts}
|
||||
source scl_source enable devtoolset-%{dts_version}
|
||||
%endif
|
||||
%if 0%{?use_rustts}
|
||||
source scl_source enable rust-toolset-%{rst_version}
|
||||
%endif
|
||||
|
||||
set -e
|
||||
# Hack for missing shell when building in brew on RHEL6
|
||||
%if 0%{?rhel} == 6
|
||||
export SHELL=/bin/sh
|
||||
%endif
|
||||
|
||||
echo "Building Thunderbird"; echo "==============================="
|
||||
#cd %{tarballdir}
|
||||
echo "Generate big endian version of config/external/icu/data/icud58l.dat"
|
||||
%if 0%{?big_endian}
|
||||
./mach python intl/icu_sources_data.py .
|
||||
ls -l config/external/icu/data
|
||||
rm -f config/external/icu/data/icudt*l.dat
|
||||
# ./mach python intl/icu_sources_data.py .
|
||||
# rm -f config/external/icu/data/icudt*l.dat
|
||||
mv config/external/icu/data/icudt64l.dat config/external/icu/data/icudt64b.dat
|
||||
ls -l config/external/icu/data
|
||||
%endif
|
||||
|
||||
mkdir %{_buildrootdir}/bin || :
|
||||
cp %{SOURCE28} %{_buildrootdir}/bin || :
|
||||
|
||||
# Update the various config.guess to upstream release for aarch64 support
|
||||
find ./ -name config.guess -exec cp /usr/lib/rpm/config.guess {} ';'
|
||||
|
||||
@ -646,6 +770,12 @@ MOZ_OPT_FLAGS=$(echo "%{optflags}" | %{__sed} -e 's/-Wall//')
|
||||
# for some sources
|
||||
# Explicitly force the hardening flags for Firefox so it passes the checksec test;
|
||||
# See also https://fedoraproject.org/wiki/Changes/Harden_All_Packages
|
||||
%if 0%{?fedora} < 30
|
||||
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wformat-security -Wformat -Werror=format-security"
|
||||
%else
|
||||
# Workaround for mozbz#1531309
|
||||
MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-Werror=format-security//')
|
||||
%endif
|
||||
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wformat-security -Wformat -Werror=format-security"
|
||||
%if 0%{?fedora} > 23
|
||||
# Disable null pointer gcc6 optimization in gcc6 (rhbz#1328045)
|
||||
@ -678,27 +808,22 @@ MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-g/-g1/')
|
||||
# (OOM when linking, rhbz#1238225)
|
||||
export MOZ_DEBUG_FLAGS=" "
|
||||
%endif
|
||||
%ifarch s390 %{arm} ppc aarch64 i686
|
||||
MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
|
||||
%endif
|
||||
%ifarch %{arm}
|
||||
export RUSTFLAGS="-Cdebuginfo=0"
|
||||
%endif
|
||||
export CFLAGS=$MOZ_OPT_FLAGS
|
||||
export CXXFLAGS=$MOZ_OPT_FLAGS
|
||||
export LDFLAGS=$MOZ_LINK_FLAGS
|
||||
|
||||
export PREFIX='%{_prefix}'
|
||||
export LIBDIR='%{_libdir}'
|
||||
|
||||
# Hack for missing shell when building in brew on RHEL6 and RHEL5
|
||||
%if 0%{?rhel} <= 6
|
||||
export SHELL=/bin/sh
|
||||
%endif
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
|
||||
MOZ_SMP_FLAGS=-j1
|
||||
# On x86 architectures, Mozilla can build up to 4 jobs at once in parallel,
|
||||
# however builds tend to fail on other arches when building in parallel.
|
||||
# More than two build tasks can lead to OOM gcc crash.
|
||||
%if 0%{?rhel} < 8
|
||||
[ -z "$RPM_BUILD_NCPUS" ] && \
|
||||
RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"
|
||||
[ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2
|
||||
%else
|
||||
%ifarch %{ix86} x86_64 ppc ppc64 ppc64le aarch64
|
||||
[ -z "$RPM_BUILD_NCPUS" ] && \
|
||||
RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"
|
||||
@ -706,6 +831,7 @@ MOZ_SMP_FLAGS=-j1
|
||||
[ "$RPM_BUILD_NCPUS" -ge 4 ] && MOZ_SMP_FLAGS=-j4
|
||||
[ "$RPM_BUILD_NCPUS" -ge 8 ] && MOZ_SMP_FLAGS=-j8
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if 0%{?bundle_gtk3}
|
||||
# gtk3-private-setup-flags-env.inc
|
||||
@ -715,9 +841,6 @@ MOZ_SMP_FLAGS=-j1
|
||||
export MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS"
|
||||
#export MOZ_SERVICES_SYNC="1"
|
||||
export STRIP=/bin/true
|
||||
%if 0%{?rhel} == 8
|
||||
export LLVM_CONFIG=/usr/bin/llvm-config-64
|
||||
%endif
|
||||
./mach build -v
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
@ -889,6 +1012,8 @@ rm -rf %{_srcrpmdir}/gtk3-private-%{gtk3_nvr}*.src.rpm
|
||||
find %{_rpmdir} -name "gtk3-private-*%{gtk3_nvr}*.rpm" -delete
|
||||
rm -rf %{_srcrpmdir}/libffi*.src.rpm
|
||||
find %{_rpmdir} -name "libffi*.rpm" -delete
|
||||
rm -rf %{_srcrpmdir}/openssl*.src.rpm
|
||||
find %{_rpmdir} -name "openssl*.rpm" -delete
|
||||
|
||||
%post
|
||||
update-desktop-database &> /dev/null || :
|
||||
@ -937,8 +1062,6 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
|
||||
%{mozappdir}/plugin-container
|
||||
%{mozappdir}/defaults
|
||||
%{mozappdir}/dictionaries
|
||||
%dir %{mozappdir}/extensions
|
||||
%{mozappdir}/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi
|
||||
%{mozappdir}/greprefs
|
||||
%{mozappdir}/isp
|
||||
%{mozappdir}/thunderbird-bin
|
||||
@ -963,7 +1086,8 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
|
||||
%{mozappdir}/dependentlibs.list
|
||||
%{mozappdir}/distribution
|
||||
%{mozappdir}/chrome.manifest
|
||||
%{mozappdir}/fonts/EmojiOneMozilla.ttf
|
||||
%{mozappdir}/fonts/TwemojiMozilla.ttf
|
||||
|
||||
%if !%{?system_libicu}
|
||||
#%{mozappdir}/icudt*.dat
|
||||
%endif
|
||||
@ -987,6 +1111,37 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
|
||||
#===============================================================================
|
||||
|
||||
%changelog
|
||||
* Mon Dec 02 2019 Jan Horak <jhorak@redhat.com> - 68.3.0-2
|
||||
- Update to 68.3.0 build2
|
||||
|
||||
* Fri Oct 25 2019 Jan Horak <jhorak@redhat.com> - 68.2.0-2
|
||||
- Added patch for TLS 1.3 support.
|
||||
|
||||
* Tue Oct 22 2019 Jan Horak <jhorak@redhat.com> - 68.2.0-1
|
||||
- Update to 68.2.0
|
||||
|
||||
* Thu Oct 3 2019 Jan Horak <jhorak@redhat.com> - 68.1.1-2
|
||||
- Update to 68.1.1
|
||||
|
||||
* Wed Sep 4 2019 Jan Horak <jhorak@redhat.com> - 60.9.0-2
|
||||
- Update to 60.9.0
|
||||
|
||||
* Thu Jul 4 2019 Martin Stransky <stransky@redhat.com> - 60.8.0-1
|
||||
- Updated to 60.8.0
|
||||
|
||||
* Wed Jul 3 2019 Martin Stransky <stransky@redhat.com> - 60.7.2-3
|
||||
- Rebuild to fix rhbz#1725919 - Thunderbird fails to authenticate
|
||||
with gmail with ssl/tls and OAuth2.
|
||||
|
||||
* Fri Jun 21 2019 Jan Horak <jhorak@redhat.com> - 60.7.2-2
|
||||
- Update to 60.7.2 build2
|
||||
|
||||
* Thu Jun 20 2019 Jan Horak <jhorak@redhat.com> - 60.7.2-1
|
||||
- Update to 60.7.2
|
||||
|
||||
* Tue Jun 18 2019 Jan Horak <jhorak@redhat.com> - 60.7.1-1
|
||||
- Update to 60.7.1
|
||||
|
||||
* Mon May 27 2019 Martin Stransky <stransky@redhat.com> - 60.7.0-1
|
||||
- Update to 60.7.0
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user