import thunderbird-60.7.0-1.el8_0

This commit is contained in:
CentOS Sources 2019-08-01 14:37:12 -04:00 committed by Stepan Oksanichenko
commit 0f3d73aba7
40 changed files with 3383 additions and 0 deletions

7
.gitignore vendored Normal file
View File

@ -0,0 +1,7 @@
SOURCES/Python-2.7.13.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/yasm-1.2.0-3.el5.src.rpm

7
.thunderbird.metadata Normal file
View File

@ -0,0 +1,7 @@
18a8f30a0356c751b8d0ea6f76e764cab13ee046 SOURCES/Python-2.7.13.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
77fd30f7ebc12a629a31c1e252cec06af55a71fe SOURCES/yasm-1.2.0-3.el5.src.rpm

View 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)

View 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"

View 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);

View 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)

View 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

View 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

View 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

View 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

View 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

23
SOURCES/find-external-requires Executable file
View File

@ -0,0 +1,23 @@
#!/bin/sh
# Finds requirements provided outside of the current file set
filelist=`sed "s/[]['\"*?{}]/\\\\\&/g"`
provides=`echo $filelist | /usr/lib/rpm/find-provides`
{
for f in $filelist ; do
echo $f | /usr/lib/rpm/find-requires | while read req ; do
found=0
for p in $provides ; do
if [ "$req" = "$p" ]; then
found=1
fi
done
if [ "$found" = "0" ]; then
echo $req
fi
done
done
} | sort -u

View 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);

126
SOURCES/get-calendar-langpacks.sh Executable file
View File

@ -0,0 +1,126 @@
#!/bin/bash
#set -x
set -e
usage()
{
cat << EOF
usage: $0 options
This script downloads calendar langpacks for Thunderbird.
OPTIONS:
-h Show this message
-v Version string (7.0.1)
-b Build number (1, 2, 3)
-r Reuse downloaded files (when you don't want to redownload)
EOF
}
VER=
BUILDNUM=
LANG_DATE=`date "+%Y%m%d"`
while getopts “hv:b:r” OPTION
do
case $OPTION in
h)
usage
exit 1
;;
v)
VER=$OPTARG
;;
b)
BUILDNUM=$OPTARG
;;
?)
usage
exit
;;
esac
done
if [ -z "$VER" -o -z "$BUILDNUM" ]
then
echo "Missing version or build number."
usage
exit 1
fi
WHITE='\033[1;33m'
NC='\033[0m' # No Color
LOCALES=`curl -f https://archive.mozilla.org/pub/thunderbird/candidates/$VER-candidates/build$BUILDNUM/linux-i686/ | grep "a href"|sed -e "s|.*/\([^/]*\)/\".*|\1|"|tail -n+2 |grep -v xpi`
#echo $LOCALES
rm -rf lightning-langpacks
mkdir -p lightning-langpacks
cd lightning-langpacks
LOCALE_COUNT=`echo $LOCALES| tr ' ' '\n' | wc -l`
LOCALE_NUM=0
for lang in $LOCALES; do
LOCALE_NUM=$((LOCALE_NUM+1))
echo -e "${WHITE}Processing calendar locale: $lang ($LOCALE_NUM/$LOCALE_COUNT)${NC}"
mkdir -p extracted_lightning
mkdir -p calendar-locales
#echo Downloading TB binary for locale: $lang
wget --quiet https://archive.mozilla.org/pub/thunderbird/candidates/$VER-candidates/build$BUILDNUM/linux-i686/$lang/thunderbird-$VER.tar.bz2
cd extracted_lightning
tar -xf ../thunderbird-$VER.tar.bz2 thunderbird/distribution/extensions/\{e2fda1a4-762b-4020-b5ad-a41df1933103\}.xpi
set +e
unzip -qq thunderbird/distribution/extensions/\{e2fda1a4-762b-4020-b5ad-a41df1933103\}.xpi
set -e
LIGHTNING_VERSION=`cat app.ini |grep "^Version="|sed -e 's/Version=//'`
BUILD_ID=`cat app.ini |grep "^BuildID="|sed -e 's/BuildID=//'`
MAX_VERSION=`cat app.ini |grep MaxVersion|sed -e s/MaxVersion=//`
MIN_VERSION=`cat app.ini |grep MinVersion|sed -e s/MinVersion=//`
rm -rf thunderbird
mkdir -p ../calendar-locales/chrome
cp -r chrome/calendar-$lang ../calendar-locales/chrome
cp -r chrome/lightning-$lang ../calendar-locales/chrome
cd -
cd calendar-locales
# create manifest
cat > manifest.json <<EOL
{
"languages": {
"$lang": {
"chrome_resources": {
"calendar": "chrome/calendar-$lang/locale/$lang/calendar/",
"lightning": "chrome/lightning-$lang/locale/$lang/lightning/"
},
"version": "$LIGHTNING_VERSION"
}
},
"applications": {
"gecko": {
"strict_min_version": "$MIN_VERSION",
"id": "langpack-cal-$lang@lightning.mozilla.org",
"strict_max_version": "$MAX_VERSION"
}
},
"langpack_id": "$lang",
"version": "7.$LIGHTNING_VERSION.$BUILD_ID",
"name": "$lang Language Pack Calendar",
"manifest_version": 2,
"sources": {
"browser": {
"base_path": "browser/"
}
},
"author": "Mozilla.cz (contributors: Pavel Cvrček, Pavel Franc, Michal Stanke, Michal Vašíček)",
"description": "Language pack for Thunderbird for $lang, this was repacked by Fedora/RHEL package maintainer from original binaries."
}
EOL
zip --quiet -r ../langpack-cal-$lang@lightning.mozilla.org.xpi *
cd -
rm -rf calendar-locales
rm -rf extracted_lightning
rm -f thunderbird-$VER.tar.bz2
done
echo "Creating lightning-langpacks-$VER.tar.xz..."
tar cJf ../lightning-langpacks-$VER.tar.xz *.xpi
cd ..
rm -rf lightning-langpacks

