diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8fac829 --- /dev/null +++ b/.gitignore @@ -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 diff --git a/.thunderbird.metadata b/.thunderbird.metadata new file mode 100644 index 0000000..14d9b62 --- /dev/null +++ b/.thunderbird.metadata @@ -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 diff --git a/SOURCES/build-aarch64-skia.patch b/SOURCES/build-aarch64-skia.patch new file mode 100644 index 0000000..1ecad24 --- /dev/null +++ b/SOURCES/build-aarch64-skia.patch @@ -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) diff --git a/SOURCES/build-big-endian.patch b/SOURCES/build-big-endian.patch new file mode 100644 index 0000000..e8ec439 --- /dev/null +++ b/SOURCES/build-big-endian.patch @@ -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" diff --git a/SOURCES/build-debug-qcms.patch b/SOURCES/build-debug-qcms.patch new file mode 100644 index 0000000..a65223a --- /dev/null +++ b/SOURCES/build-debug-qcms.patch @@ -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); diff --git a/SOURCES/build-disable-elfhack.patch b/SOURCES/build-disable-elfhack.patch new file mode 100644 index 0000000..1db9bdf --- /dev/null +++ b/SOURCES/build-disable-elfhack.patch @@ -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) diff --git a/SOURCES/build-gdk-version.patch b/SOURCES/build-gdk-version.patch new file mode 100644 index 0000000..a25b255 --- /dev/null +++ b/SOURCES/build-gdk-version.patch @@ -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 diff --git a/SOURCES/build-icu-big-endian.patch b/SOURCES/build-icu-big-endian.patch new file mode 100644 index 0000000..c26a4d4 --- /dev/null +++ b/SOURCES/build-icu-big-endian.patch @@ -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 diff --git a/SOURCES/build-jit-atomic-always-lucky.patch b/SOURCES/build-jit-atomic-always-lucky.patch new file mode 100644 index 0000000..ab99524 --- /dev/null +++ b/SOURCES/build-jit-atomic-always-lucky.patch @@ -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 diff --git a/SOURCES/build-mozconfig-fix.patch b/SOURCES/build-mozconfig-fix.patch new file mode 100644 index 0000000..91dffb1 --- /dev/null +++ b/SOURCES/build-mozconfig-fix.patch @@ -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 diff --git a/SOURCES/build-nss-version.patch b/SOURCES/build-nss-version.patch new file mode 100644 index 0000000..94947f2 --- /dev/null +++ b/SOURCES/build-nss-version.patch @@ -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 diff --git a/SOURCES/find-external-requires b/SOURCES/find-external-requires new file mode 100755 index 0000000..d79db1d --- /dev/null +++ b/SOURCES/find-external-requires @@ -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 \ No newline at end of file diff --git a/SOURCES/firefox-enable-addons.patch b/SOURCES/firefox-enable-addons.patch new file mode 100644 index 0000000..15d0707 --- /dev/null +++ b/SOURCES/firefox-enable-addons.patch @@ -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); + diff --git a/SOURCES/get-calendar-langpacks.sh b/SOURCES/get-calendar-langpacks.sh new file mode 100755 index 0000000..854cae2 --- /dev/null +++ b/SOURCES/get-calendar-langpacks.sh @@ -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 </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 diff --git a/SOURCES/gtk3-private-3.22.26-1-posttrans.inc b/SOURCES/gtk3-private-3.22.26-1-posttrans.inc new file mode 100644 index 0000000..8c5f2d7 --- /dev/null +++ b/SOURCES/gtk3-private-3.22.26-1-posttrans.inc @@ -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 || : diff --git a/SOURCES/gtk3-private-3.22.26-1-postun.inc b/SOURCES/gtk3-private-3.22.26-1-postun.inc new file mode 100644 index 0000000..3b5df73 --- /dev/null +++ b/SOURCES/gtk3-private-3.22.26-1-postun.inc @@ -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 || : diff --git a/SOURCES/gtk3-private-3.22.26-1-requires-provides-filter.inc b/SOURCES/gtk3-private-3.22.26-1-requires-provides-filter.inc new file mode 100644 index 0000000..f5fa495 --- /dev/null +++ b/SOURCES/gtk3-private-3.22.26-1-requires-provides-filter.inc @@ -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! diff --git a/SOURCES/gtk3-private-3.22.26-1-setup-flags-env.inc b/SOURCES/gtk3-private-3.22.26-1-setup-flags-env.inc new file mode 100644 index 0000000..eb54164 --- /dev/null +++ b/SOURCES/gtk3-private-3.22.26-1-setup-flags-env.inc @@ -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 diff --git a/SOURCES/mozilla-1005640-accept-lang.patch b/SOURCES/mozilla-1005640-accept-lang.patch new file mode 100644 index 0000000..29d3833 --- /dev/null +++ b/SOURCES/mozilla-1005640-accept-lang.patch @@ -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({ diff --git a/SOURCES/mozilla-1170092.patch b/SOURCES/mozilla-1170092.patch new file mode 100644 index 0000000..b182d64 --- /dev/null +++ b/SOURCES/mozilla-1170092.patch @@ -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//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 ++#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 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//pref/ directory if it exists ++ nsCOMPtr 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" diff --git a/SOURCES/mozilla-1196777.patch b/SOURCES/mozilla-1196777.patch new file mode 100644 index 0000000..c28cf94 --- /dev/null +++ b/SOURCES/mozilla-1196777.patch @@ -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, diff --git a/SOURCES/mozilla-1353817.patch b/SOURCES/mozilla-1353817.patch new file mode 100644 index 0000000..dc8d8f8 --- /dev/null +++ b/SOURCES/mozilla-1353817.patch @@ -0,0 +1,27 @@ +From 1cc652f5525f458b0b4ceb12af24bf5a4367db32 Mon Sep 17 00:00:00 2001 +From: Nicolas Dufresne +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 + diff --git a/SOURCES/mozilla-1436242.patch b/SOURCES/mozilla-1436242.patch new file mode 100644 index 0000000..570b7c5 --- /dev/null +++ b/SOURCES/mozilla-1436242.patch @@ -0,0 +1,56 @@ + +# HG changeset patch +# User Jed Davis +# 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). + + diff --git a/SOURCES/mozilla-1460871-ldap-query.patch b/SOURCES/mozilla-1460871-ldap-query.patch new file mode 100644 index 0000000..2f9c23d --- /dev/null +++ b/SOURCES/mozilla-1460871-ldap-query.patch @@ -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 mServerSearchControls; + nsCOMPtr 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; + }; diff --git a/SOURCES/mozilla-256180.patch b/SOURCES/mozilla-256180.patch new file mode 100644 index 0000000..13a1c97 --- /dev/null +++ b/SOURCES/mozilla-256180.patch @@ -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 diff --git a/SOURCES/mozilla-api-key b/SOURCES/mozilla-api-key new file mode 100644 index 0000000..81877bc --- /dev/null +++ b/SOURCES/mozilla-api-key @@ -0,0 +1 @@ +9008bb7e-1e22-4038-94fe-047dd48ccc0b diff --git a/SOURCES/mozilla-build-arm.patch b/SOURCES/mozilla-build-arm.patch new file mode 100644 index 0000000..e390a28 --- /dev/null +++ b/SOURCES/mozilla-build-arm.patch @@ -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) diff --git a/SOURCES/rhbz-1173156.patch b/SOURCES/rhbz-1173156.patch new file mode 100644 index 0000000..c35d901 --- /dev/null +++ b/SOURCES/rhbz-1173156.patch @@ -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", diff --git a/SOURCES/rhbz-1354671.patch b/SOURCES/rhbz-1354671.patch new file mode 100644 index 0000000..7660f14 --- /dev/null +++ b/SOURCES/rhbz-1354671.patch @@ -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; diff --git a/SOURCES/rhbz-1503632-nss.patch b/SOURCES/rhbz-1503632-nss.patch new file mode 100644 index 0000000..f7a26d3 --- /dev/null +++ b/SOURCES/rhbz-1503632-nss.patch @@ -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; + } diff --git a/SOURCES/thunderbird-mozconfig b/SOURCES/thunderbird-mozconfig new file mode 100644 index 0000000..646e90e --- /dev/null +++ b/SOURCES/thunderbird-mozconfig @@ -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 diff --git a/SOURCES/thunderbird-redhat-default-prefs.js.rhel6 b/SOURCES/thunderbird-redhat-default-prefs.js.rhel6 new file mode 100644 index 0000000..c412cb5 --- /dev/null +++ b/SOURCES/thunderbird-redhat-default-prefs.js.rhel6 @@ -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", ""); diff --git a/SOURCES/thunderbird-redhat-default-prefs.js.rhel7 b/SOURCES/thunderbird-redhat-default-prefs.js.rhel7 new file mode 100644 index 0000000..c412cb5 --- /dev/null +++ b/SOURCES/thunderbird-redhat-default-prefs.js.rhel7 @@ -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", ""); diff --git a/SOURCES/thunderbird.desktop b/SOURCES/thunderbird.desktop new file mode 100644 index 0000000..1945d1e --- /dev/null +++ b/SOURCES/thunderbird.desktop @@ -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 diff --git a/SOURCES/thunderbird.sh.in b/SOURCES/thunderbird.sh.in new file mode 100644 index 0000000..c0dc70b --- /dev/null +++ b/SOURCES/thunderbird.sh.in @@ -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 "$@" diff --git a/SOURCES/xulrunner-24.0-jemalloc-ppc.patch b/SOURCES/xulrunner-24.0-jemalloc-ppc.patch new file mode 100644 index 0000000..c8fe421 --- /dev/null +++ b/SOURCES/xulrunner-24.0-jemalloc-ppc.patch @@ -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 diff --git a/SPECS/thunderbird.spec b/SPECS/thunderbird.spec new file mode 100644 index 0000000..e7e9146 --- /dev/null +++ b/SPECS/thunderbird.spec @@ -0,0 +1,2119 @@ +%global debug_build 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 +%define build_langpacks 1 +%define use_bundled_ffi 0 +%define use_bundled_python 1 +%global use_bundled_yasm 1 +%global system_jpeg 1 +%global hardened_build 1 +%global use_dts 1 + +%define bundled_python_version 2.7.13 +%global cairo_version 1.10.2 +%global ffi_version 3.0.9 +%global freetype_version 2.1.9 +%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 +%if 0%{?rhel} == 7 +%define use_bundled_python 0 +%endif + +%if 0%{?rhel} < 8 +%global use_rustts 1 +%endif +%global dts_version 7 +%global rst_version 7 +%global llvm_version 7 +%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 +%define gtk3_install_path %{mozappdir}/bundled + + + +# Big endian platforms +%ifarch ppc64 s390x +# Javascript Intl API is not supported on big endian platforms right now: +# https://bugzilla.mozilla.org/show_bug.cgi?id=1322212 +%define big_endian 1 +%endif + +# ============================================================================ + +# Avoid patch failures +%define _default_patch_fuzz 2 + +%define thunderbird_app_id \{3550f703-e582-4d05-9a08-453d09bdfdc6\} + +%if %{?system_sqlite} +# The actual sqlite version (see #480989): +%global sqlite_build_version %(pkg-config --silence-errors --modversion sqlite3 2>/dev/null || echo 65536) +%endif + + +# GTK3 bundling +%define avoid_bundled_rebuild 0 +%if 0%{?rhel} == 6 +%define bundle_gtk3 1 +# In-tree libffi is able to build on following platforms, we have to bundle it for the rest +%global system_ffi 0 +%ifnarch x86_64 i686 aarch64 +%define use_bundled_ffi 1 +%endif +%endif + + +%if 0%{?bundle_gtk3} +# We could use %%include, but in %%files, %%post and other sections, but in these +# sections it could lead to syntax errors about unclosed %%if. Work around it by +# using the following macro +%define include_file() %{expand:%(cat '%1')} +%endif + +%global mozappdir %{_libdir}/%{name} +%global mozappdirdev %{_libdir}/%{name}-devel-%{version} +%global langpackdir %{mozappdir}/distribution/extensions +%global tarballdir %{name}-%{version} + + +Summary: Mozilla Thunderbird mail/newsgroup client +Name: thunderbird +Version: 60.7.0 +Release: 1%{?dist} +URL: http://www.mozilla.org/projects/thunderbird/ +License: MPLv1.1 or GPLv2+ or LGPLv2+ +Group: Applications/Internet + +%if 0%{?rhel} == 7 +ExcludeArch: s390 ppc +%endif +%if 0%{?rhel} == 6 +ExclusiveArch: i686 x86_64 ppc64 s390x +%endif + +# 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 +# Locales for lightning +Source2: lightning-langpacks-%{version}.tar.xz +%endif +Source3: get-calendar-langpacks.sh + +Source10: thunderbird-mozconfig +Source20: thunderbird.desktop +Source21: thunderbird.sh.in +Source24: mozilla-api-key +Source27: google-api-key +#TODO +Source101: 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 +Source203: gtk3-private-%{gtk3_nvr}-posttrans.inc +Source204: gtk3-private-%{gtk3_nvr}-files.inc +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 +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 +Patch4: build-mozconfig-fix.patch +Patch5: build-gdk-version.patch +Patch6: build-nss-version.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 +Patch215: firefox-enable-addons.patch +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 + +# 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 + +# --------------------------------------------------- + +BuildRequires: autoconf213 +BuildRequires: bzip2-devel +BuildRequires: dbus-glib-devel +BuildRequires: desktop-file-utils +BuildRequires: krb5-devel +BuildRequires: libXt-devel +BuildRequires: mesa-libGL-devel +BuildRequires: pkgconfig(dri) +BuildRequires: pkgconfig(freetype2) >= %{freetype_version} +BuildRequires: pkgconfig(gconf-2.0) +BuildRequires: pkgconfig(gtk+-2.0) +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(libIDL-2.0) +BuildRequires: pkgconfig(libnotify) +BuildRequires: pkgconfig(libpng) +BuildRequires: pkgconfig(libpulse) +BuildRequires: pkgconfig(libstartup-notification-1.0) +BuildRequires: pkgconfig(pango) +BuildRequires: pkgconfig(xrender) +BuildRequires: pkgconfig(xt) +BuildRequires: pkgconfig(zlib) +BuildRequires: xz +BuildRequires: zip +Requires: liberation-fonts-common +Requires: liberation-sans-fonts +Requires: mozilla-filesystem +Requires: p11-kit-trust +%if %{?system_jpeg} +BuildRequires: libjpeg-devel +%endif +%if %{?system_nss} +BuildRequires: pkgconfig(nspr) >= %{nspr_version} +BuildRequires: pkgconfig(nss) >= %{nss_version} +BuildRequires: nss-static >= %{nss_version} +%endif +%if %{?system_libvpx} +BuildRequires: libvpx-devel >= %{libvpx_version} +%endif + +%if 0%{?use_dts} +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 +BuildRequires: llvm-toolset-%{llvm_version} +BuildRequires: llvm-toolset-%{llvm_version}-llvm-devel +%endif +%endif +%if ! %{use_bundled_yasm}0 +BuildRequires: yasm +%endif +%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: llvm >= %{llvm_version} +BuildRequires: llvm-devel >= %{llvm_version} +BuildRequires: clang >= %{llvm_version} +%endif +%if 0%{?use_bundled_python} +#%if 0%{?rhel} == 6 +# Needed for Python in RHEL6 +BuildRequires: openssl-devel +#%endif +%endif + +%if 0%{?bundle_gtk3} +BuildRequires: automake +BuildRequires: autoconf +BuildRequires: cups-devel +BuildRequires: dbus-devel +BuildRequires: desktop-file-utils +BuildRequires: expat-devel +BuildRequires: fontpackages-devel +BuildRequires: gamin-devel +BuildRequires: gettext-devel +BuildRequires: git +BuildRequires: intltool +BuildRequires: jasper-devel +BuildRequires: libepoxy-devel +BuildRequires: libcroco-devel +BuildRequires: libffi-devel +BuildRequires: libpng-devel +BuildRequires: libtiff-devel +BuildRequires: libtool +BuildRequires: libxml2-devel +BuildRequires: libX11-devel +BuildRequires: libXcomposite-devel +BuildRequires: libXcursor-devel +BuildRequires: libXinerama-devel +BuildRequires: libXevie-devel +BuildRequires: libXrandr-devel +BuildRequires: libXrender-devel +BuildRequires: libXtst-devel +BuildRequires: mesa-libGL-devel +BuildRequires: mesa-libEGL-devel +BuildRequires: pixman-devel +BuildRequires: rest-devel +BuildRequires: readline-devel +# TODO: We miss that dependency in our bundled gtk3 package. +# As a hotfix we put it here and fix gtk3 in next release. +Requires: mesa-libEGL%{?_isa} +Requires: libcroco%{?_isa} +Requires: mesa-libGL%{?_isa} +Requires: bzip2-libs%{?_isa} +Requires: libXtst%{?_isa} +%else +BuildRequires: gtk3-devel +BuildRequires: glib2-devel +%endif +%if %{?system_nss} +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} +%endif +%if %{?system_ffi} + %if !%{use_bundled_ffi}0 +BuildRequires: pkgconfig(libffi) + %endif +%endif + +Obsoletes: thunderbird-lightning +# ================================================================================== +# Override internal dependency generator to avoid showing libraries provided by this package +# in dependencies: +#AutoProv: 0 +#%define _use_internal_dependency_generator 0 +#%define __find_requires %{SOURCE101} + +%description +Mozilla Thunderbird is a standalone mail and newsgroup client. + + +%prep +%setup -q -T -c -n python -a 100 +%setup -q -n %{tarballdir} + +# Firefox patches + +%patch29 -p1 -b .big-endian +%patch37 -p1 -b .jit-atomic-lucky +%patch40 -p1 -b .aarch64-skia +%if %{?debug_build} +%patch41 -p1 -b .build-debug-qcms +%endif +%patch43 -p1 -b .jemalloc-ppc +%if 0%{?rhel} == 8 +%patch45 -p1 -b .elfhack +%endif + +%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 +%patch225 -p1 -b .1005640-accept-lang + +# This ensures no migration of certdb to sqlite on the RHEL6 and RHEL7. +# This needs to stay for the future releases +%if 0%{?rhel} < 8 +%patch230 -p1 -b .1503632-nss +%endif + +#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 + +# Patch for big endian platforms only +%if 0%{?big_endian} +%patch26 -p1 -b .icu +%endif + +# Thunderbird patches + +%{__rm} -f .mozconfig +%{__cp} %{SOURCE10} .mozconfig +function add_to_mozconfig() { + mozconfig_entry=$1 + echo "ac_add_options --$1" >> .mozconfig +} + +# Modify mozconfig file +%if %{official_branding} + add_to_mozconfig "enable-official-branding" +%endif +%{__cp} %{SOURCE24} mozilla-api-key +%{__cp} %{SOURCE27} google-api-key + +%if %{?system_nss} + add_to_mozconfig "with-system-nspr" + add_to_mozconfig "with-system-nss" +%else + add_to_mozconfig "without-system-nspr" + add_to_mozconfig "without-system-nss" +%endif + +%if %{?system_sqlite} + add_to_mozconfig "enable-system-sqlite" +%else + add_to_mozconfig "disable-system-sqlite" +%endif +%if 0%{?use_bundled_ffi} + add_to_mozconfig "with-system-ffi" +%endif + +%if 0%{?system_ffi} + add_to_mozconfig "with-system-ffi" +%endif +%ifarch %{arm} + add_to_mozconfig "disable-elf-hack" +%endif + +%if %{?debug_build} + add_to_mozconfig "enable-debug" + add_to_mozconfig "disable-optimize" +%else +%global optimize_flags "none" +%ifnarch s390 s390x +%global optimize_flags "-g -O2" +%endif +%ifarch armv7hl +# ARMv7 need that (rhbz#1426850) +%global optimize_flags "-g -O2 -fno-schedule-insns" +%endif +%ifarch ppc64le aarch64 +%global optimize_flags "-g -O2" +%endif +%if %{optimize_flags} != "none" +echo 'ac_add_options --enable-optimize=%{?optimize_flags}' >> .mozconfig +%else +echo 'ac_add_options --enable-optimize' >> .mozconfig +%endif +echo "ac_add_options --disable-debug" >> .mozconfig +%endif + +# Second arches fail to start with jemalloc enabled +%ifnarch %{ix86} x86_64 +echo "ac_add_options --disable-jemalloc" >> .mozconfig +%endif + +%ifnarch %{ix86} x86_64 +echo "ac_add_options --disable-webrtc" >> .mozconfig +%endif + +%if %{?system_libvpx} +echo "ac_add_options --with-system-libvpx" >> .mozconfig +%else +echo "ac_add_options --without-system-libvpx" >> .mozconfig +%endif + +%if %{?system_libicu} +echo "ac_add_options --with-system-icu" >> .mozconfig +%else +echo "ac_add_options --without-system-icu" >> .mozconfig +%endif +%ifarch s390 s390x +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 + +# 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 + +#GTK3 >> +%if ! 0%{?avoid_bundled_rebuild} + rm -rf %{_buildrootdir}/* +%endif +export PATH="%{_buildrootdir}/bin:$PATH" + +function install_rpms_to_current_dir() { + PACKAGE_RPM=$(eval echo $1) + PACKAGE_DIR=%{_rpmdir} + + if [ ! -f $PACKAGE_DIR/$PACKAGE_RPM ]; then + # Hack for tps tests + ARCH_STR=%{_arch} + %ifarch i386 i686 + ARCH_STR="i?86" + %endif + PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR" + fi + + for package in $(ls $PACKAGE_DIR/$PACKAGE_RPM) + do + echo "$package" + rpm2cpio "$package" | cpio -idu + done +} + +function build_bundled_package() { + PACKAGE_RPM=$1 + PACKAGE_FILES=$2 + PACKAGE_SOURCE=$3 + PACKAGE_DIR="%{_topdir}/RPMS" + + PACKAGE_ALREADY_BUILD=0 + %if %{?avoid_bundled_rebuild} + if ls $PACKAGE_DIR/$PACKAGE_RPM; then + PACKAGE_ALREADY_BUILD=1 + fi + if ls $PACKAGE_DIR/%{_arch}/$PACKAGE_RPM; then + PACKAGE_ALREADY_BUILD=1 + fi + %endif + if [ $PACKAGE_ALREADY_BUILD == 0 ]; then + echo "Rebuilding $PACKAGE_RPM from $PACKAGE_SOURCE"; echo "===============================" + rpmbuild --nodeps --rebuild $PACKAGE_SOURCE + fi + + if [ ! -f $PACKAGE_DIR/$PACKAGE_RPM ]; then + # Hack for tps tests + ARCH_STR=%{_arch} + %ifarch i386 i686 + ARCH_STR="i?86" + %endif + PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR" + fi + pushd $PACKAGE_DIR + echo "Installing $PACKAGE_DIR/$PACKAGE_RPM"; echo "===============================" + rpm2cpio $PACKAGE_DIR/$PACKAGE_RPM | cpio -iduv + # 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 +} + +# Build and install local yasm if needed +# ====================================== +%if %{use_bundled_yasm} + 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 + install_rpms_to_current_dir gtk3-private-rpm-scripts-%{gtk3_nvr}*.rpm + 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} +%endif +%if 0%{use_bundled_ffi} + # Install libraries to the predefined location to later add them to the Firefox libraries + rpm -ivh %{SOURCE303} + rpmbuild --nodeps --define '_prefix %{gtk3_install_path}' -ba %{_specdir}/libffi.spec + pushd %{_buildrootdir} + install_rpms_to_current_dir 'libffi*.rpm' + popd + %filter_from_requires /libffi.so.6/d +%endif +%filter_setup + +# GTK3 << + +%if %{?system_sqlite} + # Do not proceed with build if the sqlite require would be broken: + # make sure the minimum requirement is non-empty, ... + sqlite_version=$(expr "%{sqlite_version}" : '\([0-9]*\.\)[0-9]*\.') || exit 1 + # ... and that major number of the computed build-time version matches: + case "%{sqlite_build_version}" in + "$sqlite_version"*) ;; + *) exit 1 ;; + 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 +%endif + +# Update the various config.guess to upstream release for aarch64 support +find ./ -name config.guess -exec cp /usr/lib/rpm/config.guess {} ';' + +# -fpermissive is needed to build with gcc 4.6+ which has become stricter +# +# Mozilla builds with -Wall with exception of a few warnings which show up +# everywhere in the code; so, don't override that. +# +# Disable C++ exceptions since Mozilla code is not exception-safe +# +MOZ_OPT_FLAGS=$(echo "%{optflags}" | %{__sed} -e 's/-Wall//') +#rhbz#1037063 +# -Werror=format-security causes build failures when -Wno-format is explicitly given +# 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 +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) +MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fno-delete-null-pointer-checks" +%endif +# Use hardened build? +%if %{?hardened_build} +MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fPIC -Wl,-z,relro -Wl,-z,now" +%endif +%if %{?debug_build} + MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-O2//') +%endif +%ifarch s390 +MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-g/-g1/') +# If MOZ_DEBUG_FLAGS is empty, firefox's build will default it to "-g" which +# overrides the -g1 from line above and breaks building on s390 +# (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 +%ifarch s390 +MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-g/-g1/') +# If MOZ_DEBUG_FLAGS is empty, firefox's build will default it to "-g" which +# overrides the -g1 from line above and breaks building on s390 +# (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 + +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. +%ifarch %{ix86} x86_64 ppc ppc64 ppc64le aarch64 +[ -z "$RPM_BUILD_NCPUS" ] && \ + RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`" +[ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2 +[ "$RPM_BUILD_NCPUS" -ge 4 ] && MOZ_SMP_FLAGS=-j4 +[ "$RPM_BUILD_NCPUS" -ge 8 ] && MOZ_SMP_FLAGS=-j8 +%endif + +%if 0%{?bundle_gtk3} +# gtk3-private-setup-flags-env.inc +%include_file %{SOURCE205} +%endif + +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 + +#--------------------------------------------------------------------- + +%install +%if 0%{?rhel} == 6 +export SHELL=/bin/sh +%endif + +%if 0%{?bundle_gtk3} +function install_rpms_to_current_dir() { + PACKAGE_RPM=$(eval echo $1) + PACKAGE_DIR=%{_rpmdir} + + if [ ! -f $PACKAGE_DIR/$PACKAGE_RPM ]; then + # Hack for tps tests + ARCH_STR=%{_arch} + %ifarch i386 i686 + ARCH_STR="i?86" + %endif + PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR" + fi + + for package in $(ls $PACKAGE_DIR/$PACKAGE_RPM) + do + echo "$package" + rpm2cpio "$package" | cpio -idu + done +} + +pushd %{buildroot} +# Install gtk3-private again to the buildroot, but without devel subpackage +install_rpms_to_current_dir gtk3-private-%{gtk3_nvr}*.rpm +install_rpms_to_current_dir gtk3-private-rpm-scripts-%{gtk3_nvr}*.rpm +popd +%endif + +# Install bundled libffi +%if %{use_bundled_ffi} + pushd %{buildroot} + install_rpms_to_current_dir libffi-3*.rpm + popd +%endif + +DESTDIR=%{buildroot} make -C objdir install + +%{__mkdir_p} %{buildroot}{%{_libdir},%{_bindir},%{_datadir}/applications} + +desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE20} + +# set up the thunderbird start script +rm -rf %{buildroot}%{_bindir}/thunderbird +%{__rm} -rf %{buildroot}%{_bindir}/thunderbird +%{__cat} %{SOURCE21} > %{buildroot}%{_bindir}/thunderbird +%if 0%{?bundle_gtk3} +sed -i -e 's|%RHEL_ENV_VARS%|export XDG_DATA_DIRS="$MOZ_LIB_DIR/thunderbird/bundled/share:/usr/share:$XDG_DATA_DIRS"|' %{buildroot}%{_bindir}/thunderbird +%else +sed -i -e 's|%RHEL_ENV_VARS%||' %{buildroot}%{_bindir}/thunderbird +%endif +%{__chmod} 755 %{buildroot}%{_bindir}/thunderbird + +# Setup preferences, depends on RHEL version +THUNDERBIRD_PREF_SOURCE=%{SOURCE701} +%if 0%{?rhel} == 6 + THUNDERBIRD_PREF_SOURCE=%{SOURCE601} +%endif + +# Fill in THUNDERBIRD_RPM_VR into our rh-default-prefs +%{__cat} $THUNDERBIRD_PREF_SOURCE | %{__sed} -e 's,THUNDERBIRD_RPM_VR,%{version}-%{release},g' > \ + %{buildroot}/rh-default-prefs +%{__install} -D %{buildroot}/rh-default-prefs %{buildroot}/%{mozappdir}/greprefs/all-redhat.js +%{__install} -D %{buildroot}/rh-default-prefs %{buildroot}/%{mozappdir}/defaults/pref/all-redhat.js +%{__rm} %{buildroot}/rh-default-prefs + +# install icons +for s in 16 22 24 32 48 256; do + %{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps + %{__cp} -p comm/mail/branding/%{name}/default${s}.png \ + %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps/thunderbird.png +done + +%{__rm} -f %{buildroot}%{_bindir}/thunderbird-config + +# own mozilla plugin dir (#135050) +%{__mkdir_p} %{buildroot}%{_libdir}/mozilla/plugins + +# own extension directories +%{__mkdir_p} %{buildroot}%{_datadir}/mozilla/extensions/%{thunderbird_app_id} +%{__mkdir_p} %{buildroot}%{_libdir}/mozilla/extensions/%{thunderbird_app_id} + +# Install langpacks +echo > %{name}.lang +%if %{build_langpacks} +# Extract langpacks, make any mods needed, repack the langpack, and install it. +%{__mkdir_p} %{buildroot}%{langpackdir} +%{__tar} xf %{SOURCE1} +for langpack in `ls thunderbird-langpacks/*.xpi`; do + language=`basename $langpack .xpi` + extensionID=langpack-$language@thunderbird.mozilla.org + %{__mkdir_p} $extensionID + unzip $langpack -d $extensionID + find $extensionID -type f | xargs chmod 644 + + cd $extensionID + zip -r9mX ../${extensionID}.xpi * + cd - + + %{__install} -m 644 ${extensionID}.xpi %{buildroot}%{langpackdir} + language=`echo $language | sed -e 's/-/_/g'` + echo "%%lang($language) %{langpackdir}/${extensionID}.xpi" >> %{name}.lang +done +%{__rm} -rf thunderbird-langpacks + +# Install langpack workaround (see #707100, #821169) +function create_default_langpack() { + language_long=$1 + language_short=$2 + cd %{buildroot}%{langpackdir} + ln -s langpack-$language_long@thunderbird.mozilla.org.xpi langpack-$language_short@thunderbird.mozilla.org.xpi + cd - + echo "%%lang($language_short) %{langpackdir}/langpack-$language_short@thunderbird.mozilla.org.xpi" >> ../%{name}.lang +} + +# Table of fallbacks for each language +# please file a bug at bugzilla.redhat.com if the assignment is incorrect +# Because of bug 1341629 we can't do this: +#create_default_langpack "bn-BD" "bn" +#create_default_langpack "es-AR" "es" +#create_default_langpack "fy-NL" "fy" +#create_default_langpack "ga-IE" "ga" +#create_default_langpack "hy-AM" "hy" +#create_default_langpack "nb-NO" "nb" +#create_default_langpack "nn-NO" "nn" +#create_default_langpack "pa-IN" "pa" +#create_default_langpack "pt-PT" "pt" +#create_default_langpack "sv-SE" "sv" +#create_default_langpack "zh-TW" "zh" + +# lightning langpacks install +cd %{buildroot}%{langpackdir} +%{__tar} xf %{SOURCE2} +chmod a+r *.xpi +cd - +%endif # build_langpacks + +# Get rid of devel package and its debugsymbols +%{__rm} -rf %{buildroot}%{_libdir}/%{name}-devel-%{version} + +# Copy over the LICENSE +%{__install} -p -c -m 644 LICENSE %{buildroot}/%{mozappdir} + +# Use the system hunspell dictionaries +%{__rm} -rf %{buildroot}%{mozappdir}/dictionaries +ln -s %{_datadir}/myspell %{buildroot}%{mozappdir}/dictionaries + +# ghost files +%{__mkdir_p} %{buildroot}%{mozappdir}/components +touch %{buildroot}%{mozappdir}/components/compreg.dat +touch %{buildroot}%{mozappdir}/components/xpti.dat + +# Clean thunderbird-devel debuginfo +rm -rf %{_prefix}/lib/debug/lib/%{name}-devel-* +rm -rf %{_prefix}/lib/debug/lib64/%{name}-devel-* + +#--------------------------------------------------------------------- + +%clean +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 + +%post +update-desktop-database &> /dev/null || : +touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : +%if 0%{?bundle_gtk3} +# gtk3-private-post.inc +%include_file %{SOURCE201} +%endif + +if [ -x %{_bindir}/gtk-update-icon-cache ]; then + %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +fi + +%postun +if [ $1 -eq 0 ] ; then + touch --no-create %{_datadir}/icons/hicolor &>/dev/null + gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : +fi +update-desktop-database &> /dev/null || : +%if 0%{?bundle_gtk3} +# gtk3-private-postun.inc +%include_file %{SOURCE202} +%endif + +%posttrans +gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : +%if 0%{?bundle_gtk3} +# gtk3-private-posttrans.inc +%include_file %{SOURCE203} +%endif + +#=============================================================================== +%files -f %{name}.lang +%defattr(-,root,root,-) +%attr(755,root,root) %{_bindir}/thunderbird +%attr(644,root,root) %{_datadir}/applications/thunderbird.desktop +%dir %{_datadir}/mozilla/extensions/%{thunderbird_app_id} +%dir %{_libdir}/mozilla/extensions/%{thunderbird_app_id} +%dir %{mozappdir} +%doc %{mozappdir}/LICENSE +%{mozappdir}/chrome +%dir %{mozappdir}/components +%ghost %{mozappdir}/components/compreg.dat +%ghost %{mozappdir}/components/xpti.dat +%{mozappdir}/omni.ja +%{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 +%{mozappdir}/thunderbird +%{mozappdir}/*.so +%{mozappdir}/platform.ini +%{mozappdir}/application.ini +%{mozappdir}/blocklist.xml +%{mozappdir}/features/*.xpi +%exclude %{mozappdir}/removed-files +%{_datadir}/icons/hicolor/16x16/apps/thunderbird.png +%{_datadir}/icons/hicolor/22x22/apps/thunderbird.png +%{_datadir}/icons/hicolor/24x24/apps/thunderbird.png +%{_datadir}/icons/hicolor/256x256/apps/thunderbird.png +%{_datadir}/icons/hicolor/32x32/apps/thunderbird.png +%{_datadir}/icons/hicolor/48x48/apps/thunderbird.png +%{mozappdir}/pingsender +%{mozappdir}/gtk2/libmozgtk.so +%if !%{?system_nss} +%{mozappdir}/*.chk +%endif +%{mozappdir}/dependentlibs.list +%{mozappdir}/distribution +%{mozappdir}/chrome.manifest +%{mozappdir}/fonts/EmojiOneMozilla.ttf +%if !%{?system_libicu} +#%{mozappdir}/icudt*.dat +%endif +%if !%{?system_nss} +%{mozappdir}/libfreeblpriv3.chk +%{mozappdir}/libnssdbm3.chk +%{mozappdir}/libsoftokn3.chk +%exclude %{mozappdir}/libnssckbi.so +%endif +%if 0%{use_bundled_ffi} +%{mozappdir}/bundled/%{_lib}/libffi.so* +%exclude %{_datadir}/doc/libffi* +%endif + +%if 0%{?bundle_gtk3} +# gtk3-private-files.inc +%include_file %{SOURCE204} +%endif + + +#=============================================================================== + +%changelog +* Mon May 27 2019 Martin Stransky - 60.7.0-1 +- Update to 60.7.0 + +* Mon Mar 25 2019 Martin Stransky - 60.6.1-1 +- Update to 60.6.1 + +* Tue Mar 19 2019 Martin Stransky - 60.6.0-1 +- Update to 60.6.0 + +* Tue Jan 29 2019 Martin Stransky - 60.5.0-1 +- Update to 60.5.0 + +* Thu Jan 3 2019 Jan Horak - 60.4.0-1 +- Update to 60.4.0 + +* Wed Oct 31 2018 Jan Horak - 60.3.0-1 +- Update to 60.3.0 + +* Wed Oct 31 2018 Jan Horak - 60.2.1-6 +- Fixed missing calendar langpacks + +* Tue Oct 16 2018 Jan Horak - 60.2.1-5 +- Fixing minor issues + +* Wed Oct 10 2018 Jan Horak - 60.2.1-3 +- Reverting deleting of key3db + +* Wed Oct 3 2018 Jan Horak - 60.2.1-2 +- Update to 60.2.1 +- Added fix for rhbz#1546988 + +* Fri Sep 14 2018 Jan Horak - 60.0-1 +- Rebase to version 60 + +* Tue Jul 10 2018 Jan Horak - 52.9.1-1 +- Update to 52.9.1 + +* Thu May 17 2018 Jan Horak - 52.8.0-2 +- Update to 52.8.0 + +* Mon Mar 26 2018 Jan Horak - 52.7.0-1 +- Update to 52.7.0 + +* Fri Jan 26 2018 Jan Horak - 52.6.0-1 +- Update to 52.6.0 + +* Tue Jan 2 2018 Jan Horak - 52.5.2-1 +- Update to 52.5.2 + +* Mon Nov 27 2017 Jan Horak - 52.5.0-1 +- Update to 52.5.0 + +* Wed Oct 4 2017 Jan Horak - 52.4.0-2 +- Update to 52.4.0 (b2) + +* Mon Aug 21 2017 Jan Horak - 52.3.0-1 +- Update to 52.3.0 + +* Thu Jun 29 2017 Jan Horak - 52.2.1-1 +- Update to 52.2.1 + +* Thu Jun 15 2017 Jan Horak - 52.2.0-1 +- Update to 52.2.0 + +* Tue May 2 2017 Jan Horak - 52.1.0-1 +- Update to 52.1.0 + +* Thu Apr 13 2017 Jan Horak - 52.0.1-1 +- Update to 52.0.1 + +* Tue Mar 7 2017 Jan Horak - 45.8.0-1 +- Update to 45.8.0 + +* Thu Jan 26 2017 Jan Horak - 45.7.0-1 +- Update to 45.7.0 + +* Fri Dec 16 2016 Martin Stransky - 45.6.0-1 +- Update to the latest upstream (45.6.0) + +* Thu Dec 1 2016 Jan Horak - 45.5.1-1 +- Update to 45.5.1 + +* Fri Nov 18 2016 Jan Horak - 45.5.0-1 +- Update to 45.5.0 + +* Thu Sep 29 2016 Jan Horak - 45.4.0-1 +- Update to 45.4.0 + +* Fri Aug 26 2016 Jan Horak - 45.3.0-1 +- Update to 45.3.0 + +* Wed Jun 29 2016 Jan Horak - 45.2-1 +- Update to 45.2 + +* Mon Jun 6 2016 Jan Horak - 45.1.1-1 +- Update to 45.1.1 + +* Mon Jun 06 2016 Jan Horak - 45.1.0-5 +- Do not add symlinks to some langpacks + +* Tue May 17 2016 Jan Horak - 45.1.0-4 +- Update to 45.1.0 + +* Tue Apr 26 2016 Jan Horak - 45.0-5 +- Update to 45.0 + +* Tue Sep 29 2015 Jan Horak - 38.3.0-1 +- Update to 38.3.0 + +* Fri Aug 14 2015 Jan Horak - 38.2.0-1 +- Update to 38.2.0 + +* Wed Jul 15 2015 Jan Horak - 38.1.0-2 +- Rebase to 38.1.0 + +* Wed Jul 15 2015 Jan Horak - 31.8.0-1 +- Update to 31.8.0 + +* Sun May 10 2015 Jan Horak - 31.7.0-1 +- Update to 31.7.0 + +* Tue Mar 31 2015 Jan Horak - 31.6.0-1 +- Update to 31.6.0 + +* Mon Feb 23 2015 Jan Horak - 31.5.0-2 +- Update to 31.5.0 + +* Sat Jan 10 2015 Jan Horak - 31.4.0-1 +- Update to 31.4.0 + +* Mon Dec 22 2014 Jan Horak - 31.3.0-2 +- Fixed problems with dictionaries (mozbz#1097550) + +* Fri Nov 28 2014 Jan Horak - 31.3.0-1 +- Update to 31.3.0 + +* Thu Oct 30 2014 Jan Horak - 31.2.0-2 +- Update to 31.2.0 + +* Wed Oct 1 2014 Martin Stransky - 31.1.1-5 +- Sync preferences with Firefox + +* Thu Sep 18 2014 Yaakov Selkowitz - 31.1.1-4 +- Fix dependency generation for internal libraries (#1140471) + +* Fri Sep 12 2014 Jan Horak - 31.1.1-3 +- Update to 31.1.1 + +* Tue Sep 9 2014 Jan Horak - 31.1.0-4 +- Use system libffi + +* Wed Sep 3 2014 Jan Horak - 31.1.0-2 +- Added fix for ppc64le + +* Mon Sep 1 2014 Jan Horak - 31.1.0-1 +- Update to 31.1.0 + +* Wed Jul 30 2014 Martin Stransky - 31.0-2 +- Added patch for mozbz#858919 + +* Tue Jul 29 2014 Martin Stransky - 31.0-1 +- Update to 31.0 + +* Tue Jul 22 2014 Jan Horak - 24.7.0-1 +- Update to 24.7.0 + +* Mon Jun 9 2014 Jan Horak - 24.6.0-1 +- Update to 24.6.0 + +* Sun Jun 08 2014 Fedora Release Engineering - 24.5.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri May 23 2014 Brent Baude - 24.5.0-5 +- Moving the ppc64 conditional up before the cd so it will +- apply cleanly + +* Fri May 23 2014 Martin Stransky - 24.5.0-4 +- Added a build fix for ppc64 - rhbz#1100495 + +* Mon May 5 2014 Jan Horak - 24.5.0-3 +- Fixed find requires + +* Mon Apr 28 2014 Jan Horak - 24.5.0-1 +- Update to 24.5.0 + +* Tue Apr 22 2014 Jan Horak - 24.4.0-2 +- Added support for ppc64le + +* Tue Mar 18 2014 Jan Horak - 24.4.0-1 +- Update to 24.4.0 + +* Mon Feb 3 2014 Jan Horak - 24.3.0-1 +- Update to 24.3.0 + +* Mon Dec 16 2013 Martin Stransky - 24.2.0-4 +- Fixed rhbz#1024232 - thunderbird: squiggly lines used + for spelling correction disappear randomly + +* Fri Dec 13 2013 Martin Stransky - 24.2.0-3 +- Build with -Werror=format-security (rhbz#1037353) + +* Wed Dec 11 2013 Martin Stransky - 24.2.0-2 +- rhbz#1001998 - added a workaround for system notifications + +* Mon Dec 9 2013 Jan Horak - 24.2.0-1 +- Update to 24.2.0 + +* Sat Nov 02 2013 Dennis Gilmore - 24.1.0-2 +- remove ExcludeArch: armv7hl + +* Wed Oct 30 2013 Jan Horak - 24.1.0-1 +- Update to 24.1.0 + +* Thu Oct 17 2013 Martin Stransky - 24.0-4 +- Fixed rhbz#1005611 - BEAST workaround not enabled in Firefox + +* Wed Sep 25 2013 Jan Horak - 24.0-3 +- Update to 24.0 + +* Mon Sep 23 2013 Jan Horak - 17.0.9-1 +- Update to 17.0.9 ESR + +* Mon Aug 5 2013 Jan Horak - 17.0.8-1 +- Update to 17.0.8 + +* Sun Aug 04 2013 Fedora Release Engineering - 17.0.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Tue Jun 25 2013 Jan Horak - 17.0.7-1 +- Update to 17.0.7 + +* Wed Jun 12 2013 Jan Horak - 17.0.6-2 +- Fixed rhbz#973371 - unable to install addons + +* Tue May 14 2013 Jan Horak - 17.0.6-1 +- Update to 17.0.6 + +* Tue Apr 2 2013 Jan Horak - 17.0.5-1 +- Update to 17.0.5 + +* Mon Mar 11 2013 Jan Horak - 17.0.4-1 +- Update to 17.0.4 + +* Tue Feb 19 2013 Jan Horak - 17.0.3-1 +- Update to 17.0.3 + +* Fri Feb 15 2013 Fedora Release Engineering - 17.0.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Tue Jan 15 2013 Martin Stransky - 17.0.2-3 +- Added fix for NM regression (mozbz#791626) + +* Tue Jan 15 2013 Jan Horak - 17.0.2-2 +- Added mozilla-746112 patch to fix crash on ppc(64) + +* Thu Jan 10 2013 Jan Horak - 17.0.2-1 +- Update to 17.0.2 + +* Mon Nov 19 2012 Jan Horak - 17.0-1 +- Update to 17.0 + +* Mon Oct 29 2012 Jan Horak - 16.0.2-1 +- Update to 16.0.2 + +* Tue Oct 16 2012 Jan Horak - 16.0.1-2 +- Fixed nss and nspr versions + +* Thu Oct 11 2012 Jan Horak - 16.0.1-1 +- Update to 16.0.1 + +* Tue Oct 9 2012 Jan Horak - 16.0-1 +- Update to 16.0 + +* Tue Sep 18 2012 Dan Horák - 15.0.1-3 +- Added fix for rhbz#855923 - TB freezes on Fedora 18 for PPC64 + +* Fri Sep 14 2012 Martin Stransky - 15.0.1-2 +- Added build flags for second arches + +* Tue Sep 11 2012 Jan Horak - 15.0.1-1 +- Update to 15.0.1 + +* Fri Sep 7 2012 Jan Horak - 15.0-2 +- Added workaround fix for PPC (rbhz#852698) + +* Mon Aug 27 2012 Jan Horak - 15.0-1 +- Update to 15.0 + +* Wed Aug 1 2012 Martin Stransky - 14.0-4 +- Removed StartupWMClass (rhbz#844863) +- Fixed -g parameter +- Removed thunderbird-devel before packing to avoid debugsymbols duplicities (rhbz#823940) + +* Sat Jul 21 2012 Fedora Release Engineering - 14.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Jul 17 2012 Jan Horak - 14.0-1 +- Update to 14.0 + +* Fri Jun 15 2012 Jan Horak - 13.0.1-1 +- Update to 13.0.1 + +* Tue Jun 5 2012 Jan Horak - 13.0-1 +- Update to 13.0 + +* Mon May 7 2012 Martin Stransky - 12.0.1-2 +- Fixed #717245 - adhere Static Library Packaging Guidelines + +* Mon Apr 30 2012 Jan Horak - 12.0.1-1 +- Update to 12.0.1 + +* Tue Apr 24 2012 Jan Horak - 12.0-1 +- Update to 12.0 + +* Mon Apr 16 2012 Peter Robinson - 11.0.1-2 +- Add upstream patch to fix FTBFS on ARM + +* Thu Mar 29 2012 Jan Horak - 11.0.1-1 +- Update to 11.0.1 + +* Thu Mar 22 2012 Jan Horak - 11.0-6 +- Added translations to thunderbird.desktop file + +* Fri Mar 16 2012 Martin Stransky - 11.0-5 +- gcc 4.7 build fixes + +* Wed Mar 14 2012 Peter Robinson - 11.0-4 +- Add ARM configuration options + +* Wed Mar 14 2012 Martin Stransky - 11.0-3 +- Build with system libvpx + +* Tue Mar 13 2012 Martin Stransky - 11.0-1 +- Update to 11.0 + +* Thu Feb 23 2012 Jan Horak - 10.0.1-3 +- Added fix for proxy settings mozbz#682832 + +* Thu Feb 16 2012 Martin Stransky - 10.0.1-2 +- Added fix for mozbz#727401 + +* Thu Feb 9 2012 Jan Horak - 10.0.1-1 +- Update to 10.0.1 + +* Mon Feb 6 2012 Martin Stransky - 10.0-2 +- gcc 4.7 build fixes + +* Tue Jan 31 2012 Jan Horak - 10.0-1 +- Update to 10.0 + +* Sat Jan 14 2012 Fedora Release Engineering - 9.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Thu Jan 05 2012 Dan Horák - 9.0-6 +- disable jemalloc on s390(x) (taken from xulrunner) + +* Wed Jan 04 2012 Dan Horák - 9.0-5 +- fix build on secondary arches (cherry-picked from 13afcd4c097c) + +* Thu Dec 22 2011 Jan Horak - 9.0-4 +- Update to 9.0 + +* Fri Dec 9 2011 Martin Stransky - 8.0-4 +- enabled gio support (#760644) + +* Tue Nov 29 2011 Jan Horak - 8.0-3 +- Fixed s390x issues + +* Thu Nov 10 2011 Jan Horak - 8.0-2 +- Enable Mozilla's crash reporter again for all archs +- Temporary workaround for langpacks +- Disabled addon check UI (#753551) + +* Tue Nov 8 2011 Jan Horak - 8.0-1 +- Update to 8.0 + +* Tue Oct 18 2011 Martin Stransky - 7.0.1-3 +- Added NM patches (mozbz#627672, mozbz#639959) + +* Wed Oct 12 2011 Dan Horák - 7.0.1-2 +- fix build on secondary arches (copied from xulrunner) + +* Fri Sep 30 2011 Jan Horak - 7.0.1-1 +- Update to 7.0.1 + +* Tue Sep 27 2011 Jan Horak - 7.0-1 +- Update to 7.0 + +* Tue Sep 6 2011 Jan Horak - 6.0.2-1 +- Update to 6.0.2 + +* Wed Aug 31 2011 Jan Horak - 6.0-3 +- Distrust a specific Certificate Authority + +* Wed Aug 31 2011 Dan Horák - 6.0-2 +- add secondary-ipc patch from xulrunner + +* Tue Aug 16 2011 Jan Horak - 6.0-1 +- Update to 6.0 + +* Tue Aug 16 2011 Remi Collet 5.0-4 +- Don't unzip the langpacks + +* Mon Aug 15 2011 Jan Horak - 5.0-3 +- Rebuild due to rhbz#728707 + +* Wed Jul 20 2011 Dan Horák - 5.0-2 +- add xulrunner patches for secondary arches + +* Tue Jun 28 2011 Jan Horak - 5.0-1 +- Update to 5.0 + +* Tue Jun 21 2011 Jan Horak - 3.1.11-1 +- Update to 3.1.11 + +* Wed May 25 2011 Caolán McNamara - 3.1.10-2 +- rebuild for new hunspell + +* Thu Apr 28 2011 Jan Horak - 3.1.10-1 +- Update to 3.1.10 + +* Thu Apr 21 2011 Christopher Aillon - 3.1.9-7 +- Make gvfs-open launch a compose window (salimma) +- Spec file cleanups (salimma, caillon) +- Split out mozilla crashreporter symbols to its own debuginfo package (caillon) + +* Sat Apr 2 2011 Christopher Aillon - 3.1.9-6 +- Drop gio support: the code hooks don't exist yet for TB 3.1.x + +* Fri Apr 1 2011 Orion Poplawski - 3.1.9-5 +- Enable startup notification + +* Sun Mar 20 2011 Dan Horák - 3.1.9-4 +- updated the s390 build patch + +* Fri Mar 18 2011 Jan Horak - 3.1.9-3 +- Removed gnome-vfs2, libgnomeui and libgnome from build requires + +* Wed Mar 9 2011 Jan Horak - 3.1.9-2 +- Disabled gnomevfs, enabled gio + +* Mon Mar 7 2011 Jan Horak - 3.1.9-1 +- Update to 3.1.9 + +* Tue Mar 1 2011 Jan Horak - 3.1.8-3 +- Update to 3.1.8 + +* Wed Feb 9 2011 Christopher Aillon - 3.1.7-6 +- Drop the -lightning subpackage, it needs to be in its own SRPM + +* Mon Feb 7 2011 Christopher Aillon - 3.1.7-5 +- Bring back the default mailer check but fix up the directory + +* Wed Dec 15 2010 Jan Horak - 3.1.7-4 +- Mozilla crash reporter enabled + +* Thu Dec 9 2010 Jan Horak - 3.1.7-2 +- Fixed useragent + +* Thu Dec 9 2010 Jan Horak - 3.1.7-1 +- Update to 3.1.7 + +* Sat Nov 27 2010 Remi Collet - 3.1.6-8 +- fix cairo + nspr required version +- lightning: fix thunderbird version required +- lightning: fix release (b3pre) +- lightning: clean install + +* Mon Nov 22 2010 Jan Horak - 3.1.6-7 +- Added x-scheme-handler/mailto to thunderbird.desktop file + +* Mon Nov 8 2010 Jan Horak - 3.1.6-4 +- Added libnotify patch +- Removed dependency on static libraries + +* Fri Oct 29 2010 Jan Horak - 3.1.6-2 +- Move thunderbird-lightning extension from Sunbird package to Thunderbird + +* Wed Oct 27 2010 Jan Horak - 3.1.6-1 +- Update to 3.1.6 + +* Tue Oct 19 2010 Jan Horak - 3.1.5-1 +- Update to 3.1.5 + +* Thu Sep 16 2010 Dan Horák - 3.1.3-2 +- fix build on s390 + +* Tue Sep 7 2010 Jan Horak - 3.1.3-1 +- Update to 3.1.3 + +* Fri Aug 6 2010 Jan Horak - 3.1.2-1 +- Update to 3.1.2 +- Disable updater + +* Tue Jul 20 2010 Jan Horak - 3.1.1-1 +- Update to 3.1.1 + +* Thu Jun 24 2010 Jan Horak - 3.1-1 +- Thunderbird 3.1 + +* Fri Jun 11 2010 Jan Horak - 3.1-0.3.rc2 +- TryExec added to desktop file + +* Wed Jun 9 2010 Christopher Aillon 3.1-0.2.rc2 +- Thunderbird 3.1 RC2 + +* Tue May 25 2010 Christopher Aillon 3.1-0.1.rc1 +- Thunderbird 3.1 RC1 + +* Fri Apr 30 2010 Jan Horak - 3.0.4-3 +- Fix for mozbz#550455 + +* Tue Apr 13 2010 Martin Stransky - 3.0.4-2 +- Fixed langpacks (#580444) + +* Tue Mar 30 2010 Jan Horak - 3.0.4-1 +- Update to 3.0.4 + +* Sat Mar 06 2010 Kalev Lember - 3.0.3-2 +- Own extension directories (#532132) + +* Mon Mar 1 2010 Jan Horak - 3.0.3-1 +- Update to 3.0.3 + +* Thu Feb 25 2010 Jan Horak - 3.0.2-1 +- Update to 3.0.2 + +* Wed Jan 20 2010 Martin Stransky - 3.0.1-1 +- Update to 3.0.1 + +* Mon Jan 18 2010 Martin Stransky - 3.0-5 +- Added fix for #480603 - thunderbird takes + unacceptably long time to start + +* Wed Dec 9 2009 Jan Horak - 3.0-4 +- Update to 3.0 + +* Thu Dec 3 2009 Jan Horak - 3.0-3.13.rc2 +- Update to RC2 + +* Wed Nov 25 2009 Jan Horak - 3.0-3.12.rc1 +- Sync with Mozilla latest RC1 build + +* Thu Nov 19 2009 Jan Horak - 3.0-3.11.rc1 +- Update to RC1 + +* Thu Sep 17 2009 Christopher Aillon - 3.0-3.9.b4 +- Update to 3.0 b4 + +* Thu Aug 6 2009 Martin Stransky - 3.0-3.8.beta3 +- Added fix for #437596 +- Removed unused patches + +* Thu Aug 6 2009 Jan Horak - 3.0-3.7.beta3 +- Removed unused build requirements + +* Mon Aug 3 2009 Jan Horak - 3.0-3.6.beta3 +- Build with system hunspell + +* Sun Jul 26 2009 Fedora Release Engineering - 3.0-3.5.b3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Fri Jul 24 2009 Jan Horak - 3.0-2.5.beta3 +- Use system hunspell + +* Tue Jul 21 2009 Jan Horak - 3.0-2.4.beta3 +- Update to 3.0 beta3 + +* Mon Mar 30 2009 Jan Horak - 3.0-2.2.beta2 +- Fixed open-browser.sh to use xdg-open instead of gnome-open + +* Mon Mar 23 2009 Christopher Aillon - 3.0-2.1.beta2 +- Disable the default app nag dialog + +* Tue Mar 17 2009 Jan Horak - 3.0-2.beta2 +- Fixed clicked link does not open in browser (#489120) +- Fixed missing help in thunderbird (#488885) + +* Mon Mar 2 2009 Jan Horak - 3.0-1.beta2 +- Update to 3.0 beta2 +- Added Patch2 to build correctly when building with --enable-shared option + +* Wed Feb 25 2009 Fedora Release Engineering - 2.0.0.18-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Jan 07 2009 Christopher Aillon - 2.0.0.18-2 +- Disable the crash dialog + +* Wed Nov 19 2008 Christopher Aillon 2.0.0.18-1 +- Update to 2.0.0.18 + +* Thu Oct 9 2008 Christopher Aillon 2.0.0.17-1 +- Update to 2.0.0.17 + +* Wed Jul 23 2008 Christopher Aillon 2.0.0.16-1 +- Update to 2.0.0.16 + +* Thu May 1 2008 Christopher Aillon 2.0.0.14-1 +- Update to 2.0.0.14 +- Use the system dictionaries + +* Fri Apr 18 2008 Christopher Aillon 2.0.0.12-6 +- Icon belongs in _datadir/pixmaps + +* Fri Apr 18 2008 Christopher Aillon 2.0.0.12-5 +- rebuilt + +* Mon Apr 7 2008 Christopher Aillon 2.0.0.12-4 +- Add %%lang attributes to langpacks + +* Sat Mar 15 2008 Christopher Aillon 2.0.0.12-3 +- Avoid conflict between gecko debuginfos + +* Mon Mar 03 2008 Martin Stransky 2.0.0.12-2 +- Updated starting script (#426331) + +* Tue Feb 26 2008 Christopher Aillon 2.0.0.12-1 +- Update to 2.0.0.12 +- Fix up icon location and some scriptlets + +* Sun Dec 9 2007 Christopher Aillon 2.0.0.9-2 +- Fix some rpmlint warnings +- Drop some old patches and obsoletes + +* Thu Nov 15 2007 Christopher Aillon 2.0.0.9-1 +- Update to 2.0.0.9 + +* Wed Sep 26 2007 Martin Stransky 2.0.0.6-6 +- Fixed #242657 - firefox -g doesn't work + +* Tue Sep 25 2007 Christopher Aillon 2.0.0.6-5 +- Removed hardcoded MAX_PATH, PATH_MAX and MAXPATHLEN macros + +* Tue Sep 11 2007 Christopher Aillon 2.0.0.6-4 +- Fix crashes when using GTK+ themes containing a gtkrc which specify + GtkOptionMenu::indicator_size and GtkOptionMenu::indicator_spacing + +* Mon Sep 10 2007 Martin Stransky 2.0.0.6-3 +- added fix for #246248 - firefox crashes when searching for word "do" + +* Mon Aug 13 2007 Christopher Aillon 2.0.0.6-2 +- Update the license tag + +* Wed Aug 8 2007 Christopher Aillon 2.0.0.6-1 +- Update to 2.0.0.6 +- Own the application directory (#244901) + +* Tue Jul 31 2007 Martin Stransky 2.0.0.0-3 +- added pango ligature fix + +* Thu Apr 19 2007 Christopher Aillon 2.0.0.0-1 +- Update to 2.0.0.0 Final + +* Fri Apr 13 2007 Christopher Aillon 2.0.0.0-0.5.rc1 +- Fix the desktop file +- Clean up the files list +- Remove the default client stuff from the pref window + +* Thu Apr 12 2007 Christopher Aillon 2.0.0.0-0.4.rc1 +- Rebuild into Fedora + +* Wed Apr 11 2007 Christopher Aillon 2.0.0.0-0.3.rc1 +- Update langpacks + +* Thu Apr 5 2007 Christopher Aillon 2.0.0.0-0.2.rc1 +- Build option tweaks +- Bring the install section to parity with Firefox's + +* Thu Apr 5 2007 Christopher Aillon 2.0.0.0-0.1.rc1 +- Update to 2.0.0.0 RC1 + +* Sun Mar 25 2007 Christopher Aillon 1.5.0.11-1 +- Update to 1.5.0.11 + +* Fri Mar 2 2007 Martin Stransky 1.5.0.10-1 +- Update to 1.5.0.10 + +* Mon Feb 12 2007 Martin Stransky 1.5.0.9-8 +- added fix for #227406: garbage characters on some websites + (when pango is disabled) + +* Tue Jan 30 2007 Christopher Aillon 1.5.0.9-7 +- Updated cursor position patch from tagoh to fix issue with "jumping" + cursor when in a textfield with tabs. + +* Tue Jan 30 2007 Christopher Aillon 1.5.0.9-6 +- Fix the DND implementation to not grab, so it works with new GTK+. + +* Thu Dec 21 2006 Behdad Esfahbod 1.5.0.9-5 +- Added firefox-1.5-pango-underline.patch + +* Wed Dec 20 2006 Behdad Esfahbod 1.5.0.9-4 +- Added firefox-1.5-pango-justified-range.patch + +* Tue Dec 19 2006 Behdad Esfahbod 1.5.0.9-3 +- Added firefox-1.5-pango-cursor-position-more.patch + +* Tue Dec 19 2006 Matthias Clasen 1.5.0.9-2 +- Add a Requires: launchmail (#219884) + +* Tue Dec 19 2006 Christopher Aillon 1.5.0.9-1 +- Update to 1.5.0.9 +- Take firefox's pango fixes +- Don't offer to import...nothing. + +* Tue Nov 7 2006 Christopher Aillon 1.5.0.8-1 +- Update to 1.5.0.8 +- Allow choosing of download directory +- Take the user to the correct directory from the Download Manager. +- Patch to add support for printing via pango from Behdad. + +* Sun Oct 8 2006 Christopher Aillon - 1.5.0.7-4 +- Default to use of system colors + +* Wed Oct 4 2006 Christopher Aillon - 1.5.0.7-3 +- Bring the invisible character to parity with GTK+ + +* Wed Sep 27 2006 Christopher Aillon - 1.5.0.7-2 +- Fix crash when changing gtk key theme +- Prevent UI freezes while changing GNOME theme +- Remove verbiage about pango; no longer required by upstream. + +* Wed Sep 13 2006 Christopher Aillon - 1.5.0.7-1 +- Update to 1.5.0.7 + +* Thu Sep 7 2006 Christopher Aillon - 1.5.0.5-8 +- Shuffle order of the install phase around + +* Thu Sep 7 2006 Christopher Aillon - 1.5.0.5-7 +- Let there be art for Alt+Tab again +- s/tbdir/mozappdir/g + +* Wed Sep 6 2006 Christopher Aillon - 1.5.0.5-6 +- Fix for cursor position in editor widgets by tagoh and behdad (#198759) + +* Tue Sep 5 2006 Christopher Aillon - 1.5.0.5-5 +- Update nopangoxft.patch +- Fix rendering of MathML thanks to Behdad Esfahbod. +- Update start page text to reflect the MathML fixes. +- Enable pango by default on all locales +- Build using -rpath +- Re-enable GCC visibility + +* Thu Aug 3 2006 Kai Engert - 1.5.0.5-4 +- Fix a build failure in mailnews mime code. + +* Tue Aug 1 2006 Matthias Clasen - 1.5.0.5-3 +- Rebuild + +* Thu Jul 27 2006 Christopher Aillon - 1.5.0.5-2 +- Update to 1.5.0.5 + +* Wed Jul 12 2006 Jesse Keating - 1.5.0.4-2.1 +- rebuild + +* Mon Jun 12 2006 Kai Engert - 1.5.0.4-2 +- Update to 1.5.0.4 +- Fix desktop-file-utils requires + +* Wed Apr 19 2006 Christopher Aillon - 1.5.0.2-2 +- Update to 1.5.0.2 + +* Thu Mar 16 2006 Christopher Aillon - 1.5-7 +- Bring the other arches back + +* Mon Mar 13 2006 Christopher Aillon - 1.5.6 +- Temporarily disable other arches that we don't ship FC5 with, for time + +* Mon Mar 13 2006 Christopher Aillon - 1.5-5 +- Add a notice to the mail start page denoting this is a pango enabled build. + +* Fri Feb 10 2006 Christopher Aillon - 1.5-3 +- Add dumpstack.patch +- Improve the langpack install stuff + +* Tue Feb 07 2006 Jesse Keating - 1.5-2.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Fri Jan 27 2006 Christopher Aillon - 1.5-2 +- Add some langpacks back in +- Stop providing MozillaThunderbird + +* Thu Jan 12 2006 Christopher Aillon - 1.5-1 +- Official 1.5 release is out + +* Wed Jan 11 2006 Christopher Aillon - 1.5-0.5.6.rc1 +- Fix crash when deleting highlighted text while composing mail within + plaintext editor with spellcheck enabled. + +* Tue Jan 3 2006 Christopher Aillon - 1.5-0.5.5.rc1 +- Looks like we can build on ppc64 again. + +* Fri Dec 16 2005 Christopher Aillon - 1.5-0.5.4.rc1 +- Rebuild + +* Fri Dec 16 2005 Christopher Aillon - 1.5-0.5.3.rc1 +- Once again, disable ppc64 because of a new issue. + See https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=175944 + +- Use the system NSS libraries +- Build on ppc64 + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Mon Nov 28 2005 Christopher Aillon - 1.5-0.5.1.rc1 +- Fix issue with popup dialogs and other actions causing lockups + +* Sat Nov 5 2005 Christopher Aillon 1.5-0.5.0.rc1 +- Update to 1.5 rc1 + +* Sat Oct 8 2005 Christopher Aillon 1.5-0.5.0.beta2 +- Update to 1.5 beta2 + +* Wed Sep 28 2005 Christopher Aillon 1.5-0.5.0.beta1 +- Update to 1.5 beta1 +- Bring the install phase of the spec file up to speed + +* Sun Aug 14 2005 Christopher Aillon 1.0.6-4 +- Rebuild + +* Sat Aug 6 2005 Christopher Aillon 1.0.6-3 +- Add patch to make file chooser dialog modal + +* Fri Jul 22 2005 Christopher Aillon 1.0.6-2 +- Update to 1.0.6 + +* Mon Jul 18 2005 Christopher Aillon 1.0.6-0.1.fc5 +- 1.0.6 Release Candidate + +* Fri Jul 15 2005 Christopher Aillon 1.0.2-8 +- Use system NSPR +- Fix crash on 64bit platforms (#160330) + +* Thu Jun 23 2005 Kristian Høgsberg 1.0.2-7 +- Add firefox-1.0-pango-cairo.patch to get rid of the last few Xft + references, fixing the "no fonts" problem. + +* Fri May 13 2005 Christopher Aillon 1.0.2-6 +- Change the Exec line in the desktop file to `thunderbird` + +* Fri May 13 2005 Christopher Aillon 1.0.2-5 +- Update pango patche, MOZ_DISABLE_PANGO now works as advertised. + +* Mon May 9 2005 Christopher Aillon 1.0.2-4 +- Add temporary workaround to not create files in the user's $HOME (#149664) + +* Wed May 4 2005 Christopher Aillon 1.0.2-3 +- Don't have downloads "disappear" when downloading to desktop (#139015) +- Fix for some more cursor issues in textareas (149991, 150002, 152089) +- Add upstream patch to fix bidi justification of pango +- Add patch to fix launching of helper applications +- Add patch to properly link against libgfxshared_s.a +- Fix multilib conflicts + +* Wed Apr 27 2005 Warren Togami +- correct confusing PANGO vars in startup script + +* Wed Mar 23 2005 Christopher Aillon 1.0.2-1 +- Thunderbird 1.0.2 + +* Tue Mar 8 2005 Christopher Aillon 1.0-5 +- Add patch to compile against new fortified glibc macros + +* Sat Mar 5 2005 Christopher Aillon 1.0-4 +- Rebuild against GCC 4.0 +- Add execshield patches +- Minor specfile cleanup + +* Mon Dec 20 2004 Christopher Aillon 1.0-3 +- Rebuild + +* Thu Dec 16 2004 Christopher Aillon 1.0-2 +- Add RPM version to useragent + +* Thu Dec 16 2004 Christopher Blizzard +- Port over pango patches from firefox + +* Wed Dec 8 2004 Christopher Aillon 1.0-1 +- Thunderbird 1.0 + +* Mon Dec 6 2004 Christopher Aillon 1.0-0.rc1.1 +- Fix advanced prefs + +* Fri Dec 3 2004 Christopher Aillon +- Make this run on s390(x) now for real + +* Wed Dec 1 2004 Christopher Aillon 1.0-0.rc1.0 +- Update to 1.0 rc1 + +* Fri Nov 19 2004 Christopher Aillon +- Add patches to build and run on s390(x) + +* Thu Nov 11 2004 Christopher Aillon 0.9.0-2 +- Rebuild to fix file chooser + +* Fri Nov 5 2004 Christopher Aillon 0.9.0-1 +- Update to 0.9 + +* Fri Oct 22 2004 Christopher Aillon 0.8.0-10 +- Prevent inlining of stack direction detection (#135255) + +* Tue Oct 19 2004 Christopher Aillon 0.8.0-9 +- More file chooser fixes (same as in firefox) +- Fix for upstream 28327. + +* Mon Oct 18 2004 Christopher Blizzard 0.8.0-8 +- Update the pango patch + +* Mon Oct 18 2004 Christopher Blizzard 0.8.0-8 +- Pull over patches from firefox build: + - disable default application dialog + - don't include software update since it doesn't work + - make external app support work + +* Thu Oct 14 2004 Christopher Blizzard 0.8.0-7 +- Use pango for rendering + +* Tue Oct 12 2004 Christopher Aillon 0.8.0-6 +- Fix for 64 bit crash at startup (b.m.o #256603) + +* Sat Oct 9 2004 Christopher Aillon 0.8.0-5 +- Add patches to fix xremote (#135036) + +* Fri Oct 8 2004 Christopher Aillon 0.8.0-4 +- Add patch to fix button focus issues (#133507) +- Add patch for fix IMAP race issues (bmo #246439) + +* Fri Oct 1 2004 Bill Nottingham 0.8.0-3 +- filter out library Provides: and internal Requires: + +* Tue Sep 28 2004 Christopher Aillon 0.8.0-2 +- Backport the GTK+ File Chooser. +- Add fix for JS math on x86_64 systems +- Add pkgconfig patch + +* Thu Sep 16 2004 Christopher Aillon 0.8.0-1 +- Update to 0.8.0 +- Remove enigmail +- Update BuildRequires +- Remove gcc34 and extension manager patches -- they are upstreamed. +- Fix for gnome-vfs2 error at component registration + +* Fri Sep 03 2004 Christopher Aillon 0.7.3-5 +- Build with --disable-xprint + +* Wed Sep 01 2004 David Hill 0.7.3-4 +- remove all Xvfb-related hacks + +* Wed Sep 01 2004 Warren Togami +- actually apply psfonts +- add mozilla gnome-uriloader patch to prevent build failure + +* Tue Aug 31 2004 Warren Togami 0.7.3-3 +- rawhide import +- apply NetBSD's freetype 2.1.8 patch +- apply psfonts patch +- remove BR on /usr/bin/ex, breaks beehive + +* Tue Aug 31 2004 David Hill 0.7.3-0.fdr.2 +- oops, fix %%install + +* Thu Aug 26 2004 David Hill 0.7.3-0.fdr.1 +- update to Thunderbird 0.7.3 and Enigmail 0.85.0 +- remove XUL.mfasl on startup, add Debian enigmail patches +- add Xvfb hack for -install-global-extension + +* Wed Jul 14 2004 David Hill 0.7.2-0.fdr.0 +- update to 0.7.2, just because it's there +- update gcc-3.4 patch (Kaj Niemi) +- add EM registration patch and remove instdir hack + +* Sun Jul 04 2004 David Hill 0.7.1-0.fdr.1 +- re-add Enigmime 1.0.7, omit Enigmail until the Mozilla EM problems are fixed + +* Wed Jun 30 2004 David Hill 0.7.1-0.fdr.0 +- update to 0.7.1 +- remove Enigmail + +* Mon Jun 28 2004 David Hill 0.7-0.fdr.1 +- re-enable Enigmail 0.84.1 +- add gcc-3.4 patch (Kaj Niemi) +- use official branding (with permission) + +* Fri Jun 18 2004 David Hill 0.7-0.fdr.0 +- update to 0.7 +- temporarily disable Enigmail 0.84.1, make ftp links work (#1634) +- specify libdir, change BR for apt (V. Skyttä, #1617) + +* Tue May 18 2004 Warren Togami 0.6-0.fdr.5 +- temporary workaround for enigmail skin "modern" bug + +* Mon May 10 2004 David Hill 0.6-0.fdr.4 +- update to Enigmail 0.84.0 +- update launch script + +* Mon May 10 2004 David Hill 0.6-0.fdr.3 +- installation directory now versioned +- allow root to run the program (for installing extensions) +- remove unnecessary %%pre and %%post +- remove separators, update mozconfig and launch script (M. Schwendt, #1460) + +* Wed May 05 2004 David Hill 0.6-0.fdr.2 +- include Enigmail, re-add release notes +- delete %%{_libdir}/thunderbird in %%pre + +* Mon May 03 2004 David Hill 0.6-0.fdr.1 +- update to Thunderbird 0.6 + +* Fri Apr 30 2004 David Hill 0.6-0.fdr.0.rc1 +- update to Thunderbird 0.6 RC1 +- add new icon, remove release notes + +* Thu Apr 15 2004 David Hill 0.6-0.fdr.0.20040415 +- update to latest CVS, update mozconfig and %%build accordingly +- update to Enigmail 0.83.6 +- remove x-remote and x86_64 patches +- build with -Os + +* Thu Apr 15 2004 David Hill 0.5-0.fdr.12 +- update x-remote patch +- more startup script fixes + +* Tue Apr 06 2004 David Hill 0:0.5-0.fdr.11 +- startup script fixes, and a minor cleanup + +* Sun Apr 04 2004 Warren Togami 0:0.5-0.fdr.10 +- Minor cleanups + +* Sun Apr 04 2004 David Hill 0:0.5-0.fdr.8 +- minor improvements to open-browser.sh and startup script +- update to latest version of Blizzard's x-remote patch + +* Thu Mar 25 2004 David Hill 0:0.5-0.fdr.7 +- update open-browser.sh, startup script, and BuildRequires + +* Sun Mar 14 2004 David Hill 0:0.5-0.fdr.6 +- update open-browser script, modify BuildRequires (Warren) +- add Blizzard's x-remote patch +- initial attempt at x-remote-enabled startup script + +* Sun Mar 07 2004 David Hill 0:0.5-0.fdr.5 +- refuse to run with excessive privileges + +* Fri Feb 27 2004 David Hill 0:0.5-0.fdr.4 +- add Mozilla x86_64 patch (Oliver Sontag) +- Enigmail source filenames now include the version +- modify BuildRoot + +* Thu Feb 26 2004 David Hill 0:0.5-0.fdr.3 +- use the updated official tarball + +* Wed Feb 18 2004 David Hill 0:0.5-0.fdr.2 +- fix %%prep script + +* Mon Feb 16 2004 David Hill 0:0.5-0.fdr.1 +- update Enigmail to 0.83.3 +- use official source tarball (after removing the CRLFs) +- package renamed to thunderbird + +* Mon Feb 09 2004 David Hill 0:0.5-0.fdr.0 +- update to 0.5 +- check for lockfile before launching + +* Fri Feb 06 2004 David Hill +- update to latest cvs +- update to Enigmail 0.83.2 + +* Thu Jan 29 2004 David Hill 0:0.4-0.fdr.5 +- update to Enigmail 0.83.1 +- removed Mozilla/Firebird script patching + +* Sat Jan 03 2004 David Hill 0:0.4-0.fdr.4 +- add startup notification to .desktop file + +* Thu Dec 25 2003 Warren Togami 0:0.4-0.fdr.3 +- open-browser.sh release 3 +- patch broken /usr/bin/mozilla script during install +- dir ownership +- XXX: Source fails build on x86_64... fix later + +* Tue Dec 23 2003 David Hill 0:0.4-0.fdr.2 +- update to Enigmail 0.82.5 +- add Warren's open-browser.sh (#1113) + +* Tue Dec 09 2003 David Hill 0:0.4-0.fdr.1 +- use Thunderbird's mozilla-xremote-client to launch browser + +* Sun Dec 07 2003 David Hill 0:0.4-0.fdr.0 +- update to 0.4 +- make hyperlinks work (with recent versions of Firebird/Mozilla) + +* Thu Dec 04 2003 David Hill +- update to 0.4rc2 + +* Wed Dec 03 2003 David Hill +- update to 0.4rc1 and Enigmail 0.82.4 + +* Thu Nov 27 2003 David Hill +- update to latest CVS and Enigmail 0.82.3 + +* Sun Nov 16 2003 David Hill +- update to latest CVS (0.4a) +- update Enigmail to 0.82.2 +- alter mozconfig for new build requirements +- add missing BuildReq (#987) + +* Thu Oct 16 2003 David Hill 0:0.3-0.fdr.0 +- update to 0.3 + +* Sun Oct 12 2003 David Hill 0:0.3rc3-0.fdr.0 +- update to 0.3rc3 +- update Enigmail to 0.81.7 + +* Thu Oct 02 2003 David Hill 0:0.3rc2-0.fdr.0 +- update to 0.3rc2 + +* Wed Sep 17 2003 David Hill 0:0.2-0.fdr.2 +- simplify startup script + +* Wed Sep 10 2003 David Hill 0:0.2-0.fdr.1 +- add GPG support (Enigmail 0.81.6) +- specfile fixes (#679) + +* Thu Sep 04 2003 David Hill 0:0.2-0.fdr.0 +- update to 0.2 + +* Mon Sep 01 2003 David Hill +- initial RPM + (based on the fedora MozillaFirebird-0.6.1 specfile)