1
SOURCES/google-api-key Normal file
View File

@ -0,0 +1 @@
AIzaSyBPGXa4AYD4FC3HJK7LnIKxm4fDusVuuco

View File

@ -0,0 +1,54 @@
%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
%ghost %attr(644, root, root) %{gtk3_install_path}/%{_lib}/gtk-3.0/3.0.0/immodules.cache
%{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

View 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

View 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 || :

View 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 || :

View 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!

View 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

View 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({

View 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"

View 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,

View 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

View 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).

View File

@ -0,0 +1,164 @@
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;
};

View File

@ -0,0 +1,11 @@
--- 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

1
SOURCES/mozilla-api-key Normal file
View File

@ -0,0 +1 @@
9008bb7e-1e22-4038-94fe-047dd48ccc0b

View 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)

View 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",

View 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;

View 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;
}

View File

@ -0,0 +1,29 @@
ac_add_options --enable-application=comm/mail
ac_add_options --disable-crashreporter
ac_add_options --disable-libjpeg-turbo
ac_add_options --disable-necko-wifi
ac_add_options --disable-strip
ac_add_options --disable-tests
ac_add_options --disable-updater
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
export BUILD_OFFICIAL=1
export MOZILLA_OFFICIAL=1
mk_add_options BUILD_OFFICIAL=1
mk_add_options MOZ_CO_PROJECT=mail
mk_add_options MOZILLA_OFFICIAL=1
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir

View File

@ -0,0 +1,30 @@
pref("app.update.enabled", false);
pref("app.update.autoInstallEnabled", false);
# Allow users to set custom colors
# pref("browser.display.use_system_colors", true);
pref("general.useragent.vendor", "Red Hat");
pref("general.useragent.vendorSub", "THUNDERBIRD_RPM_VR");
pref("intl.locale.matchOS", true);
pref("mail.shell.checkDefaultClient", false);
pref("toolkit.networkmanager.disable", false);
pref("offline.autoDetect", true);
# Disable global indexing by default
pref("mailnews.database.global.indexer.enabled", false);
# Do not switch to Smart Folders after upgrade to 3.0b4
pref("mail.folder.views.version", "1");
pref("extensions.shownSelectionUI", true);
pref("extensions.autoDisableScope", 0);
# For rhbz#1024232
pref("ui.SpellCheckerUnderlineStyle", 1);
/* Workaround for rhbz#1134876 */
pref("javascript.options.baselinejit", false);
/* Workaround for rhbz#1110291 */
pref("network.negotiate-auth.allow-insecure-ntlm-v1", true);
/* Workaround for mozbz#1063315 */
pref("security.use_mozillapkix_verification", false);
/* Use OS settings for UI language */
pref("intl.locale.requested", "");

View File

@ -0,0 +1,30 @@
pref("app.update.enabled", false);
pref("app.update.autoInstallEnabled", false);
# Allow users to set custom colors
# pref("browser.display.use_system_colors", true);
pref("general.useragent.vendor", "Red Hat");
pref("general.useragent.vendorSub", "THUNDERBIRD_RPM_VR");
pref("intl.locale.matchOS", true);
pref("mail.shell.checkDefaultClient", false);
pref("toolkit.networkmanager.disable", false);
pref("offline.autoDetect", true);
# Disable global indexing by default
pref("mailnews.database.global.indexer.enabled", false);
# Do not switch to Smart Folders after upgrade to 3.0b4
pref("mail.folder.views.version", "1");
pref("extensions.shownSelectionUI", true);
pref("extensions.autoDisableScope", 0);
# For rhbz#1024232
pref("ui.SpellCheckerUnderlineStyle", 1);
/* Workaround for rhbz#1134876 */
pref("javascript.options.baselinejit", false);
/* Workaround for rhbz#1110291 */
pref("network.negotiate-auth.allow-insecure-ntlm-v1", true);
/* Workaround for mozbz#1063315 */
pref("security.use_mozillapkix_verification", false);
/* Use OS settings for UI language */
pref("intl.locale.requested", "");

View File

@ -0,0 +1,30 @@
[Desktop Entry]
Version=1.0
Name=Thunderbird
GenericName=Email
Comment=Send and Receive Email
Exec=thunderbird %u
TryExec=thunderbird
Icon=thunderbird
Terminal=false
Type=Application
MimeType=message/rfc822;x-scheme-handler/mailto;
StartupNotify=true
Categories=Network;Email;
Name[cs]=Poštovní klient Thunderbird
Name[ca]=Client de correu Thunderbird
Name[fi]=Thunderbird-sähköposti
Name[fr]=Messagerie Thunderbird
Name[pl]=Klient poczty Thunderbird
Name[pt_BR]=Cliente de E-mail Thunderbird
Name[sv]=E-postklienten Thunderbird
Comment[ca]=Llegiu i escriviu correu
Comment[cs]=Čtení a psaní pošty
Comment[de]=Emails lesen und verfassen
Comment[fi]=Lue ja kirjoita sähköposteja
Comment[fr]=Lire et écrire des courriels
Comment[it]=Leggere e scrivere email
Comment[ja]=
Comment[pl]=Czytanie i wysyłanie e-maili
Comment[pt_BR]=Ler e escrever suas mensagens
Comment[sv]=Läs och skriv e-post

145
SOURCES/thunderbird.sh.in Normal file
View File

@ -0,0 +1,145 @@
#!/bin/bash
#
# Startup script for the fedora.us Thunderbird RPM
# (based on the Mozilla RPM launch script)
#
##
## 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
if [ ! -x $MOZ_LIB_DIR/thunderbird/thunderbird ]; then
if [ ! -x $SECONDARY_LIB_DIR/thunderbird/thunderbird ]; then
echo "Error: $MOZ_LIB_DIR/thunderbird/thunderbird not found"
if [ -d $SECONDARY_LIB_DIR ]; then
echo " $SECONDARY_LIB_DIR/thunderbird/thunderbird not found"
fi
exit 1
fi
MOZ_LIB_DIR="$SECONDARY_LIB_DIR"
fi
MOZ_DIST_BIN="$MOZ_LIB_DIR/thunderbird"
MOZ_PROGRAM="$MOZ_DIST_BIN/thunderbird"
MOZ_LANGPACKS_DIR="$MOZ_DIST_BIN/langpacks"
MOZ_EXTENSIONS_PROFILE_DIR="$HOME/.mozilla/extensions/{3550f703-e582-4d05-9a08-453d09bdfdc6}"
##
## Set MOZ_ENABLE_PANGO is no longer used because Pango is enabled by default
## you may use MOZ_DISABLE_PANGO=1 to force disabling of pango
##
#MOZ_DISABLE_PANGO=1
#export MOZ_DISABLE_PANGO
##
## Set MOZ_APP_LAUNCHER for gnome-session
##
export MOZ_APP_LAUNCHER="/usr/bin/thunderbird"
##
## 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
##
## 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"
# MOZ_DISABLE_LANGPACKS disables language packs completelly
MOZILLA_DOWN=0
if ! [ $MOZ_DISABLE_LANGPACKS ] || [ $MOZ_DISABLE_LANGPACKS -eq 0 ]; then
pidof thunderbird > /dev/null 2>&1
MOZILLA_DOWN=$?
fi
# Modify language pack configuration only when thunderbird 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/lang* > /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 without a local variant first, then with a local variant
# So that pt-BR doesn't try to use pt for example
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}@thunderbird.mozilla.org.xpi
if [ -f $MOZ_LANGPACKS_DIR/$langpack ]; then
rm -rf $MOZ_EXTENSIONS_PROFILE_DIR/$langpack
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 $SHORTMOZLOCALE || create_langpack_link $MOZLOCALE || true
fi
# BEAST fix (rhbz#1005611)
NSS_SSL_CBC_RANDOM_IV=${NSS_SSL_CBC_RANDOM_IV-1}
export NSS_SSL_CBC_RANDOM_IV
# 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
exec $MOZ_PROGRAM "$@"

View 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

2119
SPECS/thunderbird.spec Normal file

File diff suppressed because it is too large Load Diff