diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..d47ffc6
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+SOURCES/cbindgen-vendor.tar.xz
+SOURCES/nspr-4.32.0-1.el8_1.src.rpm
+SOURCES/nss-3.67.0-7.el8_1.src.rpm
+SOURCES/thunderbird-91.8.0.processed-source.tar.xz
+SOURCES/thunderbird-langpacks-91.8.0-20220405.tar.xz
diff --git a/.thunderbird.metadata b/.thunderbird.metadata
new file mode 100644
index 0000000..a40c082
--- /dev/null
+++ b/.thunderbird.metadata
@@ -0,0 +1,5 @@
+c822547dbc12e2baebdfdfb38b665e23f0c2513a SOURCES/cbindgen-vendor.tar.xz
+b5fd1332d8e0d37339ae170c7bebcb63a40b22e0 SOURCES/nspr-4.32.0-1.el8_1.src.rpm
+8fff814901e03c2518ede2f8992d898f5ba61ed9 SOURCES/nss-3.67.0-7.el8_1.src.rpm
+7f97946153fe61dd7da01fdb3e2e367c7f24bcf5 SOURCES/thunderbird-91.8.0.processed-source.tar.xz
+23d8ffc635a34725c989f591cc074f329b8e35db SOURCES/thunderbird-langpacks-91.8.0-20220405.tar.xz
diff --git a/SOURCES/build-debuginfo-fix.patch b/SOURCES/build-debuginfo-fix.patch
new file mode 100644
index 0000000..03fc300
--- /dev/null
+++ b/SOURCES/build-debuginfo-fix.patch
@@ -0,0 +1,24 @@
+diff -up firefox-91.0.1/third_party/libwebrtc/webrtc/modules/audio_processing/utility/ooura_fft.cc.debuginfo-fix firefox-91.0.1/third_party/libwebrtc/webrtc/modules/audio_processing/utility/ooura_fft.cc
+--- firefox-91.0.1/third_party/libwebrtc/webrtc/modules/audio_processing/utility/ooura_fft.cc.debuginfo-fix	2021-09-01 11:11:46.738285751 +0200
++++ firefox-91.0.1/third_party/libwebrtc/webrtc/modules/audio_processing/utility/ooura_fft.cc	2021-09-01 11:11:56.127319530 +0200
+@@ -21,7 +21,7 @@
+  *  be found in the AUTHORS file in the root of the source tree.
+  */
+ 
+-#include "modules/audio_processing//utility/ooura_fft.h"
++#include "modules/audio_processing/utility/ooura_fft.h"
+ 
+ #include <math.h>
+ 
+diff -up firefox-91.0.1/third_party/libwebrtc/webrtc/modules/audio_processing/utility/ooura_fft_sse2.cc.debuginfo-fix firefox-91.0.1/third_party/libwebrtc/webrtc/modules/audio_processing/utility/ooura_fft_sse2.cc
+--- firefox-91.0.1/third_party/libwebrtc/webrtc/modules/audio_processing/utility/ooura_fft_sse2.cc.debuginfo-fix	2021-09-01 11:12:26.513428847 +0200
++++ firefox-91.0.1/third_party/libwebrtc/webrtc/modules/audio_processing/utility/ooura_fft_sse2.cc	2021-09-01 11:12:32.117449009 +0200
+@@ -8,7 +8,7 @@
+  *  be found in the AUTHORS file in the root of the source tree.
+  */
+ 
+-#include "modules/audio_processing//utility/ooura_fft.h"
++#include "modules/audio_processing/utility/ooura_fft.h"
+ 
+ #include <emmintrin.h>
+ 
diff --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..25d34f6
--- /dev/null
+++ b/SOURCES/build-nss-version.patch
@@ -0,0 +1,24 @@
+diff -up firefox-91.0.1/build/moz.configure/nspr.configure.nss-nspr-downgrade firefox-91.0.1/build/moz.configure/nspr.configure
+--- firefox-91.0.1/build/moz.configure/nspr.configure.nss-nspr-downgrade	2021-08-25 13:17:26.265307060 +0200
++++ firefox-91.0.1/build/moz.configure/nspr.configure	2021-08-25 13:17:28.161313632 +0200
+@@ -50,7 +50,7 @@ set_define("JS_WITHOUT_NSPR", True, when
+ def nspr_minver(js_standalone):
+     if js_standalone:
+         return "nspr >= 4.10"
+-    return "nspr >= 4.32"
++    return "nspr >= 4.31"
+ 
+ 
+ nspr_pkg = pkg_check_modules("NSPR", nspr_minver, when="--with-system-nspr")
+diff -up firefox-91.0.1/build/moz.configure/nss.configure.nss-nspr-downgrade firefox-91.0.1/build/moz.configure/nss.configure
+--- firefox-91.0.1/build/moz.configure/nss.configure.nss-nspr-downgrade	2021-08-25 13:17:45.049372175 +0200
++++ firefox-91.0.1/build/moz.configure/nss.configure	2021-08-25 13:17:37.763346918 +0200
+@@ -9,7 +9,7 @@ option("--with-system-nss", help="Use sy
+ imply_option("--with-system-nspr", True, when="--with-system-nss")
+ 
+ nss_pkg = pkg_check_modules(
+-    "NSS", "nss >= 3.68", when="--with-system-nss", config=False
++    "NSS", "nss >= 3.67", when="--with-system-nss", config=False
+ )
+ 
+ set_config("MOZ_SYSTEM_NSS", True, when="--with-system-nss")
diff --git a/SOURCES/build-ppc64le-inline.patch b/SOURCES/build-ppc64le-inline.patch
new file mode 100644
index 0000000..de0f6d9
--- /dev/null
+++ b/SOURCES/build-ppc64le-inline.patch
@@ -0,0 +1,27 @@
+diff -up firefox-68.1.0/js/xpconnect/src/XPCWrappedNative.cpp.ppc64le-inline firefox-68.1.0/js/xpconnect/src/XPCWrappedNative.cpp
+--- firefox-68.1.0/js/xpconnect/src/XPCWrappedNative.cpp.ppc64le-inline	2019-08-26 18:52:28.000000000 +0200
++++ firefox-68.1.0/js/xpconnect/src/XPCWrappedNative.cpp	2019-08-29 08:49:57.695687874 +0200
+@@ -1092,7 +1092,11 @@ class MOZ_STACK_CLASS CallMethodHelper f
+   MOZ_ALWAYS_INLINE bool GetOutParamSource(uint8_t paramIndex,
+                                            MutableHandleValue srcp) const;
+ 
++#if (__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
++  bool GatherAndConvertResults();
++#else
+   MOZ_ALWAYS_INLINE bool GatherAndConvertResults();
++#endif
+ 
+   MOZ_ALWAYS_INLINE bool QueryInterfaceFastPath();
+ 
+@@ -1139,7 +1143,11 @@ class MOZ_STACK_CLASS CallMethodHelper f
+ 
+   ~CallMethodHelper();
+ 
++#if (__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
++  bool Call();
++#else
+   MOZ_ALWAYS_INLINE bool Call();
++#endif
+ 
+   // Trace implementation so we can put our CallMethodHelper in a Rooted<T>.
+   void trace(JSTracer* aTrc);
diff --git a/SOURCES/build-rhel7-nasm-dwarf.patch b/SOURCES/build-rhel7-nasm-dwarf.patch
new file mode 100644
index 0000000..5e2ba4a
--- /dev/null
+++ b/SOURCES/build-rhel7-nasm-dwarf.patch
@@ -0,0 +1,12 @@
+diff -up firefox-91.0.1/python/mozbuild/mozbuild/frontend/context.py.rhel7-nasm firefox-91.0.1/python/mozbuild/mozbuild/frontend/context.py
+--- firefox-91.0.1/python/mozbuild/mozbuild/frontend/context.py.rhel7-nasm	2021-08-31 08:02:10.814740774 +0200
++++ firefox-91.0.1/python/mozbuild/mozbuild/frontend/context.py	2021-08-31 08:04:03.967146994 +0200
+@@ -420,7 +420,7 @@ class AsmFlags(BaseCompileFlags):
+                 if self._context.config.substs.get("OS_ARCH") == "WINNT":
+                     debug_flags += ["-F", "cv8"]
+                 elif self._context.config.substs.get("OS_ARCH") != "Darwin":
+-                    debug_flags += ["-F", "dwarf"]
++                    debug_flags += ["-f", "elf32"]
+             elif (
+                 self._context.config.substs.get("OS_ARCH") == "WINNT"
+                 and self._context.config.substs.get("CPU_ARCH") == "aarch64"
diff --git a/SOURCES/disable-openpgp-in-thunderbird.patch b/SOURCES/disable-openpgp-in-thunderbird.patch
new file mode 100644
index 0000000..820f2e4
--- /dev/null
+++ b/SOURCES/disable-openpgp-in-thunderbird.patch
@@ -0,0 +1,28 @@
+diff --git a/comm/mail/extensions/openpgp/content/BondOpenPGP.jsm b/comm/mail/extensions/openpgp/content/BondOpenPGP.jsm
+--- a/comm/mail/extensions/openpgp/content/BondOpenPGP.jsm
++++ b/comm/mail/extensions/openpgp/content/BondOpenPGP.jsm
+@@ -53,20 +53,23 @@ var BondOpenPGP = {
+ 
+   // if null, we haven't yet read the pref
+   // if true, pref was enabled and we already triggered init
+   _isEnabled: null,
+ 
+   _alreadyTriedInit: false, // if already true, we will not try again
+ 
+   setIsEnabledFromPref() {
+-    this._isEnabled = Services.prefs.getBoolPref("mail.openpgp.enable");
++    return false;
++    //this._isEnabled = Services.prefs.getBoolPref("mail.openpgp.enable");
+   },
+ 
+   async init() {
++    return;
++
+     if (!MailConstants.MOZ_OPENPGP) {
+       return;
+     }
+ 
+     // We never shut off after pref change, disabling requires restart.
+     // If null, it means we're here for the first time, read the pref.
+     // If false, it could mean the pref was now turned on at runtime.
+     // In both scenarios, null and false, we reread the pref to check
diff --git a/SOURCES/expat-CVE-2022-25235.patch b/SOURCES/expat-CVE-2022-25235.patch
new file mode 100644
index 0000000..ac495b1
--- /dev/null
+++ b/SOURCES/expat-CVE-2022-25235.patch
@@ -0,0 +1,49 @@
+diff -up thunderbird-91.7.0/parser/expat/lib/xmltok.c.expat-CVE-2022-25235 thunderbird-91.7.0/parser/expat/lib/xmltok.c
+--- thunderbird-91.7.0/parser/expat/lib/xmltok.c.expat-CVE-2022-25235	2022-03-02 17:57:38.364361168 +0100
++++ thunderbird-91.7.0/parser/expat/lib/xmltok.c	2022-03-02 17:58:22.235512399 +0100
+@@ -65,13 +65,6 @@
+                       + ((((byte)[2]) >> 5) & 1)] \
+          & (1u << (((byte)[2]) & 0x1F)))
+ 
+-#define UTF8_GET_NAMING(pages, p, n) \
+-  ((n) == 2 \
+-  ? UTF8_GET_NAMING2(pages, (const unsigned char *)(p)) \
+-  : ((n) == 3 \
+-     ? UTF8_GET_NAMING3(pages, (const unsigned char *)(p)) \
+-     : 0))
+-
+ /* Detection of invalid UTF-8 sequences is based on Table 3.1B
+    of Unicode 3.2: http://www.unicode.org/unicode/reports/tr28/
+    with the additional restriction of not allowing the Unicode
+diff -up thunderbird-91.7.0/parser/expat/lib/xmltok_impl.c.expat-CVE-2022-25235 thunderbird-91.7.0/parser/expat/lib/xmltok_impl.c
+--- thunderbird-91.7.0/parser/expat/lib/xmltok_impl.c.expat-CVE-2022-25235	2022-03-02 17:57:38.365361172 +0100
++++ thunderbird-91.7.0/parser/expat/lib/xmltok_impl.c	2022-03-02 18:04:51.240853247 +0100
+@@ -34,7 +34,7 @@
+    case BT_LEAD ## n: \
+      if (end - ptr < n) \
+        return XML_TOK_PARTIAL_CHAR; \
+-     if (!IS_NAME_CHAR(enc, ptr, n)) { \
++     if (IS_INVALID_CHAR(enc, ptr, n) || ! IS_NAME_CHAR(enc, ptr, n)) { \
+        *nextTokPtr = ptr; \
+        return XML_TOK_INVALID; \
+      } \
+@@ -62,7 +62,7 @@
+    case BT_LEAD ## n: \
+      if (end - ptr < n) \
+        return XML_TOK_PARTIAL_CHAR; \
+-     if (!IS_NMSTRT_CHAR(enc, ptr, n)) { \
++     if (IS_INVALID_CHAR(enc, ptr, n) || ! IS_NMSTRT_CHAR(enc, ptr, n)) { \
+        *nextTokPtr = ptr; \
+        return XML_TOK_INVALID; \
+      } \
+@@ -1090,6 +1090,10 @@ PREFIX(prologTok)(const ENCODING *enc, c
+   case BT_LEAD ## n: \
+     if (end - ptr < n) \
+       return XML_TOK_PARTIAL_CHAR; \
++    if (IS_INVALID_CHAR(enc, ptr, n)) {                                        \
++      *nextTokPtr = ptr;                                                       \
++      return XML_TOK_INVALID;                                                  \
++    }                                                                          \
+     if (IS_NMSTRT_CHAR(enc, ptr, n)) { \
+       ptr += n; \
+       tok = XML_TOK_NAME; \
diff --git a/SOURCES/expat-CVE-2022-25236.patch b/SOURCES/expat-CVE-2022-25236.patch
new file mode 100644
index 0000000..84cafd2
--- /dev/null
+++ b/SOURCES/expat-CVE-2022-25236.patch
@@ -0,0 +1,40 @@
+diff -up thunderbird-91.7.0/parser/expat/lib/xmlparse.c.expat-CVE-2022-25236 thunderbird-91.7.0/parser/expat/lib/xmlparse.c
+--- thunderbird-91.7.0/parser/expat/lib/xmlparse.c.expat-CVE-2022-25236	2022-03-02 18:08:40.085642028 +0100
++++ thunderbird-91.7.0/parser/expat/lib/xmlparse.c	2022-03-02 18:13:31.838667958 +0100
+@@ -700,8 +700,7 @@ XML_ParserCreate(const XML_Char *encodin
+ XML_Parser XMLCALL
+ XML_ParserCreateNS(const XML_Char *encodingName, XML_Char nsSep)
+ {
+-  XML_Char tmp[2];
+-  *tmp = nsSep;
++  XML_Char tmp[2] = {nsSep, 0};
+   return XML_ParserCreate_MM(encodingName, NULL, tmp);
+ }
+ #endif
+@@ -1276,8 +1275,7 @@ XML_ExternalEntityParserCreate(XML_Parse
+      would be otherwise.
+   */
+   if (ns) {
+-    XML_Char tmp[2];
+-    *tmp = namespaceSeparator;
++    XML_Char tmp[2] = {parser->m_namespaceSeparator, 0};
+     parser = parserCreate(encodingName, &parser->m_mem, tmp, newDtd);
+   }
+   else {
+@@ -3667,6 +3665,16 @@ addBinding(XML_Parser parser, PREFIX *pr
+     if (!mustBeXML && isXMLNS
+         && (len > xmlnsLen || uri[len] != xmlnsNamespace[len]))
+       isXMLNS = XML_FALSE;
++    // NOTE: While Expat does not validate namespace URIs against RFC 3986,
++    //       we have to at least make sure that the XML processor on top of
++    //       Expat (that is splitting tag names by namespace separator into
++    //       2- or 3-tuples (uri-local or uri-local-prefix)) cannot be confused
++    //       by an attacker putting additional namespace separator characters
++    //       into namespace declarations.  That would be ambiguous and not to
++    //       be expected.
++    if (parser->m_ns && (uri[len] == parser->m_namespaceSeparator)) {
++      return XML_ERROR_SYNTAX;
++    }
+   }
+   isXML = isXML && len == xmlLen;
+   isXMLNS = isXMLNS && len == xmlnsLen;
diff --git a/SOURCES/expat-CVE-2022-25315.patch b/SOURCES/expat-CVE-2022-25315.patch
new file mode 100644
index 0000000..4d4efb7
--- /dev/null
+++ b/SOURCES/expat-CVE-2022-25315.patch
@@ -0,0 +1,24 @@
+diff -up thunderbird-91.7.0/parser/expat/lib/xmlparse.c.expat-CVE-2022-25315 thunderbird-91.7.0/parser/expat/lib/xmlparse.c
+--- thunderbird-91.7.0/parser/expat/lib/xmlparse.c.expat-CVE-2022-25315	2022-03-02 18:17:50.966583254 +0100
++++ thunderbird-91.7.0/parser/expat/lib/xmlparse.c	2022-03-02 18:19:27.636924735 +0100
+@@ -2479,6 +2479,7 @@ storeRawNames(XML_Parser parser)
+   while (tag) {
+     int bufSize;
+     int nameLen = sizeof(XML_Char) * (tag->name.strLen + 1);
++    size_t rawNameLen;
+     char *rawNameBuf = tag->buf + nameLen;
+     /* Stop if already stored.  Since tagStack is a stack, we can stop
+        at the first entry that has already been copied; everything
+@@ -2490,7 +2491,11 @@ storeRawNames(XML_Parser parser)
+     /* For re-use purposes we need to ensure that the
+        size of tag->buf is a multiple of sizeof(XML_Char).
+     */
+-    bufSize = nameLen + ROUND_UP(tag->rawNameLength, sizeof(XML_Char));
++    rawNameLen = ROUND_UP(tag->rawNameLength, sizeof(XML_Char));
++    /* Detect and prevent integer overflow. */
++    if (rawNameLen > (size_t)INT_MAX - nameLen)
++      return XML_FALSE;
++    bufSize = nameLen + (int)rawNameLen;
+     if (bufSize > tag->bufEnd - tag->buf) {
+       char *temp = (char *)REALLOC(tag->buf, bufSize);
+       if (temp == NULL)
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 <<EOL
+{
+  "languages": {
+    "$lang": {
+      "chrome_resources": {
+        "calendar": "chrome/calendar-$lang/locale/$lang/calendar/",
+        "lightning": "chrome/lightning-$lang/locale/$lang/lightning/"
+      },
+      "version": "$LIGHTNING_VERSION"
+    }
+  },
+  "applications": {
+    "gecko": {
+      "strict_min_version": "$MIN_VERSION",
+      "id": "langpack-cal-$lang@lightning.mozilla.org",
+      "strict_max_version": "$MAX_VERSION"
+    }
+  },
+  "langpack_id": "$lang",
+  "version": "7.$LIGHTNING_VERSION.$BUILD_ID",
+  "name": "$lang Language Pack Calendar",
+  "manifest_version": 2,
+  "sources": {
+    "browser": {
+      "base_path": "browser/"
+    }
+  },
+  "author": "Mozilla.cz (contributors: Pavel Cvrček, Pavel Franc, Michal Stanke, Michal Vašíček)",
+  "description": "Language pack for Thunderbird for $lang, this was repacked by Fedora/RHEL package maintainer from original binaries."
+}
+
+EOL
+  zip --quiet -r ../langpack-cal-$lang@lightning.mozilla.org.xpi *
+  cd -
+  rm -rf calendar-locales
+  rm -rf extracted_lightning
+
+  rm -f thunderbird-$VER.tar.bz2
+done
+echo "Creating lightning-langpacks-$VER.tar.xz..."
+tar cJf ../lightning-langpacks-$VER.tar.xz *.xpi
+cd ..
+rm -rf lightning-langpacks
diff --git a/SOURCES/google-api-key b/SOURCES/google-api-key
new file mode 100644
index 0000000..b95d189
--- /dev/null
+++ b/SOURCES/google-api-key
@@ -0,0 +1 @@
+AIzaSyBPGXa4AYD4FC3HJK7LnIKxm4fDusVuuco
diff --git a/SOURCES/mozilla-1170092.patch b/SOURCES/mozilla-1170092.patch
new file mode 100644
index 0000000..50d6785
--- /dev/null
+++ b/SOURCES/mozilla-1170092.patch
@@ -0,0 +1,98 @@
+diff -up firefox-91.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 firefox-91.0/extensions/pref/autoconfig/src/nsReadConfig.cpp
+--- firefox-91.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092	2021-07-27 23:29:57.000000000 +0200
++++ firefox-91.0/extensions/pref/autoconfig/src/nsReadConfig.cpp	2021-07-29 16:20:44.164513998 +0200
+@@ -249,8 +249,20 @@ nsresult nsReadConfig::openAndEvaluateJS
+     if (NS_FAILED(rv)) return rv;
+ 
+     rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile);
+-    if (NS_FAILED(rv)) return rv;
++    if (NS_FAILED(rv)) {
++      // Look for cfg file in /etc/<application>/pref
++      rv = NS_GetSpecialDirectory(NS_APP_PREFS_SYSTEM_CONFIG_DIR,
++                                  getter_AddRefs(jsFile));
++      NS_ENSURE_SUCCESS(rv, rv);
++
++      rv = jsFile->AppendNative(nsLiteralCString("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-91.0/modules/libpref/Preferences.cpp.1170092 firefox-91.0/modules/libpref/Preferences.cpp
+--- firefox-91.0/modules/libpref/Preferences.cpp.1170092	2021-07-27 23:30:34.000000000 +0200
++++ firefox-91.0/modules/libpref/Preferences.cpp	2021-07-29 16:20:44.166514005 +0200
+@@ -4553,6 +4553,8 @@ nsresult Preferences::InitInitialObjects
+   //
+   // 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 = NS_ERROR_FAILURE;
+   UniquePtr<nsZipFind> find;
+diff -up firefox-91.0/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-91.0/toolkit/xre/nsXREDirProvider.cpp
+--- firefox-91.0/toolkit/xre/nsXREDirProvider.cpp.1170092	2021-07-27 23:30:56.000000000 +0200
++++ firefox-91.0/toolkit/xre/nsXREDirProvider.cpp	2021-07-29 16:26:20.071628932 +0200
+@@ -71,6 +71,7 @@
+ #endif
+ #ifdef XP_UNIX
+ #  include <ctype.h>
++#  include "nsIXULAppInfo.h"
+ #endif
+ #ifdef XP_IOS
+ #  include "UIKitDirProvider.h"
+@@ -550,6 +551,21 @@ nsXREDirProvider::GetFile(const char* aP
+       }
+     }
+   }
++
++#if defined(XP_UNIX)
++  if (!strcmp(aProperty, NS_APP_PREFS_SYSTEM_CONFIG_DIR)) {
++    nsCString sysConfigDir = nsLiteralCString("/etc/");
++    nsCOMPtr<nsIXULAppInfo> appInfo = do_GetService("@mozilla.org/xre/app-info;1");
++    if (!appInfo)
++      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) {
+@@ -827,6 +843,16 @@ nsresult nsXREDirProvider::GetFilesInter
+       LoadDirIntoArray(mXULAppDir, kAppendBackgroundTasksPrefDir, directories);
+     }
+ #endif
++    // Add /etc/<application>/pref/ directory if it exists
++    nsCOMPtr<nsIFile> systemPrefDir;
++    rv = NS_GetSpecialDirectory(NS_APP_PREFS_SYSTEM_CONFIG_DIR,
++                                getter_AddRefs(systemPrefDir));
++    if (NS_SUCCEEDED(rv)) {
++      rv = systemPrefDir->AppendNative(nsLiteralCString("pref"));
++      if (NS_SUCCEEDED(rv)) {
++        directories.AppendObject(systemPrefDir);
++      }
++    }
+ 
+     rv = NS_NewArrayEnumerator(aResult, directories, NS_GET_IID(nsIFile));
+   } else if (!strcmp(aProperty, NS_APP_CHROME_DIR_LIST)) {
+diff -up firefox-91.0/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 firefox-91.0/xpcom/io/nsAppDirectoryServiceDefs.h
+--- firefox-91.0/xpcom/io/nsAppDirectoryServiceDefs.h.1170092	2021-07-27 23:31:38.000000000 +0200
++++ firefox-91.0/xpcom/io/nsAppDirectoryServiceDefs.h	2021-07-29 16:20:44.168514012 +0200
+@@ -59,6 +59,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-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-bmo1005535.patch b/SOURCES/mozilla-bmo1005535.patch
new file mode 100644
index 0000000..cab0134
--- /dev/null
+++ b/SOURCES/mozilla-bmo1005535.patch
@@ -0,0 +1,12 @@
+diff -up firefox-78.0/gfx/skia/skia/src/gpu/GrColor.h.mozilla.bmo1005535 firefox-78.0/gfx/skia/skia/src/gpu/GrColor.h
+--- firefox-78.0/gfx/skia/skia/src/gpu/GrColor.h.mozilla.bmo1005535	2020-06-25 16:16:34.459083304 +0200
++++ firefox-78.0/gfx/skia/skia/src/gpu/GrColor.h	2020-06-25 16:17:00.968174743 +0200
+@@ -64,7 +64,7 @@ static inline GrColor GrColorPackRGBA(un
+  *  Since premultiplied means that alpha >= color, we construct a color with
+  *  each component==255 and alpha == 0 to be "illegal"
+  */
+-#define GrColor_ILLEGAL     (~(0xFF << GrColor_SHIFT_A))
++#define GrColor_ILLEGAL     ((uint32_t)(~(0xFF << GrColor_SHIFT_A)))
+ 
+ /** Normalizes and coverts an uint8_t to a float. [0, 255] -> [0.0, 1.0] */
+ static inline float GrNormalizeByteToFloat(uint8_t value) {
diff --git a/SOURCES/mozilla-bmo1504834-part1.patch b/SOURCES/mozilla-bmo1504834-part1.patch
new file mode 100644
index 0000000..01da145
--- /dev/null
+++ b/SOURCES/mozilla-bmo1504834-part1.patch
@@ -0,0 +1,77 @@
+diff -up firefox-78.0/gfx/2d/DrawTargetSkia.cpp.mozilla-bmo1504834-part1 firefox-78.0/gfx/2d/DrawTargetSkia.cpp
+--- firefox-78.0/gfx/2d/DrawTargetSkia.cpp.mozilla-bmo1504834-part1	2020-06-17 04:18:58.000000000 +0200
++++ firefox-78.0/gfx/2d/DrawTargetSkia.cpp	2020-06-25 16:52:29.824532769 +0200
+@@ -135,8 +135,7 @@ static IntRect CalculateSurfaceBounds(co
+   return surfaceBounds.Intersect(bounds);
+ }
+ 
+-static const int kARGBAlphaOffset =
+-    SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0;
++static const int kARGBAlphaOffset = 0;  // Skia is always BGRA SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0;
+ 
+ static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize,
+                              const int32_t aStride, SurfaceFormat aFormat) {
+diff -up firefox-78.0/gfx/2d/Types.h.mozilla-bmo1504834-part1 firefox-78.0/gfx/2d/Types.h
+--- firefox-78.0/gfx/2d/Types.h.mozilla-bmo1504834-part1	2020-06-25 16:52:29.826532776 +0200
++++ firefox-78.0/gfx/2d/Types.h	2020-06-25 16:55:02.942063616 +0200
+@@ -90,15 +90,8 @@ enum class SurfaceFormat : int8_t {
+ // The following values are endian-independent synonyms. The _UINT32 suffix
+ // indicates that the name reflects the layout when viewed as a uint32_t
+ // value.
+-#if MOZ_LITTLE_ENDIAN()
+   A8R8G8B8_UINT32 = B8G8R8A8,  // 0xAARRGGBB
+   X8R8G8B8_UINT32 = B8G8R8X8,  // 0x00RRGGBB
+-#elif MOZ_BIG_ENDIAN()
+-  A8R8G8B8_UINT32 = A8R8G8B8,  // 0xAARRGGBB
+-  X8R8G8B8_UINT32 = X8R8G8B8,  // 0x00RRGGBB
+-#else
+-#  error "bad endianness"
+-#endif
+ 
+   // The following values are OS and endian-independent synonyms.
+   //
+diff -up firefox-78.0/gfx/skia/skia/third_party/skcms/skcms.cc.mozilla-bmo1504834-part1 firefox-78.0/gfx/skia/skia/third_party/skcms/skcms.cc
+--- firefox-78.0/gfx/skia/skia/third_party/skcms/skcms.cc.mozilla-bmo1504834-part1	2020-06-17 04:18:58.000000000 +0200
++++ firefox-78.0/gfx/skia/skia/third_party/skcms/skcms.cc	2020-06-25 16:54:02.993855444 +0200
+@@ -30,6 +30,8 @@
+         #include <avx512fintrin.h>
+         #include <avx512dqintrin.h>
+     #endif
++#else
++    #define SKCMS_PORTABLE
+ #endif
+ 
+ // sizeof(x) will return size_t, which is 32-bit on some machines and 64-bit on others.
+@@ -280,20 +282,28 @@ enum {
+ static uint16_t read_big_u16(const uint8_t* ptr) {
+     uint16_t be;
+     memcpy(&be, ptr, sizeof(be));
+-#if defined(_MSC_VER)
+-    return _byteswap_ushort(be);
++#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
++    return be;
+ #else
++    #if defined(_MSC_VER)
++    return _byteswap_ushort(be);
++    #else
+     return __builtin_bswap16(be);
++    #endif
+ #endif
+ }
+ 
+ static uint32_t read_big_u32(const uint8_t* ptr) {
+     uint32_t be;
+     memcpy(&be, ptr, sizeof(be));
+-#if defined(_MSC_VER)
+-    return _byteswap_ulong(be);
++#if __BYTE_ORDER == __ORDER_BIG_ENDIAN__
++    return be;
+ #else
++    #if defined(_MSC_VER)
++    return _byteswap_ulong(be);
++    #else
+     return __builtin_bswap32(be);
++    #endif
+ #endif
+ }
+ 
diff --git a/SOURCES/mozilla-bmo1504834-part2.patch b/SOURCES/mozilla-bmo1504834-part2.patch
new file mode 100644
index 0000000..e6e6aa5
--- /dev/null
+++ b/SOURCES/mozilla-bmo1504834-part2.patch
@@ -0,0 +1,88 @@
+# HG changeset patch
+# Parent  36563351309ddbc6c29559ba50a41d005f925abb
+Skia does not support big endian. The places to fix are too numerous and upstream (skia, not Mozilla)
+has no interest in maintaining big endian.
+So here we try to swizzle the input for skia, so that skia always works on LE, and when it comes
+out again, we transform back to BE.
+
+diff -r 36563351309d gfx/2d/ConvolutionFilter.cpp
+--- a/gfx/2d/ConvolutionFilter.cpp	Mon Sep 09 17:59:28 2019 +0200
++++ b/gfx/2d/ConvolutionFilter.cpp	Tue Sep 10 08:25:13 2019 +0200
+@@ -35,9 +35,38 @@
+   return true;
+ }
+ 
++static void ByteSwapArray(uint8_t *u8Array, int32_t size) {
++    uint32_t *array = reinterpret_cast<uint32_t*>(u8Array);
++    for (int pxl = 0; pxl < size; ++pxl) {
++        // Use an endian swap to move the bytes, i.e. BGRA -> ARGB.
++        uint32_t rgba = array[pxl];
++        array[pxl] = NativeEndian::swapToLittleEndian(rgba);
++    }
++}
++
+ void ConvolutionFilter::ConvolveHorizontally(const uint8_t* aSrc, uint8_t* aDst,
+                                              bool aHasAlpha) {
++#if MOZ_BIG_ENDIAN
++    int outputSize = mFilter->numValues();
++
++    // Input size isn't handed in, so we have to calculate it quickly
++    int inputSize = 0;
++    for (int xx = 0; xx < outputSize; ++xx) {
++        // Get the filter that determines the current output pixel.
++        int filterOffset, filterLength;
++        mFilter->FilterForValue(xx, &filterOffset, &filterLength);
++        inputSize = std::max(inputSize, filterOffset + filterLength);
++    }
++
++    ByteSwapArray((uint8_t*)aSrc, inputSize);
++#endif
++
+   SkOpts::convolve_horizontally(aSrc, *mFilter, aDst, aHasAlpha);
++
++#if MOZ_BIG_ENDIAN
++    ByteSwapArray((uint8_t*)aSrc, inputSize);
++    ByteSwapArray(aDst, outputSize);
++#endif
+ }
+ 
+ void ConvolutionFilter::ConvolveVertically(uint8_t* const* aSrc, uint8_t* aDst,
+@@ -49,8 +78,26 @@
+   int32_t filterLength;
+   auto filterValues =
+       mFilter->FilterForValue(aRowIndex, &filterOffset, &filterLength);
++
++#if MOZ_BIG_ENDIAN
++  for (int filterY = 0; filterY < filterLength; filterY++) {
++      // Skia only knows LE, so we have to swizzle the input
++    ByteSwapArray(aSrc[filterY], aRowSize);
++  }
++#endif
++
+   SkOpts::convolve_vertically(filterValues, filterLength, aSrc, aRowSize, aDst,
+                               aHasAlpha);
++
++#if MOZ_BIG_ENDIAN
++  // After skia is finished, we swizzle back to BE, in case
++  // the input is used again somewhere else
++  for (int filterY = 0; filterY < filterLength; filterY++) {
++    ByteSwapArray(aSrc[filterY], aRowSize);
++  }
++  // The destination array as well
++  ByteSwapArray(aDst, aRowSize);
++#endif
+ }
+ 
+ /* ConvolutionFilter::ComputeResizeFactor is derived from Skia's
+diff -r 36563351309d gfx/skia/skia/include/core/SkPreConfig.h
+--- a/gfx/skia/skia/include/core/SkPreConfig.h	Mon Sep 09 17:59:28 2019 +0200
++++ b/gfx/skia/skia/include/core/SkPreConfig.h	Tue Sep 10 08:25:13 2019 +0200
+@@ -73,7 +73,7 @@
+       defined(__ppc__) || defined(__hppa) || \
+       defined(__PPC__) || defined(__PPC64__) || \
+       defined(_MIPSEB) || defined(__ARMEB__) || \
+-      defined(__s390__) || \
++      defined(__s390__) || defined(__s390x__) || \
+       (defined(__sh__) && defined(__BIG_ENDIAN__)) || \
+       (defined(__ia64) && defined(__BIG_ENDIAN__))
+          #define SK_CPU_BENDIAN
diff --git a/SOURCES/mozilla-bmo1504834-part3.patch b/SOURCES/mozilla-bmo1504834-part3.patch
new file mode 100644
index 0000000..1a498f8
--- /dev/null
+++ b/SOURCES/mozilla-bmo1504834-part3.patch
@@ -0,0 +1,44 @@
+# HG changeset patch
+# Parent  aecb4600e5da17443b224c79eee178c1d8e155e3
+For FF68, AntiAliasing of XULTexts seem to be broken on big endian (s390x). Text and icons of the sandwich-menu to the
+right of the address bar, as well as plugin-windows appears transparant, which usually means unreadable (white on white).
+
+diff -r aecb4600e5da gfx/skia/skia/include/private/SkNx.h
+--- a/gfx/skia/skia/include/private/SkNx.h	Tue Aug 20 09:46:55 2019 +0200
++++ b/gfx/skia/skia/include/private/SkNx.h	Mon Sep 09 10:04:06 2019 +0200
+@@ -238,7 +238,18 @@
+     AI SkNx operator*(const SkNx& y) const { return fVal * y.fVal; }
+     AI SkNx operator/(const SkNx& y) const { return fVal / y.fVal; }
+ 
++    // On Big endian the commented out variant doesn't work,
++    // and honestly, I have no idea why it exists in the first place.
++    // The reason its broken is, I think, that it defaults to the double-variant of ToBits()
++    // which gets a 64-bit integer, and FromBits returns 32-bit,
++    // cutting off the wrong half again.
++    // Overall, I see no reason to have ToBits and FromBits at all (even for floats/doubles).
++    // Still we are only "fixing" this for big endian and leave little endian alone (never touch a running system)
++#ifdef SK_CPU_BENDIAN
++    AI SkNx operator&(const SkNx& y) const { return fVal & y.fVal; }
++#else
+     AI SkNx operator&(const SkNx& y) const { return FromBits(ToBits(fVal) & ToBits(y.fVal)); }
++#endif
+     AI SkNx operator|(const SkNx& y) const { return FromBits(ToBits(fVal) | ToBits(y.fVal)); }
+     AI SkNx operator^(const SkNx& y) const { return FromBits(ToBits(fVal) ^ ToBits(y.fVal)); }
+ 
+diff -r aecb4600e5da gfx/skia/skia/src/opts/SkBlitMask_opts.h
+--- a/gfx/skia/skia/src/opts/SkBlitMask_opts.h	Tue Aug 20 09:46:55 2019 +0200
++++ b/gfx/skia/skia/src/opts/SkBlitMask_opts.h	Mon Sep 09 10:04:06 2019 +0200
+@@ -203,7 +203,13 @@
+             //   ~~~>
+             // a = 1*aa + d(1-1*aa) = aa + d(1-aa)
+             // c = 0*aa + d(1-1*aa) =      d(1-aa)
++
++            // For big endian we have to swap the alpha-mask from 0,0,0,255 to 255,0,0,0
++#ifdef SK_CPU_BENDIAN
++            return Sk4px(Sk16b(aa) & Sk16b(255,0,0,0, 255,0,0,0, 255,0,0,0, 255,0,0,0))
++#else
+             return Sk4px(Sk16b(aa) & Sk16b(0,0,0,255, 0,0,0,255, 0,0,0,255, 0,0,0,255))
++#endif
+                  + d.approxMulDiv255(aa.inv());
+         };
+         while (h --> 0) {
diff --git a/SOURCES/mozilla-bmo1504834-part4.patch b/SOURCES/mozilla-bmo1504834-part4.patch
new file mode 100644
index 0000000..9d2ffc4
--- /dev/null
+++ b/SOURCES/mozilla-bmo1504834-part4.patch
@@ -0,0 +1,30 @@
+# HG changeset patch
+# Parent  46ea866ca3acb8bb5e1709ceb799b9c94f591dec
+Problem description: Tab-titles that are too long to fit into a tab get faded out.
+                     On big endian this is broken and instead of fading out, the 
+                     tab gets white and the font transparent, leading to an unreadable
+                     tab-title
+Solution: This is not a real solution, but a hack. The real solution would have been
+          to byte-swap the correct buffer, but I could not find it.
+          So the next best thing is to deactivate the fading-effect. Now all tab-titles
+          are readable, albeit not as pretty to look at as they could be. 
+Side-effects: I have not yet found an unwanted side-effect.
+
+diff -r 46ea866ca3ac -r 6ef20eee3f8f gfx/2d/DrawTargetSkia.cpp
+--- a/gfx/2d/DrawTargetSkia.cpp	Tue Oct 22 12:27:22 2019 +0200
++++ b/gfx/2d/DrawTargetSkia.cpp	Thu Oct 31 09:11:56 2019 +0100
+@@ -1861,6 +1861,14 @@
+       SkCanvas::kPreserveLCDText_SaveLayerFlag |
+           (aCopyBackground ? SkCanvas::kInitWithPrevious_SaveLayerFlag : 0));
+ 
++#if MOZ_BIG_ENDIAN
++  // Pushing a layer where an aMask is defined produces wrong output.
++  // We _should_ endian swap the data, but I couldn't find a workable way to do so
++  // Therefore I deactivate those layers in the meantime.
++  // The result is: Tab-titles that are longer than the available space should be faded out.
++  //                The fading doesn't work, so we deactivate the fading-effect here.
++  if (!aMask)
++#endif
+   mCanvas->saveLayer(saveRec);
+ 
+   SetPermitSubpixelAA(aOpaque);
diff --git a/SOURCES/mozilla-bmo1554971.patch b/SOURCES/mozilla-bmo1554971.patch
new file mode 100644
index 0000000..9958150
--- /dev/null
+++ b/SOURCES/mozilla-bmo1554971.patch
@@ -0,0 +1,12 @@
+diff -up firefox-91.0/toolkit/components/extensions/schemas/runtime.json.mozilla-bmo1554971 firefox-91.0/toolkit/components/extensions/schemas/runtime.json
+--- firefox-91.0/toolkit/components/extensions/schemas/runtime.json.mozilla-bmo1554971	2021-07-29 17:20:08.523253193 +0200
++++ firefox-91.0/toolkit/components/extensions/schemas/runtime.json	2021-07-29 17:21:23.517498581 +0200
+@@ -64,7 +64,7 @@
+       {
+         "id": "PlatformArch",
+         "type": "string",
+-        "enum": ["aarch64", "arm", "ppc64", "s390x", "sparc64", "x86-32", "x86-64"],
++        "enum": ["aarch64", "arm", "ppc64", "ppc64le", "s390x", "sparc64", "x86-32", "x86-64"],
+         "allowedContexts": ["content", "devtools"],
+         "description": "The machine's processor architecture."
+       },
diff --git a/SOURCES/mozilla-bmo1602730.patch b/SOURCES/mozilla-bmo1602730.patch
new file mode 100644
index 0000000..c11f958
--- /dev/null
+++ b/SOURCES/mozilla-bmo1602730.patch
@@ -0,0 +1,28 @@
+diff -r 6ef20eee3f8f gfx/layers/basic/BasicCompositor.cpp
+--- a/gfx/layers/basic/BasicCompositor.cpp	Thu Oct 31 09:11:56 2019 +0100
++++ b/gfx/layers/basic/BasicCompositor.cpp	Wed Dec 11 16:16:09 2019 +0100
+@@ -693,9 +693,13 @@
+ 
+   RefPtr<SourceSurface> sourceMask;
+   Matrix maskTransform;
++  // Setting an alpha-mask here breaks the URL-bar on big endian (s390x)
++  // if the typed URL is too long for the textbox (automatic scrolling needed)
++#if MOZ_LITTLE_ENDIAN
+   if (aTransform.Is2D()) {
+     SetupMask(aEffectChain, dest, offset, sourceMask, maskTransform);
+   }
++#endif
+ 
+   CompositionOp blendMode = CompositionOp::OP_OVER;
+   if (Effect* effect =
+diff -r 6ef20eee3f8f gfx/layers/composite/CompositableHost.cpp
+--- a/gfx/layers/composite/CompositableHost.cpp	Thu Oct 31 09:11:56 2019 +0100
++++ b/gfx/layers/composite/CompositableHost.cpp	Wed Dec 11 16:16:09 2019 +0100
+@@ -91,6 +91,7 @@
+   }
+   MOZ_ASSERT(source);
+ 
++  // Alternatively: Comment out these lines where the alpha-mask is set
+   RefPtr<EffectMask> effect =
+       new EffectMask(source, source->GetSize(), aTransform);
+   aEffects.mSecondaryEffects[EffectTypes::MASK] = effect;
diff --git a/SOURCES/mozilla-bmo1626236.patch b/SOURCES/mozilla-bmo1626236.patch
new file mode 100644
index 0000000..32e3742
--- /dev/null
+++ b/SOURCES/mozilla-bmo1626236.patch
@@ -0,0 +1,86 @@
+# HG changeset patch
+# User msirringhaus@suse.de
+# Date 1582805876 -3600
+#      Thu Feb 27 13:17:56 2020 +0100
+# Node ID cc3d09abea31068e57f1ab918782f9f86fc6a158
+# Parent  9cd90914846f667f18babc491a74c164ae5d6e9f
+imported patch decoder_workaround.patch
+
+diff -r 9cd90914846f image/decoders/nsGIFDecoder2.cpp
+--- a/image/decoders/nsGIFDecoder2.cpp	Thu Feb 27 12:57:14 2020 +0100
++++ b/image/decoders/nsGIFDecoder2.cpp	Fri Mar 27 13:06:18 2020 +0100
+@@ -422,6 +422,9 @@
+   MOZ_ASSERT(mSwizzleFn);
+   uint8_t* data = reinterpret_cast<uint8_t*>(aColormap);
+   mSwizzleFn(data, data, aColors);
++#if MOZ_BIG_ENDIAN()
++  SwizzleRow(SurfaceFormat::A8R8G8B8, SurfaceFormat::B8G8R8A8)(data, data, aColors);
++#endif
+ }
+ 
+ LexerResult nsGIFDecoder2::DoDecode(SourceBufferIterator& aIterator,
+diff -r 9cd90914846f image/decoders/nsJPEGDecoder.cpp
+--- a/image/decoders/nsJPEGDecoder.cpp	Thu Feb 27 12:57:14 2020 +0100
++++ b/image/decoders/nsJPEGDecoder.cpp	Fri Mar 27 13:06:18 2020 +0100
+@@ -263,6 +263,9 @@
+         case JCS_YCbCr:
+           // By default, we will output directly to BGRA. If we need to apply
+           // special color transforms, this may change.
++#if MOZ_BIG_ENDIAN()
++          mInfo.out_color_space = MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB;
++#else
+           switch (SurfaceFormat::OS_RGBX) {
+             case SurfaceFormat::B8G8R8X8:
+               mInfo.out_color_space = JCS_EXT_BGRX;
+@@ -277,6 +280,7 @@
+               mState = JPEG_ERROR;
+               return Transition::TerminateFailure();
+           }
++#endif
+           break;
+         case JCS_CMYK:
+         case JCS_YCCK:
+diff -r 9cd90914846f image/decoders/nsPNGDecoder.cpp
+--- a/image/decoders/nsPNGDecoder.cpp	Thu Feb 27 12:57:14 2020 +0100
++++ b/image/decoders/nsPNGDecoder.cpp	Fri Mar 27 13:06:18 2020 +0100
+@@ -361,7 +361,7 @@
+                                    IResumable* aOnResume) {
+   MOZ_ASSERT(!HasError(), "Shouldn't call DoDecode after error!");
+ 
+-  return mLexer.Lex(aIterator, aOnResume,
++  LexerResult res = mLexer.Lex(aIterator, aOnResume,
+                     [=](State aState, const char* aData, size_t aLength) {
+                       switch (aState) {
+                         case State::PNG_DATA:
+@@ -371,6 +371,14 @@
+                       }
+                       MOZ_CRASH("Unknown State");
+                     });
++
++#if MOZ_BIG_ENDIAN()
++  if(res.is<TerminalState>() && res.as<TerminalState>() == TerminalState::SUCCESS) {
++      NativeEndian::swapToLittleEndianInPlace<uint32_t>((uint32_t*)(mImageData), mImageDataLength / 4);
++  }
++#endif
++
++  return res;
+ }
+ 
+ LexerTransition<nsPNGDecoder::State> nsPNGDecoder::ReadPNGData(
+diff -r 9cd90914846f image/decoders/nsWebPDecoder.cpp
+--- a/image/decoders/nsWebPDecoder.cpp	Thu Feb 27 12:57:14 2020 +0100
++++ b/image/decoders/nsWebPDecoder.cpp	Fri Mar 27 13:06:18 2020 +0100
+@@ -237,7 +237,12 @@
+   // WebP doesn't guarantee that the alpha generated matches the hint in the
+   // header, so we always need to claim the input is BGRA. If the output is
+   // BGRX, swizzling will mask off the alpha channel.
++#if MOZ_BIG_ENDIAN()
++  mBuffer.colorspace = MODE_ARGB;
++  SurfaceFormat inFormat = mFormat;
++#else
+   SurfaceFormat inFormat = SurfaceFormat::OS_RGBA;
++#endif
+ 
+   SurfacePipeFlags pipeFlags = SurfacePipeFlags();
+   if (mFormat == SurfaceFormat::OS_RGBA &&
+
diff --git a/SOURCES/mozilla-bmo849632.patch b/SOURCES/mozilla-bmo849632.patch
new file mode 100644
index 0000000..177fdc3
--- /dev/null
+++ b/SOURCES/mozilla-bmo849632.patch
@@ -0,0 +1,23 @@
+Problem:  webGL sites are displayed in the wrong color (usually blue-ish)
+Solution: Problem is with skia once again. Output of webgl seems endian-correct, but skia only
+          knows how to deal with little endian.
+          So we swizzle the output of webgl after reading it from readpixels()
+Note:     This does not fix all webGL sites, but is a step in the right direction
+diff -r 6b017d3e9733 gfx/gl/GLContext.h
+--- a/gfx/gl/GLContext.h    Mon Sep 09 10:04:05 2019 +0200
++++ b/gfx/gl/GLContext.h    Wed Nov 13 17:13:04 2019 +0100
+@@ -1551,6 +1551,13 @@
+     BEFORE_GL_CALL;
+     mSymbols.fReadPixels(x, y, width, height, format, type, pixels);
+     OnSyncCall();
++#if MOZ_BIG_ENDIAN
++    uint8_t* itr = (uint8_t*)pixels;
++    for (GLsizei i = 0; i < width * height; i++) {
++      NativeEndian::swapToLittleEndianInPlace((uint32_t*)itr, 1);
++      itr += 4;
++    }
++#endif
+     AFTER_GL_CALL;
+     mHeavyGLCallsSinceLastFlush = true;
+   }
+
diff --git a/SOURCES/mozilla-bmo998749.patch b/SOURCES/mozilla-bmo998749.patch
new file mode 100644
index 0000000..4ddde4c
--- /dev/null
+++ b/SOURCES/mozilla-bmo998749.patch
@@ -0,0 +1,30 @@
+# HG changeset patch
+# User msirringhaus@suse.de
+# Date 1583738770 -3600
+#      Mon Mar 09 08:26:10 2020 +0100
+# Node ID 34676feac1a542e409e22acf5b98735f8313b1ce
+# Parent  506857dace0a08d1c9685e3ac264646590b3e27f
+[mq]: mozilla-bmo998749.patch
+
+diff -r 506857dace0a -r 34676feac1a5 gfx/2d/FilterProcessing.h
+--- a/gfx/2d/FilterProcessing.h	Fri Feb 28 12:31:51 2020 +0100
++++ b/gfx/2d/FilterProcessing.h	Mon Mar 09 08:26:10 2020 +0100
+@@ -13,10 +13,17 @@
+ namespace mozilla {
+ namespace gfx {
+ 
++#if MOZ_BIG_ENDIAN()
++const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_B = 3;
++const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_G = 2;
++const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_R = 1;
++const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_A = 0;
++#else
+ const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_B = 0;
+ const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_G = 1;
+ const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_R = 2;
+ const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_A = 3;
++#endif
+ 
+ class FilterProcessing {
+  public:
+
diff --git a/SOURCES/mozilla-s390-context.patch b/SOURCES/mozilla-s390-context.patch
new file mode 100644
index 0000000..55bd7a8
--- /dev/null
+++ b/SOURCES/mozilla-s390-context.patch
@@ -0,0 +1,36 @@
+# HG changeset patch
+# User msirringhaus@suse.de
+# Date 1558452408 -7200
+#      Tue May 21 17:26:48 2019 +0200
+# Node ID 602e92722e765a3c238d3b96b26c0c8063b5eeb4
+# Parent  a3cc550d25e3a04d906f516928cbcbe50efd585e
+[mq]: mozilla-s390-context.patch
+
+diff -r a3cc550d25e3 -r 602e92722e76 js/src/wasm/WasmSignalHandlers.cpp
+--- a/js/src/wasm/WasmSignalHandlers.cpp	Tue May 21 17:22:06 2019 +0200
++++ b/js/src/wasm/WasmSignalHandlers.cpp	Tue May 21 17:26:48 2019 +0200
+@@ -154,6 +154,10 @@
+ #    define R01_sig(p) ((p)->uc_mcontext.gp_regs[1])
+ #    define R32_sig(p) ((p)->uc_mcontext.gp_regs[32])
+ #  endif
++#  if defined(__linux__) && defined(__s390x__)
++#    define GR_sig(p,x) ((p)->uc_mcontext.gregs[x])
++#    define PSWa_sig(p) ((p)->uc_mcontext.psw.addr)
++#  endif
+ #elif defined(__NetBSD__)
+ #  define EIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EIP])
+ #  define EBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EBP])
+@@ -385,8 +389,13 @@
+ #  define PC_sig(p) R32_sig(p)
+ #  define SP_sig(p) R01_sig(p)
+ #  define FP_sig(p) R01_sig(p)
++#elif defined(__s390x__)
++# define PC_sig(p) PSWa_sig(p)
++# define SP_sig(p) GR_sig(p, 15)
++# define FP_sig(p) GR_sig(p, 11)
+ #endif
+ 
++
+ static void SetContextPC(CONTEXT* context, uint8_t* pc) {
+ #ifdef PC_sig
+   *reinterpret_cast<uint8_t**>(&PC_sig(context)) = pc;
diff --git a/SOURCES/mozilla-s390x-skia-gradient.patch b/SOURCES/mozilla-s390x-skia-gradient.patch
new file mode 100644
index 0000000..8c0e3bd
--- /dev/null
+++ b/SOURCES/mozilla-s390x-skia-gradient.patch
@@ -0,0 +1,52 @@
+# HG changeset patch
+# Parent  acf59ea86dd1d878b43920832093f082dcfc61c0
+
+diff -r acf59ea86dd1 gfx/skia/skia/src/shaders/gradients/Sk4fLinearGradient.cpp
+--- a/gfx/skia/skia/src/shaders/gradients/Sk4fLinearGradient.cpp	Mon Mar 09 08:26:10 2020 +0100
++++ b/gfx/skia/skia/src/shaders/gradients/Sk4fLinearGradient.cpp	Fri Mar 27 13:30:28 2020 +0100
+@@ -7,7 +7,7 @@
+ 
+ #include "include/core/SkPaint.h"
+ #include "src/shaders/gradients/Sk4fLinearGradient.h"
+-
++#include "src/core/SkEndian.h"
+ #include <cmath>
+ #include <utility>
+ 
+@@ -28,6 +28,9 @@
+ 
+     while (n >= 4) {
+         DstTraits<premul>::store4x(c0, c1, c2, c3, dst, bias0, bias1);
++#ifdef SK_CPU_BENDIAN
++        SkEndianSwap32s(dst, 4);
++#endif
+         dst += 4;
+ 
+         c0 = c0 + dc4;
+@@ -37,12 +40,23 @@
+         n -= 4;
+     }
+     if (n & 2) {
+-        DstTraits<premul>::store(c0, dst++, bias0);
+-        DstTraits<premul>::store(c1, dst++, bias1);
++        DstTraits<premul>::store(c0, dst, bias0);
++#ifdef SK_CPU_BENDIAN
++        *dst = SkEndianSwap32(*dst);
++#endif
++        ++dst;
++        DstTraits<premul>::store(c1, dst, bias1);
++#ifdef SK_CPU_BENDIAN
++        *dst = SkEndianSwap32(*dst);
++#endif
++        ++dst;
+         c0 = c0 + dc2;
+     }
+     if (n & 1) {
+         DstTraits<premul>::store(c0, dst, bias0);
++#ifdef SK_CPU_BENDIAN
++        *dst = SkEndianSwap32(*dst);
++#endif
+     }
+ }
+ 
+
diff --git a/SOURCES/node-stdout-nonblocking-wrapper b/SOURCES/node-stdout-nonblocking-wrapper
new file mode 100755
index 0000000..e36d134
--- /dev/null
+++ b/SOURCES/node-stdout-nonblocking-wrapper
@@ -0,0 +1,3 @@
+#!/bin/sh
+#exec /usr/bin/node "$@" 2>&1 | cat -
+exec $MOZ_NODEJS "$@" 2>&1 | cat -
diff --git a/SOURCES/nss-setup-flags-env.inc b/SOURCES/nss-setup-flags-env.inc
new file mode 100644
index 0000000..45f6e79
--- /dev/null
+++ b/SOURCES/nss-setup-flags-env.inc
@@ -0,0 +1,7 @@
+sed -i 's@%{bundled_install_path}@%{_buildrootdir}%{bundled_install_path}@g' %{_buildrootdir}%{bundled_install_path}/%{_lib}/pkgconfig/nss*.pc
+
+export LDFLAGS="-L%{_buildrootdir}%{bundled_install_path}/%{_lib} $LDFLAGS"
+export LDFLAGS="-Wl,-rpath,%{bundled_install_path}/%{_lib} $LDFLAGS"
+export LDFLAGS="-Wl,-rpath-link,%{_buildrootdir}%{bundled_install_path}/%{_lib} $LDFLAGS"
+export PKG_CONFIG_PATH=%{_buildrootdir}%{bundled_install_path}/%{_lib}/pkgconfig
+export PATH="{_buildrootdir}%{bundled_install_path}/bin:$PATH"
diff --git a/SOURCES/process-official-tarball b/SOURCES/process-official-tarball
new file mode 100755
index 0000000..449e7bb
--- /dev/null
+++ b/SOURCES/process-official-tarball
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+rm -rf ./process-tarball-dir
+mkdir ./process-tarball-dir
+tar -xJf $1 --directory process-tarball-dir
+
+rm -vf ./process-tarball-dir/*/testing/web-platform/tests/conformance-checkers/html-rdfa/0030-isvalid.html
+rm -vf ./process-tarball-dir/*/testing/web-platform/tests/conformance-checkers/html-rdfa/0008-isvalid.html
+rm -vf ./process-tarball-dir/*/testing/web-platform/tests/conformance-checkers/html-rdfalite/0030-isvalid.html
+rm -vf ./process-tarball-dir/*/testing/web-platform/tests/css/css-ui/support/cursors/woolly-64.svg
+rm -vf ./process-tarball-dir/*/testing/web-platform/tests/css/css-ui/support/cursors/woolly.svg
+rm -vf ./process-tarball-dir/*/testing/web-platform/tests/conformance-checkers/html-rdfa/0230-novalid.html
+rm -vf ./process-tarball-dir/*/testing/web-platform/tests/conformance-checkers/html-rdfa/0231-isvalid.html
+rm -vf ./process-tarball-dir/*/layout/inspector/tests/chrome/test_fontVariationsAPI.css
+
+processed_tarball=${1/source/processed-source}
+
+cd ./process-tarball-dir
+tar -cf - ./* | xz -9 -T 0 -f > $processed_tarball
+mv $processed_tarball ..
+cd ..
+
+rm -rf ./process-tarball-dir
diff --git a/SOURCES/python-missing-utimensat.patch b/SOURCES/python-missing-utimensat.patch
new file mode 100644
index 0000000..d19ecab
--- /dev/null
+++ b/SOURCES/python-missing-utimensat.patch
@@ -0,0 +1,12 @@
+diff -up python3/Python-3.6.8/configure.old python3/Python-3.6.8/configure
+--- Python-3.6.8/configure.old	2019-10-01 12:56:35.074551835 +0200
++++ Python-3.6.8/configure	2019-10-01 12:56:44.240517798 +0200
+@@ -11438,7 +11438,7 @@ for ac_func in alarm accept4 setitimer g
+  sigaction sigaltstack siginterrupt sigpending sigrelse \
+  sigtimedwait sigwait sigwaitinfo snprintf strftime strlcpy symlinkat sync \
+  sysconf tcgetpgrp tcsetpgrp tempnam timegm times tmpfile tmpnam tmpnam_r \
+- truncate uname unlinkat unsetenv utimensat utimes waitid waitpid wait3 wait4 \
++ truncate uname unlinkat unsetenv utimes waitid waitpid wait3 wait4 \
+  wcscoll wcsftime wcsxfrm wmemcmp writev _getpty
+ do :
+   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
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/thunderbird-mozconfig b/SOURCES/thunderbird-mozconfig
new file mode 100644
index 0000000..4500696
--- /dev/null
+++ b/SOURCES/thunderbird-mozconfig
@@ -0,0 +1,31 @@
+ac_add_options --enable-application=comm/mail
+
+ac_add_options --prefix="$PREFIX"
+ac_add_options --libdir="$LIBDIR"
+ac_add_options --with-system-zlib
+ac_add_options --disable-strip
+ac_add_options --disable-tests
+#ac_add_options --enable-libnotify
+ac_add_options --enable-necko-wifi
+ac_add_options --disable-updater
+ac_add_options --enable-chrome-format=omni
+ac_add_options --enable-pulseaudio
+ac_add_options --without-system-icu
+ac_add_options --enable-release
+ac_add_options --update-channel=release
+ac_add_options --allow-addon-sideload
+ac_add_options --with-system-jpeg
+ac_add_options --enable-js-shell
+ac_add_options --with-unsigned-addon-scopes=app,system
+
+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 --disable-crashreporter
+
+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.rhel7 b/SOURCES/thunderbird-redhat-default-prefs.js.rhel7
new file mode 100644
index 0000000..4d01b78
--- /dev/null
+++ b/SOURCES/thunderbird-redhat-default-prefs.js.rhel7
@@ -0,0 +1,36 @@
+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.autoDisableScopes", 0);
+
+/* For rhbz#1024232 */
+pref("ui.SpellCheckerUnderlineStyle",       1);
+
+/* Workaround for rhbz#1753011 */
+pref("spellchecker.dictionary_path", "/usr/share/myspell");
+/* 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", "");
+/* Disable telemetry */
+pref("datareporting.healthreport.uploadEnabled", false);
+pref("datareporting.policy.dataSubmissionEnabled", false);
+pref("toolkit.telemetry.archive.enabled", false);
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..6a9cb72
--- /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="%PREFIX%/lib64"
+                SECONDARY_LIB_DIR="%PREFIX%/lib"
+                ;;
+        * )
+                MOZ_LIB_DIR="%PREFIX%/lib"
+                SECONDARY_LIB_DIR="%PREFIX%/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="%PREFIX%/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/SPECS/thunderbird.spec b/SPECS/thunderbird.spec
new file mode 100644
index 0000000..6140f10
--- /dev/null
+++ b/SPECS/thunderbird.spec
@@ -0,0 +1,2406 @@
+# Set for local builds only
+%global disable_toolsets  0
+
+%ifarch %{ix86}
+  # no debug package for the i686 because oom on i686 with debuginfos
+  #FIXME revise if still necessary
+  %global debug_package %{nil}
+%endif
+
+%{lua:
+function dist_to_rhel_minor(str, start)
+  match = string.match(str, ".module%+el8.%d+")
+  if match then
+     return string.sub(match, 13)
+  end
+  match = string.match(str, ".el8_%d+")
+  if match then
+     return string.sub(match, 6)
+  end
+  match = string.match(str, ".el8")
+  if match then
+     return 6
+  end
+end}
+
+%global rhel_minor_version %{lua:print(dist_to_rhel_minor(rpm.expand("%dist")))}
+%global build_with_clang  0
+
+%global system_nss        1
+%global bundle_nss        0
+
+%if 0%{?rhel} == 8
+  %if %{rhel_minor_version} < 3
+    %global bundle_nss        1
+    %global system_nss        1
+  %endif
+%endif
+
+%define use_bundled_ffi   0
+
+# Don't use system hunspell for now
+%global system_hunspell   0
+%global use_llvmts        0
+%global use_nodejsts      0
+%if 0%{?rhel} < 8
+%global use_llvmts        1
+%global use_nodejsts      1
+%endif
+
+%global nodejs_rb         nodejs
+%global llvm_version      7.0
+
+%if 0%{?rhel} == 8
+%global llvm_version      6.0
+%endif
+
+%if 0%{?rhel} == 7
+  %global use_dts         1
+  %global nodejs_rb       rh-nodejs10-nodejs
+  %global llvm_version    11.0
+%endif
+
+%global use_rustts        1
+%if 0%{?rhel} >= 9
+  %global use_rustts      0
+%endif
+
+%global dts_version       10
+%global rust_version      1.52
+
+%if 0%{?disable_toolsets}
+%global use_rustts        0
+%global use_dts           0
+%global use_llvmts        0
+%endif
+
+# 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
+%global big_endian        1
+%endif
+
+# Hardened build?
+%global hardened_build    1
+
+%ifarch %{ix86} x86_64
+%global run_tests         0
+%else
+%global run_tests         0
+%endif
+
+# Build as a debug package?
+%global debug_build       0
+
+%define thunderbird_app_id      \{3550f703-e582-4d05-9a08-453d09bdfdc6\}
+# Minimal required versions
+
+%if 0%{?system_nss}
+%global nspr_version 4.32
+# NSS/NSPR quite often ends in build override, so as requirement the version
+# we're building against could bring us some broken dependencies from time to time.
+#%global nspr_build_version %(pkg-config --silence-errors --modversion nspr 2>/dev/null || echo 65536)
+%global nspr_build_version %{nspr_version}
+%global nss_version 3.53.1
+#%global nss_build_version %(pkg-config --silence-errors --modversion nss 2>/dev/null || echo 65536)
+%global nss_build_version %{nss_version}
+%endif
+
+# GTK3 bundling
+%define avoid_bundled_rebuild   0
+
+%define bundled_install_path %{mozappdir}/bundled
+
+# 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')}
+
+%global mozappdir     %{_libdir}/%{name}
+%global mozappdirdev  %{_libdir}/%{name}-devel-%{version}
+%global langpackdir   %{mozappdir}/extensions
+%global tarballdir    %{name}-%{version}
+#global pre_tag       alpha
+
+%global official_branding       1
+%global build_langpacks         1
+Summary:        Mozilla Thunderbird mail/newsgroup client
+Name:           thunderbird
+Version:        91.8.0
+Release:        1%{?dist}
+URL:            http://www.mozilla.org/projects/thunderbird/
+License:        MPLv1.1 or GPLv2+ or LGPLv2+
+Group:          Applications/Internet
+
+%if 0%{?rhel} == 9
+ExcludeArch:    %{ix86}
+%endif
+%if 0%{?rhel} == 8
+ExcludeArch:    %{ix86}
+%endif
+%if 0%{?rhel} == 7
+ExcludeArch:    s390 ppc
+%endif
+
+# We can't use the official tarball as it contains some test files that use
+# licenses that are rejected by Red Hat Legal.
+# The official tarball has to be always processed by the process-official-tarball
+# script.
+# Link to official tarball: https://archive.mozilla.org/pub/thunderbird/releases/%%{version}%%{?pre_version}/source/thunderbird-%%{version}%%{?pre_version}.source.tar.xz
+Source0:        thunderbird-%{version}%{?pre_version}.processed-source.tar.xz
+%if %{build_langpacks}
+Source1:        thunderbird-langpacks-%{version}%{?ext_version}-20220405.tar.xz
+%endif
+Source2:        cbindgen-vendor.tar.xz
+Source3:        get-calendar-langpacks.sh
+Source4:        process-official-tarball
+
+Source10:       thunderbird-mozconfig
+Source20:       thunderbird.desktop
+Source21:       thunderbird.sh.in
+Source24:       mozilla-api-key
+Source27:       google-api-key
+Source28:       node-stdout-nonblocking-wrapper
+Source701:      thunderbird-redhat-default-prefs.js.rhel7
+
+Source403:      nss-3.67.0-7.el8_1.src.rpm
+Source401:      nss-setup-flags-env.inc
+Source402:      nspr-4.32.0-1.el8_1.src.rpm
+
+# Build patches
+# workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1699374
+Patch1001:      build-ppc64le-inline.patch
+Patch1003:      python-missing-utimensat.patch
+Patch1008:        build-rhel7-nasm-dwarf.patch
+Patch1009:        build-debuginfo-fix.patch
+# workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1699374
+Patch4:         build-mozconfig-fix.patch
+Patch6:         build-nss-version.patch
+
+# Fedora/RHEL specific patches
+Patch215:        firefox-enable-addons.patch
+Patch219:        rhbz-1173156.patch
+Patch224:        mozilla-1170092.patch
+Patch237:        disable-openpgp-in-thunderbird.patch
+
+# Upstream patches
+
+Patch503:        mozilla-s390-context.patch
+Patch505:        mozilla-bmo1005535.patch
+Patch506:        mozilla-bmo1504834-part1.patch
+Patch507:        mozilla-bmo1504834-part2.patch
+Patch508:        mozilla-bmo1504834-part3.patch
+Patch509:        mozilla-bmo1504834-part4.patch
+Patch510:        mozilla-bmo1554971.patch
+Patch511:        mozilla-bmo1602730.patch
+Patch512:        mozilla-bmo849632.patch
+Patch513:        mozilla-bmo998749.patch
+Patch514:        mozilla-s390x-skia-gradient.patch
+Patch515:        mozilla-bmo1626236.patch
+Patch516:        expat-CVE-2022-25235.patch
+Patch517:        expat-CVE-2022-25236.patch
+Patch518:        expat-CVE-2022-25315.patch
+
+%if %{?system_nss}
+%if !0%{?bundle_nss}
+BuildRequires:  pkgconfig(nspr) >= %{nspr_version}
+BuildRequires:  pkgconfig(nss) >= %{nss_version}
+BuildRequires:  nss-static >= %{nss_version}
+%endif
+%endif
+BuildRequires:  pkgconfig(libpng)
+BuildRequires:  xz
+BuildRequires:  libXt-devel
+BuildRequires:  mesa-libGL-devel
+Requires:       liberation-fonts-common
+Requires:       liberation-sans-fonts
+BuildRequires:  libjpeg-devel
+BuildRequires:  zip
+BuildRequires:  bzip2-devel
+BuildRequires:  pkgconfig(zlib)
+BuildRequires:  pkgconfig(gtk+-2.0)
+BuildRequires:  krb5-devel
+BuildRequires:  pkgconfig(pango)
+BuildRequires:  pkgconfig(freetype2) >= 2.1.9
+BuildRequires:  pkgconfig(xt)
+BuildRequires:  pkgconfig(xrender)
+%if %{?system_hunspell}
+BuildRequires:  hunspell-devel
+%endif
+BuildRequires:  pkgconfig(libstartup-notification-1.0)
+BuildRequires:  pkgconfig(libnotify)
+BuildRequires:  pkgconfig(dri)
+BuildRequires:  pkgconfig(libcurl)
+BuildRequires:  dbus-glib-devel
+BuildRequires:  m4
+
+BuildRequires:  pkgconfig(libpulse)
+
+%if 0%{?use_dts}
+BuildRequires:  devtoolset-%{dts_version}-gcc-c++
+BuildRequires:  devtoolset-%{dts_version}-gcc
+BuildRequires:  devtoolset-%{dts_version}-libatomic-devel
+%endif
+%if 0%{?rhel} == 9
+BuildRequires:  gcc
+BuildRequires:  gcc-c++
+BuildRequires:  cargo
+BuildRequires:  rust
+BuildRequires:  clang clang-libs llvm
+%endif
+
+BuildRequires:  scl-utils
+BuildRequires:  findutils
+
+BuildRequires:  %{nodejs_rb} >= 10.21
+BuildRequires:  python3
+
+%if 0%{?rhel} == 8
+BuildRequires:  cargo
+BuildRequires:  rust >= %{rust_version}
+BuildRequires:  llvm >= %{llvm_version}
+BuildRequires:  llvm-devel >= %{llvm_version}
+BuildRequires:  clang >= %{llvm_version}
+BuildRequires:  clang-devel >= %{llvm_version}
+BuildRequires:  rustfmt >= %{rust_version}
+%else
+%if 0%{?use_rustts}
+BuildRequires:  rust-toolset-%{rust_version}
+%endif
+%if 0%{?use_llvmts}
+BuildRequires:  llvm-toolset-%{llvm_version}
+BuildRequires:  llvm-toolset-%{llvm_version}-llvm-devel
+BuildRequires:  llvm-toolset-%{llvm_version}-clang
+BuildRequires:  llvm-toolset-%{llvm_version}-clang-devel
+%endif
+%endif
+
+BuildRequires:  nasm
+%if %{build_with_clang}
+BuildRequires:  lld
+%endif
+
+%if 0%{?rhel} == 8
+  %if %{rhel_minor_version} >= 3
+BuildRequires:  pkgconfig(libpipewire-0.3)
+  %else
+BuildRequires:  pipewire-devel
+  %endif
+%endif
+
+BuildRequires:        gtk3-devel
+BuildRequires:        glib2-devel
+BuildRequires:        perl-interpreter
+
+# Bundled nss/nspr requirement
+%if 0%{?bundle_nss}
+BuildRequires:    nss-softokn
+BuildRequires:    sqlite-devel
+BuildRequires:    zlib-devel
+BuildRequires:    pkgconfig
+BuildRequires:    gawk
+BuildRequires:    psmisc
+BuildRequires:    gcc-c++
+BuildRequires:    xmlto
+%endif
+
+
+Requires:       mozilla-filesystem
+Requires:       p11-kit-trust
+%if %{?system_nss}
+%if !0%{?bundle_nss}
+Requires:       nspr >= %{nspr_build_version}
+Requires:       nss >= %{nss_build_version}
+%endif
+%endif
+
+BuildRequires:  desktop-file-utils
+BuildRequires:  system-bookmarks
+Requires:       redhat-indexhtml
+
+%if %{?run_tests}
+BuildRequires:  xorg-x11-server-Xvfb
+%endif
+
+BuildRequires:  pkgconfig(libffi)
+
+%if 0%{?big_endian}
+  %if 0%{?flatpak}
+BuildRequires:  icu
+  %endif
+%endif
+
+Obsoletes:      thunderbird-lightning
+# ==================================================================================
+
+# Bundled libraries
+Provides: bundled(angle)
+Provides: bundled(cairo)
+Provides: bundled(graphite2)
+Provides: bundled(harfbuzz)
+Provides: bundled(ots)
+Provides: bundled(sfntly)
+Provides: bundled(skia)
+Provides: bundled(thebes)
+Provides: bundled(WebRender)
+Provides: bundled(audioipc-2)
+Provides: bundled(ffvpx)
+Provides: bundled(kissfft)
+Provides: bundled(libaom)
+Provides: bundled(libcubeb)
+Provides: bundled(libdav1d)
+Provides: bundled(libjpeg)
+Provides: bundled(libmkv)
+Provides: bundled(libnestegg)
+Provides: bundled(libogg)
+Provides: bundled(libopus)
+Provides: bundled(libpng)
+Provides: bundled(libsoundtouch)
+Provides: bundled(libspeex_resampler)
+Provides: bundled(libtheora)
+Provides: bundled(libtremor)
+Provides: bundled(libvorbis)
+Provides: bundled(libvpx)
+Provides: bundled(libwebp)
+Provides: bundled(libyuv)
+Provides: bundled(mp4parse-rust)
+Provides: bundled(mtransport)
+Provides: bundled(openmax_dl)
+Provides: bundled(double-conversion)
+Provides: bundled(brotli)
+Provides: bundled(fdlibm)
+Provides: bundled(freetype2)
+Provides: bundled(libmar)
+Provides: bundled(woff2)
+Provides: bundled(xz-embedded)
+Provides: bundled(zlib)
+Provides: bundled(expat)
+Provides: bundled(msgpack-c)
+Provides: bundled(libprio)
+Provides: bundled(rlbox_sandboxing_api)
+Provides: bundled(sqlite3)
+
+#TB third party libs
+Provides: bundled(libgcrypt)
+Provides: bundled(libgpg-error)
+Provides: bundled(libotr)
+
+# In case we enable MOZ_OPENPGP add following:
+#Provides: bundled(botan)
+#Provides: bundled(bzip2)
+#Provides: bundled(json-c)
+#Provides: bundled(rnp)
+
+%if 0%{?bundle_nss}
+Provides: bundled(nss) = 3.67.0
+Provides: bundled(nspr) = 4.32.0
+%endif
+%description
+Mozilla Thunderbird is a standalone mail and newsgroup client.
+
+
+%prep
+echo "Build environment"
+echo "dist                  %{?dist}"
+echo "RHEL 8 minor version: %{rhel_minor_version}"
+echo "use_bundled_ffi       %{?use_bundled_ffi}"
+echo "bundle_nss            %{?bundle_nss}"
+echo "system_nss            %{?system_nss}"
+echo "use_rustts            %{?use_rustts}"
+
+
+%setup -q -n %{tarballdir}
+# Firefox patches
+
+%patch4  -p1 -b .build-mozconfig-fix
+%patch6  -p1 -b .nss-version
+
+# Fedora patches
+%patch215 -p1 -b .addons
+%patch219 -p1 -b .rhbz-1173156
+%patch224 -p1 -b .1170092
+
+# Patch for big endian platforms only
+%if 0%{?big_endian}
+%endif
+
+# Thunderbird patches
+%patch503 -p1 -b .mozilla-s390-context
+%patch505 -p1 -b .mozilla-bmo1005535
+%patch506 -p1 -b .mozilla-bmo1504834-part1
+%patch507 -p1 -b .mozilla-bmo1504834-part2
+%patch508 -p1 -b .mozilla-bmo1504834-part3
+%patch509 -p1 -b .mozilla-bmo1504834-part4
+%patch510 -p1 -b .mozilla-bmo1554971
+%patch511 -p1 -b .mozilla-bmo1602730
+%patch512 -p1 -b .mozilla-bmo849632
+%patch513 -p1 -b .mozilla-bmo998749
+%patch514 -p1 -b .mozilla-s390x-skia-gradient
+%patch515 -p1 -b .mozilla-bmo1626236
+%patch516 -p1 -b .expat-CVE-2022-25235
+%patch517 -p1 -b .expat-CVE-2022-25236
+%patch518 -p1 -b .expat-CVE-2022-25315
+%patch237 -p1 -b .disable-openpgp-in-thunderbird
+
+
+%patch1001 -p1 -b .ppc64le-inline
+%if 0%{?rhel} == 7
+# fix the /usr/lib/rpm/debugedit: canonicalization unexpectedly shrank by one character
+%patch1009 -p1 -b .build-debuginfo-fix
+  %ifarch %{ix86}
+# -F dwarf not available in RHEL7's nasm
+%patch1008 -p1 -b .build-rhel7-nasm-dwarf
+  %endif
+%endif
+
+%{__rm} -f .mozconfig
+%{__cp} %{SOURCE10} .mozconfig
+# Modify mozconfig file
+%if %{official_branding}
+echo "ac_add_options --enable-official-branding" >> .mozconfig
+%endif
+%{__cp} %{SOURCE24} mozilla-api-key
+%{__cp} %{SOURCE27} google-api-key
+
+%if %{?system_nss}
+echo "ac_add_options --with-system-nspr" >> .mozconfig
+echo "ac_add_options --with-system-nss" >> .mozconfig
+%else
+echo "ac_add_options --without-system-nspr" >> .mozconfig
+echo "ac_add_options --without-system-nss" >> .mozconfig
+%endif
+
+%ifarch %{ix86} x86_64
+echo "ac_add_options --disable-elf-hack" >> .mozconfig
+%endif
+
+%if %{?system_hunspell}
+echo "ac_add_options --enable-system-hunspell" >> .mozconfig
+%endif
+
+%if %{?debug_build}
+echo "ac_add_options --enable-debug" >> .mozconfig
+echo "ac_add_options --disable-optimize" >> .mozconfig
+%else
+%global optimize_flags "-g -O2"
+%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
+
+%ifarch s390x
+echo "ac_add_options --disable-jit" >> .mozconfig
+%endif
+
+%ifnarch %{ix86}
+%if !0%{?debug_build}
+echo "ac_add_options --disable-debug-symbols" >> .mozconfig
+%endif
+%endif
+
+# AV1 requires newer nasm that was rebased in 8.4
+%if 0%{?rhel} == 7 || (0%{?rhel} == 8 && 0%{rhel_minor_version} < 4)
+echo "ac_add_options --disable-av1" >> .mozconfig
+%endif
+
+echo 'export NODEJS="%{_buildrootdir}/bin/node-stdout-nonblocking-wrapper"' >> .mozconfig
+
+cat .mozconfig
+
+# Remove executable bit to make brp-mangle-shebangs happy.
+chmod -x third_party/rust/itertools/src/lib.rs
+chmod a-x third_party/rust/gfx-backend-vulkan/src/*.rs
+chmod a-x third_party/rust/gfx-hal/src/*.rs
+chmod a-x third_party/rust/ash/src/extensions/ext/*.rs
+chmod a-x third_party/rust/ash/src/extensions/khr/*.rs
+chmod a-x third_party/rust/ash/src/extensions/mvk/*.rs
+chmod a-x third_party/rust/ash/src/extensions/nv/*.rs
+
+#---------------------------------------------------------------------
+
+%build
+# Disable LTO to work around rhbz#1883904
+%define _lto_cflags %{nil}
+ulimit -a
+free
+#set -e
+# Hack for missing shell when building in brew on RHEL6
+
+%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 %{ix86}
+            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_BUILD_OPTIONS=$4
+  export 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 $PACKAGE_BUILD_OPTIONS --rebuild $PACKAGE_SOURCE
+    cat /var/tmp/rpm-tmp*
+  fi
+
+  find $PACKAGE_DIR
+  if [ ! -f $PACKAGE_DIR/$PACKAGE_RPM ]; then
+    # Hack for tps tests
+    ARCH_STR=%{_arch}
+    %ifarch %{ix86}
+    ARCH_STR="i?86"
+    %endif
+    export PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR"
+  fi
+  pushd $PACKAGE_DIR
+
+  echo "Installing $PACKAGE_DIR/$PACKAGE_RPM"; echo "==============================="
+  pwd
+  PACKAGE_LIST=$(echo $PACKAGE_DIR/$PACKAGE_RPM | tr " " "\n")
+  for PACKAGE in $PACKAGE_LIST
+  do
+      rpm2cpio $PACKAGE | cpio -iduv
+  done
+
+  PATH=$PACKAGE_DIR/usr/bin:$PATH
+  export PATH
+  LD_LIBRARY_PATH=$PACKAGE_DIR/usr/%{_lib}:$LD_LIBRARY_PATH
+  export LD_LIBRARY_PATH
+
+  # Clean rpms to avoid including them to package
+  %if ! 0%{?avoid_bundled_rebuild}
+    rm -f $PACKAGE_FILES
+  %endif
+
+  popd
+}
+
+%if 0%{?bundle_nss}
+  rpm -ivh %{SOURCE402}
+  #rpmbuild --nodeps --define '_prefix %{bundled_install_path}' --without=tests -ba %{_specdir}/nspr.spec
+  rpmbuild --nodeps --define '_prefix %{bundled_install_path}' --without=tests -ba %{_specdir}/nspr.spec
+  pushd %{_buildrootdir}
+  install_rpms_to_current_dir nspr-4*.rpm
+  install_rpms_to_current_dir nspr-devel*.rpm
+  popd
+  echo "Setting nspr flags"
+  # nss-setup-flags-env.inc
+  sed -i 's@%{bundled_install_path}@%{_buildrootdir}%{bundled_install_path}@g' %{_buildrootdir}%{bundled_install_path}/%{_lib}/pkgconfig/nspr*.pc
+
+  export LDFLAGS="-L%{_buildrootdir}%{bundled_install_path}/%{_lib} $LDFLAGS"
+  export LDFLAGS="-Wl,-rpath,%{bundled_install_path}/%{_lib} $LDFLAGS"
+  export LDFLAGS="-Wl,-rpath-link,%{_buildrootdir}%{bundled_install_path}/%{_lib} $LDFLAGS"
+  export PKG_CONFIG_PATH=%{_buildrootdir}%{bundled_install_path}/%{_lib}/pkgconfig
+  export PATH="{_buildrootdir}%{bundled_install_path}/bin:$PATH"
+
+  export PATH=%{_buildrootdir}/%{bundled_install_path}/bin:$PATH
+  echo $PKG_CONFIG_PATH
+
+  rpm -ivh %{SOURCE403}
+  rpmbuild --nodeps --define '_prefix %{bundled_install_path}' -ba %{_specdir}/nss.spec
+  pushd %{_buildrootdir}
+  #cleanup
+  #rm -rf {_buildrootdir}/usr/lib/debug/*
+  #rm -rf {_buildrootdir}/usr/lib/.build-id
+  install_rpms_to_current_dir nss-3*.rpm
+  install_rpms_to_current_dir nss-devel*.rpm
+  install_rpms_to_current_dir nss-pkcs11-devel*.rpm
+  install_rpms_to_current_dir nss-softokn-3*.rpm
+  install_rpms_to_current_dir nss-softokn-devel*.rpm
+  install_rpms_to_current_dir nss-softokn-freebl-3*.rpm
+  install_rpms_to_current_dir nss-softokn-freebl-devel*.rpm
+  install_rpms_to_current_dir nss-util-3*.rpm
+  install_rpms_to_current_dir nss-util-devel*.rpm
+  popd
+  %filter_provides_in %{bundled_install_path}/%{_lib}
+  %filter_requires_in %{bundled_install_path}/%{_lib}
+  %filter_from_requires /libnss3.so.*/d
+  %filter_from_requires /libsmime3.so.*/d
+  %filter_from_requires /libssl3.so.*/d
+  %filter_from_requires /libnssutil3.so.*/d
+  %filter_from_requires /libnspr4.so.*/d
+  find %{_buildrootdir}
+%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 %{bundled_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
+
+function replace_prefix() {
+  FILE_NAME=$1
+  PKG_CONFIG_PREFIX=$2
+
+  cat $FILE_NAME | tail -n +2 > tmp.txt
+  echo "$PKG_CONFIG_PREFIX" > $FILE_NAME
+  cat tmp.txt >> $FILE_NAME
+  rm -rf tmp.txt
+}
+
+# We need to disable exit on error temporarily for the following scripts:
+set +e
+%if 0%{?use_dts}
+source scl_source enable devtoolset-%{dts_version}
+%endif
+%if 0%{?use_rustts}
+source scl_source enable rust-toolset-%{rust_version}
+%endif
+%if 0%{?use_nodejsts}
+source scl_source enable rh-nodejs10
+%endif
+
+env
+which gcc
+which c++
+which g++
+which ld
+which nasm
+# Build and install local node if needed
+# ======================================
+export MOZ_NODEJS=`which node`
+
+mkdir -p my_rust_vendor
+cd my_rust_vendor
+%{__tar} xf %{SOURCE2}
+cd -
+mkdir -p .cargo
+cat > .cargo/config <<EOL
+[source.crates-io]
+replace-with = "vendored-sources"
+
+[source.vendored-sources]
+directory = "`pwd`/my_rust_vendor"
+EOL
+
+export CARGO_HOME=.cargo
+cargo install cbindgen
+export PATH=`pwd`/.cargo/bin:$PATH
+export CBINDGEN=`pwd`/.cargo/bin/cbindgen
+
+# debug missing sqlite3 python module
+export MACH_USE_SYSTEM_PYTHON=1
+./mach python -c "import sys;print(sys.path)"
+
+mkdir %{_buildrootdir}/bin || :
+cp %{SOURCE28} %{_buildrootdir}/bin || :
+chmod +x %{_buildrootdir}/bin/node-stdout-nonblocking-wrapper
+
+# 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 %{?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
+
+# We don't wantfirefox to use CK_GCM_PARAMS_V3 in nss
+MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -DNSS_PKCS11_3_0_STRICT"
+
+%if !%{build_with_clang}
+  %ifarch aarch64 %{ix86} x86_64 s390x
+    MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
+  %endif
+  %ifarch %{ix86}
+    MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--strip-debug"
+    echo "ac_add_options --enable-linker=gold" >> .mozconfig
+  %endif
+%endif
+
+%if 0%{?bundle_nss}
+  mkdir -p %{_buildrootdir}%{bundled_install_path}/%{_lib}
+  MOZ_LINK_FLAGS="-L%{_buildrootdir}%{bundled_install_path}/%{_lib} $MOZ_LINK_FLAGS"
+  MOZ_LINK_FLAGS="-Wl,-rpath,%{bundled_install_path}/%{_lib} $MOZ_LINK_FLAGS"
+  MOZ_LINK_FLAGS="-Wl,-rpath-link,%{_buildrootdir}%{bundled_install_path}/%{_lib} $MOZ_LINK_FLAGS"
+%endif
+
+%ifarch %{ix86}
+  export RUSTFLAGS="-Cdebuginfo=0"
+  echo 'export RUSTFLAGS="-Cdebuginfo=0"' >> .mozconfig
+%endif
+
+export PREFIX='%{_prefix}'
+export LIBDIR='%{_libdir}'
+export CC=gcc
+export CXX=g++
+echo "export CFLAGS=\"$MOZ_OPT_FLAGS\"" >> .mozconfig
+echo "export CXXFLAGS=\"$MOZ_OPT_FLAGS\"" >> .mozconfig
+echo "export LDFLAGS=\"$MOZ_LINK_FLAGS\"" >> .mozconfig
+
+%if %{build_with_clang}
+  echo "export LLVM_PROFDATA=\"llvm-profdata\"" >> .mozconfig
+  echo "export AR=\"llvm-ar\"" >> .mozconfig
+  echo "export NM=\"llvm-nm\"" >> .mozconfig
+  echo "export RANLIB=\"llvm-ranlib\"" >> .mozconfig
+  echo "ac_add_options --enable-linker=lld" >> .mozconfig
+%else
+  echo "export CC=gcc" >> .mozconfig
+  echo "export CXX=g++" >> .mozconfig
+  echo "export AR=\"gcc-ar\"" >> .mozconfig
+  echo "export NM=\"gcc-nm\"" >> .mozconfig
+  echo "export RANLIB=\"gcc-ranlib\"" >> .mozconfig
+%endif
+
+MOZ_SMP_FLAGS=-j1
+# More than two build tasks can lead to OOM gcc crash.
+%if 0%{?rhel} < 8
+  [ -z "$RPM_BUILD_NCPUS" ] && \
+       RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"
+  [ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2
+%else
+  %ifarch %{ix86} x86_64 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=-j3
+    [ "$RPM_BUILD_NCPUS" -ge 8 ] && MOZ_SMP_FLAGS=-j3
+  %endif
+%endif
+
+cat /proc/meminfo
+# Free memory in kB
+
+# Free memory in kB
+if grep -q MemAvailable /proc/meminfo; then
+    MEM_AVAILABLE=$(grep MemAvailable /proc/meminfo | awk '{ print $2 }')
+else
+    MEM_AVAILABLE=$(grep MemFree /proc/meminfo | awk '{ print $2 }')
+fi
+
+# Usually the compiler processes can take 2 GB of memory at peaks
+TASK_SIZE=4000000
+MEM_CONSTRAINED_JOBS=$(( MEM_AVAILABLE / TASK_SIZE ))
+
+if [ $MEM_CONSTRAINED_JOBS -le 0 ]; then
+  MEM_CONSTRAINED_JOBS=1
+fi
+
+CPU_AVAILABLE=$(/usr/bin/getconf _NPROCESSORS_ONLN)
+# Pick the minimum from available CPUs or memory constrained number of jobs
+MOZ_SMP_FLAGS=-j$([ "$CPU_AVAILABLE" -le "$MEM_CONSTRAINED_JOBS" ] && echo "$CPU_AVAILABLE" || echo "$MEM_CONSTRAINED_JOBS")
+
+# override smp flags to the rpmbuild defaults ATM
+%ifnarch ppc64le
+MOZ_SMP_FLAGS=%{_smp_mflags}
+%endif
+
+%ifarch s390x
+MOZ_SMP_FLAGS=-j2
+%endif
+
+%if 0%{?bundle_nss}
+  echo "Setting nss flags"
+  # nss-setup-flags-env.inc
+  %include_file %{SOURCE401}
+  export PATH=%{_buildrootdir}/%{bundled_install_path}/bin:$PATH
+  echo $PKG_CONFIG_PATH
+%endif
+
+export MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS"
+#export MOZ_SERVICES_SYNC="1"
+# we need to strip the sources on i686 because to we don't use rpm to generate debugsymbols because of oom
+%ifnarch %{ix86}
+  export STRIP=/bin/true
+%endif
+which node
+echo 'export NODEJS="%{_buildrootdir}/bin/node-stdout-nonblocking-wrapper"'
+env
+ls %{_buildrootdir}
+
+export MACH_USE_SYSTEM_PYTHON=1
+%if 0%{?use_llvmts}
+  #scl enable llvm-toolset-%{llvm_version} './mach build -v'
+  ./mach build -v || exit 1
+%else
+  ./mach build -v || exit 1
+%endif
+# Look for the reason we get: /usr/lib/rpm/debugedit: canonicalization unexpectedly shrank by one character
+readelf -wl objdir/dist/bin/libxul.so | grep "/"
+
+#---------------------------------------------------------------------
+
+%install
+export MACH_USE_SYSTEM_PYTHON=1
+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 %{ix86}
+            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
+}
+
+%if 0%{?bundle_nss}
+  pushd %{buildroot}
+  #install_rpms_to_current_dir nss-*.rpm
+  install_rpms_to_current_dir nspr-4*.rpm
+  install_rpms_to_current_dir nss-3*.rpm
+  install_rpms_to_current_dir nss-softokn-3*.rpm
+  install_rpms_to_current_dir nss-softokn-freebl-3*.rpm
+  install_rpms_to_current_dir nss-util-3*.rpm
+
+  # cleanup unecessary nss files
+  #rm -rf %{_buildrootdir}/%{bundled_install_path}/bin
+  #rm -rf %{_buildrootdir}/%{bundled_install_path}/include
+  rm -rf %{buildroot}/%{bundled_install_path}/lib/dracut
+  rm -rf %{buildroot}/%{bundled_install_path}/%{_lib}/nss
+  #rm -rf %{_buildrootdir}/%{bundled_install_path}/%{_lib}/pkgconfig
+  rm -rf %{buildroot}/%{bundled_install_path}/%{_lib}/share
+  rm -rf %{buildroot}/%{bundled_install_path}/share
+  rm -rf %{buildroot}/etc/pki
+  rm -rf %{buildroot}/usr/lib/.build-id
+  rm -rf %{buildroot}/etc/crypto-policies
+  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
+sed -i -e 's|%PREFIX%|%{_prefix}|' %{buildroot}%{_bindir}/thunderbird
+sed -i -e 's|%RHEL_ENV_VARS%||' %{buildroot}%{_bindir}/thunderbird
+%{__chmod} 755 %{buildroot}%{_bindir}/thunderbird
+
+%{__cat} %{SOURCE701} | %{__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 -qq $langpack -d $extensionID
+  find $extensionID -type f | xargs chmod 644
+
+  cd $extensionID
+  zip -qq -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
+
+echo "Adding following langpacks:"
+cat %{name}.lang
+%endif
+
+# 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-*
+
+
+# Removing librnp.so - we cannot deliver that in RHELs
+%{__rm} -rf %{buildroot}%{mozappdir}/librnp.so
+
+# Register as an application to be visible in the software center
+mkdir -p $RPM_BUILD_ROOT%{_datadir}/metainfo
+%{__cp} -p comm/mail/branding/%{name}/net.thunderbird.Thunderbird.appdata.xml $RPM_BUILD_ROOT%{_datadir}/metainfo/thunderbird.appdata.xml
+sed -i -e 's|<icon .*|<icon type="stock">thunderbird</icon>|' "$RPM_BUILD_ROOT%{_datadir}/metainfo/thunderbird.appdata.xml"
+
+#===============================================================================
+
+%post
+update-desktop-database &> /dev/null || :
+touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
+
+%postun
+update-desktop-database &> /dev/null || :
+if [ $1 -eq 0 ] ; then
+    touch --no-create %{_datadir}/icons/hicolor &>/dev/null
+    gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
+fi
+
+%posttrans
+gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
+
+#===============================================================================
+%files -f %{name}.lang
+%defattr(-,root,root,-)
+%attr(755,root,root) %{_bindir}/thunderbird
+%{_datadir}/metainfo/*.appdata.xml
+%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
+%if %{build_langpacks}
+%dir %{langpackdir}
+%endif
+
+%{mozappdir}/omni.ja
+%{mozappdir}/plugin-container
+%{mozappdir}/defaults
+%{mozappdir}/dictionaries
+%{mozappdir}/greprefs
+%{mozappdir}/isp
+%{mozappdir}/thunderbird-bin
+%{mozappdir}/thunderbird
+%{mozappdir}/*.so
+%{mozappdir}/platform.ini
+%{mozappdir}/application.ini
+%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}/dependentlibs.list
+%{mozappdir}/fonts/TwemojiMozilla.ttf
+
+%if !%{?system_nss}
+%exclude %{mozappdir}/libnssckbi.so
+%endif
+%if 0%{use_bundled_ffi}
+%{mozappdir}/bundled/%{_lib}/libffi.so*
+%exclude %{_datadir}/doc/libffi*
+%endif
+
+%if 0%{?bundle_nss}
+%{mozappdir}/bundled/%{_lib}/libfreebl*
+%{mozappdir}/bundled/%{_lib}/libnss3*
+%{mozappdir}/bundled/%{_lib}/libnssdbm3*
+%{mozappdir}/bundled/%{_lib}/libnssutil3*
+%{mozappdir}/bundled/%{_lib}/libsmime3*
+%{mozappdir}/bundled/%{_lib}/libsoftokn*
+%{mozappdir}/bundled/%{_lib}/libssl3*
+%{mozappdir}/bundled/%{_lib}/libnspr4.so
+%{mozappdir}/bundled/%{_lib}/libplc4.so
+%{mozappdir}/bundled/%{_lib}/libplds4.so
+%endif
+
+#===============================================================================
+
+%changelog
+* Tue Apr 05 2022 Eike Rathke <erack@redhat.com> - 91.8.0-1
+- Update to 91.8.0
+
+* Tue Mar 08 2022 Eike Rathke <erack@redhat.com> - 91.7.0-2
+- Update to 91.7.0 build2
+
+* Thu Mar 03 2022 Eike Rathke <erack@redhat.com> - 91.7.0-1
+- Update to 91.7.0 build1
+
+* Fri Feb 11 2022 Jan Horak <jhorak@redhat.com> - 91.6.0-2
+- Move appdata to metainfo and use stock icon instead of remote
+
+* Mon Feb 07 2022 Eike Rathke <erack@redhat.com> - 91.6.0-1
+- Update to 91.6.0 build1
+
+* Tue Jan 18 2022 Jan Horak <jhorak@redhat.com> - 91.5.0-3
+- Using upstream appdata file
+
+* Fri Jan 14 2022 Jan Horak <jhorak@redhat.com> - 91.5.0-2
+- Enabled optimalization for s390x
+
+* Fri Jan 07 2022 Eike Rathke <erack@redhat.com> - 91.5.0-1
+- Update to 91.5.0 build1
+
+* Mon Dec 06 2021 Eike Rathke <erack@redhat.com> - 91.4.0-2
+- Update to 91.4.0 build2
+
+* Wed Dec 01 2021 Eike Rathke <erack@redhat.com> - 91.4.0-1
+- Update to 91.4.0 build1
+
+* Tue Nov 02 2021 Eike Rathke <erack@redhat.com> - 91.3.0-2
+- Update to 91.3.0 build2
+
+* Mon Nov 01 2021 Eike Rathke <erack@redhat.com> - 91.3.0-1
+- Update to 91.3.0 build1
+
+* Fri Oct 08 2021 Eike Rathke <erack@redhat.com> - 91.2.0-1
+- Update to 91.2.0
+
+* Tue Sep 07 2021 Eike Rathke <erack@redhat.com> - 78.14.0-1
+- Update to 78.14.0
+
+* Thu Aug 19 2021 Carlos O'Donell <codonell@redhat.com> - 78.13.0-2
+- Rebuilt for libffi 3.4.2 SONAME transition.
+  Related: rhbz#1891914
+
+* Tue Aug 10 2021 Eike Rathke <erack@redhat.com> - 78.13.0-1
+- Update to 78.13.0
+
+* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 78.12.0-4
+- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
+  Related: rhbz#1991688
+
+* Fri Jul 30 2021 Tomas Popela <tpopela@redhat.com> - 78.12.0-3
+- Add script to process the official tarball to comply with PELC review
+- Fix the build with newer glibc
+
+* Mon Jul 12 2021 Eike Rathke <erack@redhat.com> - 78.12.0-2
+- Update to 78.12.0 build2
+
+* Thu Jul 08 2021 Eike Rathke <erack@redhat.com> - 78.12.0-1
+- Update to 78.12.0 build1
+
+* Wed Jun 30 2021 Jan Horak <jhorak@redhat.com> - 78.11.0-2
+- Added bundled libraries, update to 78.11
+
+* Tue Jun 22 2021 Mohan Boddu <mboddu@redhat.com> - 78.8.0-5
+- Rebuilt for RHEL 9 BETA for openssl 3.0
+  Related: rhbz#1971065
+
+* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 78.8.0-4
+- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
+- Fixing MOZ_SMP_FLAGS
+
+* Mon Mar 01 2021 Jan Horak <jhorak@redhat.com> - 78.8.0-2
+- Removed autoconf213 dependency
+
+* Mon Feb 22 2021 Jan Horak <jhorak@redhat.com> - 78.8.0-1
+- Update to 78.8.0 build1
+
+* Tue Jan 12 2021 Eike Rathke <erack@redhat.com> - 78.6.1-1
+- Update to 78.6.1
+
+* Tue Dec 15 2020 Eike Rathke <erack@redhat.com> - 78.6.0-1
+- Update to 78.6.0
+
+* Fri Dec 04 2020 Jan Horak <jhorak@redhat.com> - 78.5.1-1
+- Update to 78.5.1 build1
+
+* Wed Nov 18 2020 Eike Rathke <erack@redhat.com> - 78.5.0-1
+- Update to 78.5.0 build3
+
+* Thu Nov 12 2020 Eike Rathke <erack@redhat.com> - 78.4.3-1
+- Update to 78.4.3
+
+* Wed Oct 21 2020 Eike Rathke <erack@redhat.com> - 78.4.0-1
+- Update to 78.4.0 build1
+- Disabled telemetry
+
+* Tue Sep 29 2020 Jan Horak <jhorak@redhat.com> - 78.3.1-1
+- Update to 78.3.1 build1
+
+* Sat Sep 19 2020 Jan Horak <jhorak@redhat.com> - 78.3.0-3
+- Update to 78.3.0 build1
+- Remove librdp.so as long as we cannot ship it in RHEL
+
+* Tue Sep 08 2020 Jan Horak <jhorak@redhat.com> - 78.2.1-1
+- Update to 78.2.1 build1
+
+* Wed Sep 02 2020 Jan Horak <jhorak@redhat.com> - 68.12.0-1
+- Update to 68.12.0 build1
+
+* Tue Aug 04 2020 Jan Horak <jhorak@redhat.com> - 68.11.0-1
+- Update to 68.11.0 build1
+
+* Wed Jul 08 2020 Jan Horak <jhorak@redhat.com> - 68.10.0-1
+- Update to 68.10.0 build1
+
+* Fri Jun 05 2020 Jan Horak <jhorak@redhat.com> - 68.9.0-1
+- Update to 68.9.0 build1
+
+* Tue May 05 2020 Jan Horak <jhorak@redhat.com> - 68.8.0-1
+- Update to 68.8.0 build2
+
+* Tue Apr 14 2020 Jan Horak <jhorak@redhat.com> - 68.7.0-1
+- Update to 68.7.0 build1
+
+* Fri Mar 13 2020 Jan Horak <jhorak@redhat.com> - 68.6.0-1
+- Update to 68.6.0 build2
+
+* Thu Feb 13 2020 Jan Horak <jhorak@redhat.com> - 68.5.0-1
+- Update to 68.5.0 build1
+
+* Mon Jan 13 2020 Jan Horak <jhorak@redhat.com> - 68.4.1-2
+- Update to 68.4.1 build1
+
+* Mon Dec 02 2019 Jan Horak <jhorak@redhat.com> - 68.3.0-2
+- Update to 68.3.0 build2
+
+* Fri Oct 25 2019 Jan Horak <jhorak@redhat.com> - 68.2.0-2
+- Added patch for TLS 1.3 support.
+
+* Tue Oct 22 2019 Jan Horak <jhorak@redhat.com> - 68.2.0-1
+- Update to 68.2.0
+
+* Thu Oct  3 2019 Jan Horak <jhorak@redhat.com> - 68.1.1-2
+- Update to 68.1.1
+
+* Wed Sep  4 2019 Jan Horak <jhorak@redhat.com> - 60.9.0-2
+- Update to 60.9.0
+
+* Thu Jul 4 2019 Martin Stransky <stransky@redhat.com> - 60.8.0-1
+- Updated to 60.8.0
+
+* Wed Jul 3 2019 Martin Stransky <stransky@redhat.com> - 60.7.2-3
+- Rebuild to fix rhbz#1725919 - Thunderbird fails to authenticate
+  with gmail with ssl/tls and OAuth2.
+
+* Fri Jun 21 2019 Jan Horak <jhorak@redhat.com> - 60.7.2-2
+- Update to 60.7.2 build2
+
+* Thu Jun 20 2019 Jan Horak <jhorak@redhat.com> - 60.7.2-1
+- Update to 60.7.2
+
+* Tue Jun 18 2019 Jan Horak <jhorak@redhat.com> - 60.7.1-1
+- Update to 60.7.1
+
+* Mon May 27 2019 Martin Stransky <stransky@redhat.com> - 60.7.0-1
+- Update to 60.7.0
+
+* Mon Mar 25 2019 Martin Stransky <stransky@redhat.com> - 60.6.1-1
+- Update to 60.6.1
+
+* Tue Mar 19 2019 Martin Stransky <stransky@redhat.com> - 60.6.0-1
+- Update to 60.6.0
+
+* Tue Jan 29 2019 Martin Stransky <stransky@redhat.com> - 60.5.0-1
+- Update to 60.5.0
+
+* Thu Jan  3 2019 Jan Horak <jhorak@redhat.com> - 60.4.0-1
+- Update to 60.4.0
+
+* Wed Oct 31 2018 Jan Horak <jhorak@redhat.com> - 60.3.0-1
+- Update to 60.3.0
+
+* Wed Oct 31 2018 Jan Horak <jhorak@redhat.com> - 60.2.1-6
+- Fixed missing calendar langpacks
+
+* Tue Oct 16 2018 Jan Horak <jhorak@redhat.com> - 60.2.1-5
+- Fixing minor issues
+
+* Wed Oct 10 2018 Jan Horak <jhorak@redhat.com> - 60.2.1-3
+- Reverting deleting of key3db
+
+* Wed Oct  3 2018 Jan Horak <jhorak@redhat.com> - 60.2.1-2
+- Update to 60.2.1
+- Added fix for rhbz#1546988
+
+* Fri Sep 14 2018 Jan Horak <jhorak@redhat.com> - 60.0-1
+- Rebase to version 60
+
+* Tue Jul 10 2018 Jan Horak <jhorak@redhat.com> - 52.9.1-1
+- Update to 52.9.1
+
+* Thu May 17 2018 Jan Horak <jhorak@redhat.com> - 52.8.0-2
+- Update to 52.8.0
+
+* Mon Mar 26 2018 Jan Horak <jhorak@redhat.com> - 52.7.0-1
+- Update to 52.7.0
+
+* Fri Jan 26 2018 Jan Horak <jhorak@redhat.com> - 52.6.0-1
+- Update to 52.6.0
+
+* Tue Jan  2 2018 Jan Horak <jhorak@redhat.com> - 52.5.2-1
+- Update to 52.5.2
+
+* Mon Nov 27 2017 Jan Horak <jhorak@redhat.com> - 52.5.0-1
+- Update to 52.5.0
+
+* Wed Oct  4 2017 Jan Horak <jhorak@redhat.com> - 52.4.0-2
+- Update to 52.4.0 (b2)
+
+* Mon Aug 21 2017 Jan Horak <jhorak@redhat.com> - 52.3.0-1
+- Update to 52.3.0
+
+* Thu Jun 29 2017 Jan Horak <jhorak@redhat.com> - 52.2.1-1
+- Update to 52.2.1
+
+* Thu Jun 15 2017 Jan Horak <jhorak@redhat.com> - 52.2.0-1
+- Update to 52.2.0
+
+* Tue May  2 2017 Jan Horak <jhorak@redhat.com> - 52.1.0-1
+- Update to 52.1.0
+
+* Thu Apr 13 2017 Jan Horak <jhorak@redhat.com> - 52.0.1-1
+- Update to 52.0.1
+
+* Tue Mar  7 2017 Jan Horak <jhorak@redhat.com> - 45.8.0-1
+- Update to 45.8.0
+
+* Thu Jan 26 2017 Jan Horak <jhorak@redhat.com> - 45.7.0-1
+- Update to 45.7.0
+
+* Fri Dec 16 2016 Martin Stransky <stransky@redhat.com> - 45.6.0-1
+- Update to the latest upstream (45.6.0)
+
+* Thu Dec  1 2016 Jan Horak <jhorak@redhat.com> - 45.5.1-1
+- Update to 45.5.1
+
+* Fri Nov 18 2016 Jan Horak <jhorak@redhat.com> - 45.5.0-1
+- Update to 45.5.0
+
+* Thu Sep 29 2016 Jan Horak <jhorak@redhat.com> - 45.4.0-1
+- Update to 45.4.0
+
+* Fri Aug 26 2016 Jan Horak <jhorak@redhat.com> - 45.3.0-1
+- Update to 45.3.0
+
+* Wed Jun 29 2016 Jan Horak <jhorak@redhat.com> - 45.2-1
+- Update to 45.2
+
+* Mon Jun  6 2016 Jan Horak <jhorak@redhat.com> - 45.1.1-1
+- Update to 45.1.1
+
+* Mon Jun 06 2016 Jan Horak <jhorak@redhat.com> - 45.1.0-5
+- Do not add symlinks to some langpacks
+
+* Tue May 17 2016 Jan Horak <jhorak@redhat.com> - 45.1.0-4
+- Update to 45.1.0
+
+* Tue Apr 26 2016 Jan Horak <jhorak@redhat.com> - 45.0-5
+- Update to 45.0
+
+* Tue Sep 29 2015 Jan Horak <jhorak@redhat.com> - 38.3.0-1
+- Update to 38.3.0
+
+* Fri Aug 14 2015 Jan Horak <jhorak@redhat.com> - 38.2.0-1
+- Update to 38.2.0
+
+* Wed Jul 15 2015 Jan Horak <jhorak@redhat.com> - 38.1.0-2
+- Rebase to 38.1.0
+
+* Wed Jul 15 2015 Jan Horak <jhorak@redhat.com> - 31.8.0-1
+- Update to 31.8.0
+
+* Sun May 10 2015 Jan Horak <jhorak@redhat.com> - 31.7.0-1
+- Update to 31.7.0
+
+* Tue Mar 31 2015 Jan Horak <jhorak@redhat.com> - 31.6.0-1
+- Update to 31.6.0
+
+* Mon Feb 23 2015 Jan Horak <jhorak@redhat.com> - 31.5.0-2
+- Update to 31.5.0
+
+* Sat Jan 10 2015 Jan Horak <jhorak@redhat.com> - 31.4.0-1
+- Update to 31.4.0
+
+* Mon Dec 22 2014 Jan Horak <jhorak@redhat.com> - 31.3.0-2
+- Fixed problems with dictionaries (mozbz#1097550)
+
+* Fri Nov 28 2014 Jan Horak <jhorak@redhat.com> - 31.3.0-1
+- Update to 31.3.0
+
+* Thu Oct 30 2014 Jan Horak <jhorak@redhat.com> - 31.2.0-2
+- Update to 31.2.0
+
+* Wed Oct 1 2014 Martin Stransky <stransky@redhat.com> - 31.1.1-5
+- Sync preferences with Firefox
+
+* Thu Sep 18 2014 Yaakov Selkowitz <yselkowi@redhat.com> - 31.1.1-4
+- Fix dependency generation for internal libraries (#1140471)
+
+* Fri Sep 12 2014 Jan Horak <jhorak@redhat.com> - 31.1.1-3
+- Update to 31.1.1
+
+* Tue Sep  9 2014 Jan Horak <jhorak@redhat.com> - 31.1.0-4
+- Use  system libffi
+
+* Wed Sep  3 2014 Jan Horak <jhorak@redhat.com> - 31.1.0-2
+- Added fix for ppc64le
+
+* Mon Sep  1 2014 Jan Horak <jhorak@redhat.com> - 31.1.0-1
+- Update to 31.1.0
+
+* Wed Jul 30 2014 Martin Stransky <stransky@redhat.com> - 31.0-2
+- Added patch for mozbz#858919
+
+* Tue Jul 29 2014 Martin Stransky <stransky@redhat.com> - 31.0-1
+- Update to 31.0
+
+* Tue Jul 22 2014 Jan Horak <jhorak@redhat.com> - 24.7.0-1
+- Update to 24.7.0
+
+* Mon Jun  9 2014 Jan Horak <jhorak@redhat.com> - 24.6.0-1
+- Update to 24.6.0
+
+* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 24.5.0-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Fri May 23 2014 Brent Baude <baude@us.ibm.com> - 24.5.0-5
+- Moving the ppc64 conditional up before the cd so it will
+- apply cleanly
+
+* Fri May 23 2014 Martin Stransky <stransky@redhat.com> - 24.5.0-4
+- Added a build fix for ppc64 - rhbz#1100495
+
+* Mon May  5 2014 Jan Horak <jhorak@redhat.com> - 24.5.0-3
+- Fixed find requires
+
+* Mon Apr 28 2014 Jan Horak <jhorak@redhat.com> - 24.5.0-1
+- Update to 24.5.0
+
+* Tue Apr 22 2014 Jan Horak <jhorak@redhat.com> - 24.4.0-2
+- Added support for ppc64le
+
+* Tue Mar 18 2014 Jan Horak <jhorak@redhat.com> - 24.4.0-1
+- Update to 24.4.0
+
+* Mon Feb  3 2014 Jan Horak <jhorak@redhat.com> - 24.3.0-1
+- Update to 24.3.0
+
+* Mon Dec 16 2013 Martin Stransky <stransky@redhat.com> - 24.2.0-4
+- Fixed rhbz#1024232 - thunderbird: squiggly lines used
+  for spelling correction disappear randomly
+
+* Fri Dec 13 2013 Martin Stransky <stransky@redhat.com> - 24.2.0-3
+- Build with -Werror=format-security (rhbz#1037353)
+
+* Wed Dec 11 2013 Martin Stransky <stransky@redhat.com> - 24.2.0-2
+- rhbz#1001998 - added a workaround for system notifications
+
+* Mon Dec  9 2013 Jan Horak <jhorak@redhat.com> - 24.2.0-1
+- Update to 24.2.0
+
+* Sat Nov 02 2013 Dennis Gilmore <dennis@ausil.us> - 24.1.0-2
+- remove ExcludeArch: armv7hl
+
+* Wed Oct 30 2013 Jan Horak <jhorak@redhat.com> - 24.1.0-1
+- Update to 24.1.0
+
+* Thu Oct 17 2013 Martin Stransky <stransky@redhat.com> - 24.0-4
+- Fixed rhbz#1005611 - BEAST workaround not enabled in Firefox
+
+* Wed Sep 25 2013 Jan Horak <jhorak@redhat.com> - 24.0-3
+- Update to 24.0
+
+* Mon Sep 23 2013 Jan Horak <jhorak@redhat.com> - 17.0.9-1
+- Update to 17.0.9 ESR
+
+* Mon Aug  5 2013 Jan Horak <jhorak@redhat.com> - 17.0.8-1
+- Update to 17.0.8
+
+* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 17.0.7-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Tue Jun 25 2013 Jan Horak <jhorak@redhat.com> - 17.0.7-1
+- Update to 17.0.7
+
+* Wed Jun 12 2013 Jan Horak <jhorak@redhat.com> - 17.0.6-2
+- Fixed rhbz#973371 - unable to install addons
+
+* Tue May 14 2013 Jan Horak <jhorak@redhat.com> - 17.0.6-1
+- Update to 17.0.6
+
+* Tue Apr  2 2013 Jan Horak <jhorak@redhat.com> - 17.0.5-1
+- Update to 17.0.5
+
+* Mon Mar 11 2013 Jan Horak <jhorak@redhat.com> - 17.0.4-1
+- Update to 17.0.4
+
+* Tue Feb 19 2013 Jan Horak <jhorak@redhat.com> - 17.0.3-1
+- Update to 17.0.3
+
+* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 17.0.2-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Tue Jan 15 2013 Martin Stransky <stransky@redhat.com> - 17.0.2-3
+- Added fix for NM regression (mozbz#791626)
+
+* Tue Jan 15 2013 Jan Horak <jhorak@redhat.com> - 17.0.2-2
+- Added mozilla-746112 patch to fix crash on ppc(64)
+
+* Thu Jan 10 2013 Jan Horak <jhorak@redhat.com> - 17.0.2-1
+- Update to 17.0.2
+
+* Mon Nov 19 2012 Jan Horak <jhorak@redhat.com> - 17.0-1
+- Update to 17.0
+
+* Mon Oct 29 2012 Jan Horak <jhorak@redhat.com> - 16.0.2-1
+- Update to 16.0.2
+
+* Tue Oct 16 2012 Jan Horak <jhorak@redhat.com> - 16.0.1-2
+- Fixed nss and nspr versions
+
+* Thu Oct 11 2012 Jan Horak <jhorak@redhat.com> - 16.0.1-1
+- Update to 16.0.1
+
+* Tue Oct  9 2012 Jan Horak <jhorak@redhat.com> - 16.0-1
+- Update to 16.0
+
+* Tue Sep 18 2012 Dan Horák <dan[at]danny.cz> - 15.0.1-3
+- Added fix for rhbz#855923 - TB freezes on Fedora 18 for PPC64
+
+* Fri Sep 14 2012 Martin Stransky <stransky@redhat.com> - 15.0.1-2
+- Added build flags for second arches
+
+* Tue Sep 11 2012 Jan Horak <jhorak@redhat.com> - 15.0.1-1
+- Update to 15.0.1
+
+* Fri Sep  7 2012 Jan Horak <jhorak@redhat.com> - 15.0-2
+- Added workaround fix for PPC (rbhz#852698)
+
+* Mon Aug 27 2012 Jan Horak <jhorak@redhat.com> - 15.0-1
+- Update to 15.0
+
+* Wed Aug 1 2012 Martin Stransky <stransky@redhat.com> - 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 <rel-eng@lists.fedoraproject.org> - 14.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Tue Jul 17 2012 Jan Horak <jhorak@redhat.com> - 14.0-1
+- Update to 14.0
+
+* Fri Jun 15 2012 Jan Horak <jhorak@redhat.com> - 13.0.1-1
+- Update to 13.0.1
+
+* Tue Jun  5 2012 Jan Horak <jhorak@redhat.com> - 13.0-1
+- Update to 13.0
+
+* Mon May 7 2012 Martin Stransky <stransky@redhat.com> - 12.0.1-2
+- Fixed #717245 - adhere Static Library Packaging Guidelines
+
+* Mon Apr 30 2012 Jan Horak <jhorak@redhat.com> - 12.0.1-1
+- Update to 12.0.1
+
+* Tue Apr 24 2012 Jan Horak <jhorak@redhat.com> - 12.0-1
+- Update to 12.0
+
+* Mon Apr 16 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 11.0.1-2
+- Add upstream patch to fix FTBFS on ARM
+
+* Thu Mar 29 2012 Jan Horak <jhorak@redhat.com> - 11.0.1-1
+- Update to 11.0.1
+
+* Thu Mar 22 2012 Jan Horak <jhorak@redhat.com> - 11.0-6
+- Added translations to thunderbird.desktop file
+
+* Fri Mar 16 2012 Martin Stransky <stransky@redhat.com> - 11.0-5
+- gcc 4.7 build fixes
+
+* Wed Mar 14 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 11.0-4
+- Add ARM configuration options
+
+* Wed Mar 14 2012 Martin Stransky <stransky@redhat.com> - 11.0-3
+- Build with system libvpx
+
+* Tue Mar 13 2012 Martin Stransky <stransky@redhat.com> - 11.0-1
+- Update to 11.0
+
+* Thu Feb 23 2012 Jan Horak <jhorak@redhat.com> - 10.0.1-3
+- Added fix for proxy settings mozbz#682832
+
+* Thu Feb 16 2012 Martin Stransky <stransky@redhat.com> - 10.0.1-2
+- Added fix for mozbz#727401
+
+* Thu Feb  9 2012 Jan Horak <jhorak@redhat.com> - 10.0.1-1
+- Update to 10.0.1
+
+* Mon Feb 6 2012 Martin Stransky <stransky@redhat.com> - 10.0-2
+- gcc 4.7 build fixes
+
+* Tue Jan 31 2012 Jan Horak <jhorak@redhat.com> - 10.0-1
+- Update to 10.0
+
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 9.0-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Thu Jan 05 2012 Dan Horák <dan[at]danny.cz> - 9.0-6
+- disable jemalloc on s390(x) (taken from xulrunner)
+
+* Wed Jan 04 2012 Dan Horák <dan[at]danny.cz> - 9.0-5
+- fix build on secondary arches (cherry-picked from 13afcd4c097c)
+
+* Thu Dec 22 2011 Jan Horak <jhorak@redhat.com> - 9.0-4
+- Update to 9.0
+
+* Fri Dec 9 2011 Martin Stransky <stransky@redhat.com> - 8.0-4
+- enabled gio support (#760644)
+
+* Tue Nov 29 2011 Jan Horak <jhorak@redhat.com> - 8.0-3
+- Fixed s390x issues
+
+* Thu Nov 10 2011 Jan Horak <jhorak@redhat.com> - 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 <jhorak@redhat.com> - 8.0-1
+- Update to 8.0
+
+* Tue Oct 18 2011 Martin Stransky <stransky@redhat.com> - 7.0.1-3
+- Added NM patches (mozbz#627672, mozbz#639959)
+
+* Wed Oct 12 2011 Dan Horák <dan[at]danny.cz> - 7.0.1-2
+- fix build on secondary arches (copied from xulrunner)
+
+* Fri Sep 30 2011 Jan Horak <jhorak@redhat.com> - 7.0.1-1
+- Update to 7.0.1
+
+* Tue Sep 27 2011 Jan Horak <jhorak@redhat.com> - 7.0-1
+- Update to 7.0
+
+* Tue Sep  6 2011 Jan Horak <jhorak@redhat.com> - 6.0.2-1
+- Update to 6.0.2
+
+* Wed Aug 31 2011 Jan Horak <jhorak@redhat.com> - 6.0-3
+- Distrust a specific Certificate Authority
+
+* Wed Aug 31 2011 Dan Horák <dan[at]danny.cz> - 6.0-2
+- add secondary-ipc patch from xulrunner
+
+* Tue Aug 16 2011 Jan Horak <jhorak@redhat.com> - 6.0-1
+- Update to 6.0
+
+* Tue Aug 16 2011 Remi Collet <remi@fedoraproject.org> 5.0-4
+- Don't unzip the langpacks
+
+* Mon Aug 15 2011 Jan Horak <jhorak@redhat.com> - 5.0-3
+- Rebuild due to rhbz#728707
+
+* Wed Jul 20 2011 Dan Horák <dan[at]danny.cz> - 5.0-2
+- add xulrunner patches for secondary arches
+
+* Tue Jun 28 2011 Jan Horak <jhorak@redhat.com> - 5.0-1
+- Update to 5.0
+
+* Tue Jun 21 2011 Jan Horak <jhorak@redhat.com> - 3.1.11-1
+- Update to 3.1.11
+
+* Wed May 25 2011 Caolán McNamara <caolanm@redhat.com> - 3.1.10-2
+- rebuild for new hunspell
+
+* Thu Apr 28 2011 Jan Horak <jhorak@redhat.com> - 3.1.10-1
+- Update to 3.1.10
+
+* Thu Apr 21 2011 Christopher Aillon <caillon@redhat.com> - 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 <caillon@redhat.com> - 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 <orion@cora.nwra.com> - 3.1.9-5
+- Enable startup notification
+
+* Sun Mar 20 2011 Dan Horák <dan[at]danny.cz> - 3.1.9-4
+- updated the s390 build patch
+
+* Fri Mar 18 2011 Jan Horak <jhorak@redhat.com> - 3.1.9-3
+- Removed gnome-vfs2, libgnomeui and libgnome from build requires
+
+* Wed Mar  9 2011 Jan Horak <jhorak@redhat.com> - 3.1.9-2
+- Disabled gnomevfs, enabled gio
+
+* Mon Mar  7 2011 Jan Horak <jhorak@redhat.com> - 3.1.9-1
+- Update to 3.1.9
+
+* Tue Mar  1 2011 Jan Horak <jhorak@redhat.com> - 3.1.8-3
+- Update to 3.1.8
+
+* Wed Feb  9 2011 Christopher Aillon <caillon@redhat.com> - 3.1.7-6
+- Drop the -lightning subpackage, it needs to be in its own SRPM
+
+* Mon Feb  7 2011 Christopher Aillon <caillon@redhat.com> - 3.1.7-5
+- Bring back the default mailer check but fix up the directory
+
+* Wed Dec 15 2010 Jan Horak <jhorak@redhat.com> - 3.1.7-4
+- Mozilla crash reporter enabled
+
+* Thu Dec  9 2010 Jan Horak <jhorak@redhat.com> - 3.1.7-2
+- Fixed useragent
+
+* Thu Dec  9 2010 Jan Horak <jhorak@redhat.com> - 3.1.7-1
+- Update to 3.1.7
+
+* Sat Nov 27 2010 Remi Collet <fedora@famillecollet.com> - 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 <jhorak@redhat.com> - 3.1.6-7
+- Added x-scheme-handler/mailto to thunderbird.desktop file
+
+* Mon Nov  8 2010 Jan Horak <jhorak@redhat.com> - 3.1.6-4
+- Added libnotify patch
+- Removed dependency on static libraries
+
+* Fri Oct 29 2010 Jan Horak <jhorak@redhat.com> - 3.1.6-2
+- Move thunderbird-lightning extension from Sunbird package to Thunderbird
+
+* Wed Oct 27 2010 Jan Horak <jhorak@redhat.com> - 3.1.6-1
+- Update to 3.1.6
+
+* Tue Oct 19 2010 Jan Horak <jhorak@redhat.com> - 3.1.5-1
+- Update to 3.1.5
+
+* Thu Sep 16 2010 Dan Horák <dan[at]danny.cz> - 3.1.3-2
+- fix build on s390
+
+* Tue Sep  7 2010 Jan Horak <jhorak@redhat.com> - 3.1.3-1
+- Update to 3.1.3
+
+* Fri Aug  6 2010 Jan Horak <jhorak@redhat.com> - 3.1.2-1
+- Update to 3.1.2
+- Disable updater
+
+* Tue Jul 20 2010 Jan Horak <jhorak@redhat.com> - 3.1.1-1
+- Update to 3.1.1
+
+* Thu Jun 24 2010 Jan Horak <jhorak@redhat.com> - 3.1-1
+- Thunderbird 3.1
+
+* Fri Jun 11 2010 Jan Horak <jhorak@redhat.com> - 3.1-0.3.rc2
+- TryExec added to desktop file
+
+* Wed Jun  9 2010 Christopher Aillon <caillon@redhat.com> 3.1-0.2.rc2
+- Thunderbird 3.1 RC2
+
+* Tue May 25 2010 Christopher Aillon <caillon@redhat.com> 3.1-0.1.rc1
+- Thunderbird 3.1 RC1
+
+* Fri Apr 30 2010 Jan Horak <jhorak@redhat.com> - 3.0.4-3
+- Fix for mozbz#550455
+
+* Tue Apr 13 2010 Martin Stransky <stransky@redhat.com> - 3.0.4-2
+- Fixed langpacks (#580444)
+
+* Tue Mar 30 2010 Jan Horak <jhorak@redhat.com> - 3.0.4-1
+- Update to 3.0.4
+
+* Sat Mar 06 2010 Kalev Lember <kalev@smartlink.ee> - 3.0.3-2
+- Own extension directories (#532132)
+
+* Mon Mar  1 2010 Jan Horak <jhorak@redhat.com> - 3.0.3-1
+- Update to 3.0.3
+
+* Thu Feb 25 2010 Jan Horak <jhorak@redhat.com> - 3.0.2-1
+- Update to 3.0.2
+
+* Wed Jan 20 2010 Martin Stransky <stransky@redhat.com> - 3.0.1-1
+- Update to 3.0.1
+
+* Mon Jan 18 2010 Martin Stransky <stransky@redhat.com> - 3.0-5
+- Added fix for #480603 - thunderbird takes
+  unacceptably long time to start
+
+* Wed Dec  9 2009 Jan Horak <jhorak@redhat.com> - 3.0-4
+- Update to 3.0
+
+* Thu Dec  3 2009 Jan Horak <jhorak@redhat.com> - 3.0-3.13.rc2
+- Update to RC2
+
+* Wed Nov 25 2009 Jan Horak <jhorak@redhat.com> - 3.0-3.12.rc1
+- Sync with Mozilla latest RC1 build
+
+* Thu Nov 19 2009 Jan Horak <jhorak@redhat.com> - 3.0-3.11.rc1
+- Update to RC1
+
+* Thu Sep 17 2009 Christopher Aillon <caillon@redhat.com> - 3.0-3.9.b4
+- Update to 3.0 b4
+
+* Thu Aug  6 2009 Martin Stransky <stransky@redhat.com> - 3.0-3.8.beta3
+- Added fix for #437596
+- Removed unused patches
+
+* Thu Aug  6 2009 Jan Horak <jhorak@redhat.com> - 3.0-3.7.beta3
+- Removed unused build requirements
+
+* Mon Aug  3 2009 Jan Horak <jhorak@redhat.com> - 3.0-3.6.beta3
+- Build with system hunspell
+
+* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0-3.5.b3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Fri Jul 24 2009 Jan Horak <jhorak@redhat.com> - 3.0-2.5.beta3
+- Use system hunspell
+
+* Tue Jul 21 2009 Jan Horak <jhorak@redhat.com> - 3.0-2.4.beta3
+- Update to 3.0 beta3
+
+* Mon Mar 30 2009 Jan Horak <jhorak@redhat.com> - 3.0-2.2.beta2
+- Fixed open-browser.sh to use xdg-open instead of gnome-open
+
+* Mon Mar 23 2009 Christopher Aillon <caillon@redhat.com> - 3.0-2.1.beta2
+- Disable the default app nag dialog
+
+* Tue Mar 17 2009 Jan Horak <jhorak@redhat.com> - 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 <jhorak@redhat.com> - 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 <rel-eng@lists.fedoraproject.org> - 2.0.0.18-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Wed Jan 07 2009 Christopher Aillon <caillon@redhat.com> - 2.0.0.18-2
+- Disable the crash dialog
+
+* Wed Nov 19 2008 Christopher Aillon <caillon@redhat.com> 2.0.0.18-1
+- Update to 2.0.0.18
+
+* Thu Oct  9 2008 Christopher Aillon <caillon@redhat.com> 2.0.0.17-1
+- Update to 2.0.0.17
+
+* Wed Jul 23 2008 Christopher Aillon <caillon@redhat.com> 2.0.0.16-1
+- Update to 2.0.0.16
+
+* Thu May  1 2008 Christopher Aillon <caillon@redhat.com> 2.0.0.14-1
+- Update to 2.0.0.14
+- Use the system dictionaries
+
+* Fri Apr 18 2008 Christopher Aillon <caillon@redhat.com> 2.0.0.12-6
+- Icon belongs in _datadir/pixmaps
+
+* Fri Apr 18 2008 Christopher Aillon <caillon@redhat.com> 2.0.0.12-5
+- rebuilt
+
+* Mon Apr  7 2008 Christopher Aillon <caillon@redhat.com> 2.0.0.12-4
+- Add %%lang attributes to langpacks
+
+* Sat Mar 15 2008 Christopher Aillon <caillon@redhat.com> 2.0.0.12-3
+- Avoid conflict between gecko debuginfos
+
+* Mon Mar 03 2008 Martin Stransky <stransky@redhat.com> 2.0.0.12-2
+- Updated starting script (#426331)
+
+* Tue Feb 26 2008 Christopher Aillon <caillon@redhat.com> 2.0.0.12-1
+- Update to 2.0.0.12
+- Fix up icon location and some scriptlets
+
+* Sun Dec  9 2007 Christopher Aillon <caillon@redhat.com> 2.0.0.9-2
+- Fix some rpmlint warnings
+- Drop some old patches and obsoletes
+
+* Thu Nov 15 2007 Christopher Aillon <caillon@redhat.com> 2.0.0.9-1
+- Update to 2.0.0.9
+
+* Wed Sep 26 2007 Martin Stransky <stransky@redhat.com> 2.0.0.6-6
+- Fixed #242657 - firefox -g doesn't work
+
+* Tue Sep 25 2007 Christopher Aillon <caillon@redhat.com> 2.0.0.6-5
+- Removed hardcoded MAX_PATH, PATH_MAX and MAXPATHLEN macros
+
+* Tue Sep 11 2007 Christopher Aillon <caillon@redhat.com> 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 <stransky@redhat.com> 2.0.0.6-3
+- added fix for #246248 - firefox crashes when searching for word "do"
+
+* Mon Aug 13 2007 Christopher Aillon <caillon@redhat.com> 2.0.0.6-2
+- Update the license tag
+
+* Wed Aug  8 2007 Christopher Aillon <caillon@redhat.com> 2.0.0.6-1
+- Update to 2.0.0.6
+- Own the application directory (#244901)
+
+* Tue Jul 31 2007 Martin Stransky <stransky@redhat.com> 2.0.0.0-3
+- added pango ligature fix
+
+* Thu Apr 19 2007 Christopher Aillon <caillon@redhat.com> 2.0.0.0-1
+- Update to 2.0.0.0 Final
+
+* Fri Apr 13 2007 Christopher Aillon <caillon@redhat.com> 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 <caillon@redhat.com> 2.0.0.0-0.4.rc1
+- Rebuild into Fedora
+
+* Wed Apr 11 2007 Christopher Aillon <caillon@redhat.com> 2.0.0.0-0.3.rc1
+- Update langpacks
+
+* Thu Apr  5 2007 Christopher Aillon <caillon@redhat.com> 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 <caillon@redhat.com> 2.0.0.0-0.1.rc1
+- Update to 2.0.0.0 RC1
+
+* Sun Mar 25 2007 Christopher Aillon <caillon@redhat.com> 1.5.0.11-1
+- Update to 1.5.0.11
+
+* Fri Mar 2 2007 Martin Stransky <stransky@redhat.com> 1.5.0.10-1
+- Update to 1.5.0.10
+
+* Mon Feb 12 2007 Martin Stransky <stransky@redhat.com> 1.5.0.9-8
+- added fix for #227406: garbage characters on some websites
+  (when pango is disabled)
+
+* Tue Jan 30 2007 Christopher Aillon <caillon@redhat.com> 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 <caillon@redhat.com> 1.5.0.9-6
+- Fix the DND implementation to not grab, so it works with new GTK+.
+
+* Thu Dec 21 2006 Behdad Esfahbod <besfahbo@redhat.com> 1.5.0.9-5
+- Added firefox-1.5-pango-underline.patch
+
+* Wed Dec 20 2006 Behdad Esfahbod <besfahbo@redhat.com> 1.5.0.9-4
+- Added firefox-1.5-pango-justified-range.patch
+
+* Tue Dec 19 2006 Behdad Esfahbod <besfahbo@redhat.com> 1.5.0.9-3
+- Added firefox-1.5-pango-cursor-position-more.patch
+
+* Tue Dec 19 2006 Matthias Clasen <mclasen@redhat.com> 1.5.0.9-2
+- Add a Requires: launchmail  (#219884)
+
+* Tue Dec 19 2006 Christopher Aillon <caillon@redhat.com> 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 <caillon@redhat.com> 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 <caillon@redhat.com> - 1.5.0.7-4
+- Default to use of system colors
+
+* Wed Oct  4 2006 Christopher Aillon <caillon@redhat.com> - 1.5.0.7-3
+- Bring the invisible character to parity with GTK+
+
+* Wed Sep 27 2006 Christopher Aillon <caillon@redhat.com> - 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 <caillon@redhat.com> - 1.5.0.7-1
+- Update to 1.5.0.7
+
+* Thu Sep  7 2006 Christopher Aillon <caillon@redhat.com> - 1.5.0.5-8
+- Shuffle order of the install phase around
+
+* Thu Sep  7 2006 Christopher Aillon <caillon@redhat.com> - 1.5.0.5-7
+- Let there be art for Alt+Tab again
+- s/tbdir/mozappdir/g
+
+* Wed Sep  6 2006 Christopher Aillon <caillon@redhat.com> - 1.5.0.5-6
+- Fix for cursor position in editor widgets by tagoh and behdad (#198759)
+
+* Tue Sep  5 2006 Christopher Aillon <caillon@redhat.com> - 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 <kengert@redhat.com> - 1.5.0.5-4
+- Fix a build failure in mailnews mime code.
+
+* Tue Aug  1 2006 Matthias Clasen <mclasen@redhat.com> - 1.5.0.5-3
+- Rebuild
+
+* Thu Jul 27 2006 Christopher Aillon <caillon@redhat.com> - 1.5.0.5-2
+- Update to 1.5.0.5
+
+* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 1.5.0.4-2.1
+- rebuild
+
+* Mon Jun 12 2006 Kai Engert <kengert@redhat.com> - 1.5.0.4-2
+- Update to 1.5.0.4
+- Fix desktop-file-utils requires
+
+* Wed Apr 19 2006 Christopher Aillon <caillon@redhat.com> - 1.5.0.2-2
+- Update to 1.5.0.2
+
+* Thu Mar 16 2006 Christopher Aillon <caillon@redhat.com> - 1.5-7
+- Bring the other arches back
+
+* Mon Mar 13 2006 Christopher Aillon <caillon@redhat.com> - 1.5.6
+- Temporarily disable other arches that we don't ship FC5 with, for time
+
+* Mon Mar 13 2006 Christopher Aillon <caillon@redhat.com> - 1.5-5
+- Add a notice to the mail start page denoting this is a pango enabled build.
+
+* Fri Feb 10 2006 Christopher Aillon <caillon@redhat.com> - 1.5-3
+- Add dumpstack.patch
+- Improve the langpack install stuff
+
+* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 1.5-2.1
+- rebuilt for new gcc4.1 snapshot and glibc changes
+
+* Fri Jan 27 2006 Christopher Aillon <caillon@redhat.com> - 1.5-2
+- Add some langpacks back in
+- Stop providing MozillaThunderbird
+
+* Thu Jan 12 2006 Christopher Aillon <caillon@redhat.com> - 1.5-1
+- Official 1.5 release is out
+
+* Wed Jan 11 2006 Christopher Aillon <caillon@redhat.com> - 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 <caillon@redhat.com> - 1.5-0.5.5.rc1
+- Looks like we can build on ppc64 again.
+
+* Fri Dec 16 2005 Christopher Aillon <caillon@redhat.com> - 1.5-0.5.4.rc1
+- Rebuild
+
+* Fri Dec 16 2005 Christopher Aillon <caillon@redhat.com> - 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 <jkeating@redhat.com>
+- rebuilt
+
+* Mon Nov 28 2005 Christopher Aillon <caillon@redhat.com> - 1.5-0.5.1.rc1
+- Fix issue with popup dialogs and other actions causing lockups
+
+* Sat Nov  5 2005 Christopher Aillon <caillon@redhat.com> 1.5-0.5.0.rc1
+- Update to 1.5 rc1
+
+* Sat Oct  8 2005 Christopher Aillon <caillon@redhat.com> 1.5-0.5.0.beta2
+- Update to 1.5 beta2
+
+* Wed Sep 28 2005 Christopher Aillon <caillon@redhat.com> 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 <caillon@redhat.com> 1.0.6-4
+- Rebuild
+
+* Sat Aug  6 2005 Christopher Aillon <caillon@redhat.com> 1.0.6-3
+- Add patch to make file chooser dialog modal
+
+* Fri Jul 22 2005 Christopher Aillon <caillon@redhat.com> 1.0.6-2
+- Update to 1.0.6
+
+* Mon Jul 18 2005 Christopher Aillon <caillon@redhat.com> 1.0.6-0.1.fc5
+- 1.0.6 Release Candidate
+
+* Fri Jul 15 2005 Christopher Aillon <caillon@redhat.com> 1.0.2-8
+- Use system NSPR
+- Fix crash on 64bit platforms (#160330)
+
+* Thu Jun 23 2005 Kristian Høgsberg <krh@redhat.com>  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 <caillon@redhat.com> 1.0.2-6
+- Change the Exec line in the desktop file to `thunderbird`
+
+* Fri May 13 2005 Christopher Aillon <caillon@redhat.com> 1.0.2-5
+- Update pango patche, MOZ_DISABLE_PANGO now works as advertised.
+
+* Mon May  9 2005 Christopher Aillon <caillon@redhat.com> 1.0.2-4
+- Add temporary workaround to not create files in the user's $HOME (#149664)
+
+* Wed May  4 2005 Christopher Aillon <caillon@redhat.com> 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 <wtogami@redhat.com>
+- correct confusing PANGO vars in startup script
+
+* Wed Mar 23 2005 Christopher Aillon <caillon@redhat.com> 1.0.2-1
+- Thunderbird 1.0.2
+
+* Tue Mar  8 2005 Christopher Aillon <caillon@redhat.com> 1.0-5
+- Add patch to compile against new fortified glibc macros
+
+* Sat Mar  5 2005 Christopher Aillon <caillon@redhat.com> 1.0-4
+- Rebuild against GCC 4.0
+- Add execshield patches
+- Minor specfile cleanup
+
+* Mon Dec 20 2004 Christopher Aillon <caillon@redhat.com> 1.0-3
+- Rebuild
+
+* Thu Dec 16 2004 Christopher Aillon <caillon@redhat.com> 1.0-2
+- Add RPM version to useragent
+
+* Thu Dec 16 2004 Christopher Blizzard <blizzard@redhat.com>
+- Port over pango patches from firefox
+
+* Wed Dec  8 2004 Christopher Aillon <caillon@redhat.com> 1.0-1
+- Thunderbird 1.0
+
+* Mon Dec  6 2004 Christopher Aillon <caillon@redhat.com> 1.0-0.rc1.1
+- Fix advanced prefs
+
+* Fri Dec  3 2004 Christopher Aillon <caillon@redhat.com>
+- Make this run on s390(x) now for real
+
+* Wed Dec  1 2004 Christopher Aillon <caillon@redhat.com> 1.0-0.rc1.0
+- Update to 1.0 rc1
+
+* Fri Nov 19 2004 Christopher Aillon <caillon@redhat.com>
+- Add patches to build and run on s390(x)
+
+* Thu Nov 11 2004 Christopher Aillon <caillon@redhat.com> 0.9.0-2
+- Rebuild to fix file chooser
+
+* Fri Nov  5 2004 Christopher Aillon <caillon@redhat.com> 0.9.0-1
+- Update to 0.9
+
+* Fri Oct 22 2004 Christopher Aillon <caillon@redhat.com> 0.8.0-10
+- Prevent inlining of stack direction detection (#135255)
+
+* Tue Oct 19 2004 Christopher Aillon <caillon@redhat.com> 0.8.0-9
+- More file chooser fixes (same as in firefox)
+- Fix for upstream 28327.
+
+* Mon Oct 18 2004 Christopher Blizzard <blizzard@redhat.com> 0.8.0-8
+- Update the pango patch
+
+* Mon Oct 18 2004 Christopher Blizzard <blizzard@redhat.com> 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 <blizzard@redhat.com> 0.8.0-7
+- Use pango for rendering
+
+* Tue Oct 12 2004 Christopher Aillon <caillon@redhat.com> 0.8.0-6
+- Fix for 64 bit crash at startup (b.m.o #256603)
+
+* Sat Oct  9 2004 Christopher Aillon <caillon@redhat.com> 0.8.0-5
+- Add patches to fix xremote (#135036)
+
+* Fri Oct  8 2004 Christopher Aillon <caillon@redhat.com> 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 <notting@redhat.com> 0.8.0-3
+- filter out library Provides: and internal Requires:
+
+* Tue Sep 28 2004 Christopher Aillon <caillon@redhat.com> 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 <caillon@redhat.com> 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 <caillon@redhat.com> 0.7.3-5
+- Build with --disable-xprint
+
+* Wed Sep 01 2004 David Hill <djh[at]ii.net> 0.7.3-4
+- remove all Xvfb-related hacks
+
+* Wed Sep 01 2004 Warren Togami <wtogami@redhat.com>
+- actually apply psfonts
+- add mozilla gnome-uriloader patch to prevent build failure
+
+* Tue Aug 31 2004 Warren Togami <wtogami@redhat.com> 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 <djh[at]ii.net> 0.7.3-0.fdr.2
+- oops, fix %%install
+
+* Thu Aug 26 2004 David Hill <djh[at]ii.net> 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 <djh[at]ii.net> 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 <djh[at]ii.net> 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 <djh[at]ii.net> 0.7.1-0.fdr.0
+- update to 0.7.1
+- remove Enigmail
+
+* Mon Jun 28 2004 David Hill <djh[at]ii.net> 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 <djh[at]ii.net> 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 <wtogami@redhat.com> 0.6-0.fdr.5
+- temporary workaround for enigmail skin "modern" bug
+
+* Mon May 10 2004 David Hill <djh[at]ii.net> 0.6-0.fdr.4
+- update to Enigmail 0.84.0
+- update launch script
+
+* Mon May 10 2004 David Hill <djh[at]ii.net> 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 <djh[at]ii.net> 0.6-0.fdr.2
+- include Enigmail, re-add release notes
+- delete %%{_libdir}/thunderbird in %%pre
+
+* Mon May 03 2004 David Hill <djh[at]ii.net> 0.6-0.fdr.1
+- update to Thunderbird 0.6
+
+* Fri Apr 30 2004 David Hill <djh[at]ii.net> 0.6-0.fdr.0.rc1
+- update to Thunderbird 0.6 RC1
+- add new icon, remove release notes
+
+* Thu Apr 15 2004 David Hill <djh[at]ii.net> 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 <djh[at]ii.net> 0.5-0.fdr.12
+- update x-remote patch
+- more startup script fixes
+
+* Tue Apr 06 2004 David Hill <djh[at]ii.net> 0:0.5-0.fdr.11
+- startup script fixes, and a minor cleanup
+
+* Sun Apr 04 2004 Warren Togami <wtogami@redhat.com> 0:0.5-0.fdr.10
+- Minor cleanups
+
+* Sun Apr 04 2004 David Hill <djh[at]ii.net> 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 <djh[at]ii.net> 0:0.5-0.fdr.7
+- update open-browser.sh, startup script, and BuildRequires
+
+* Sun Mar 14 2004 David Hill <djh[at]ii.net> 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 <djh[at]ii.net> 0:0.5-0.fdr.5
+- refuse to run with excessive privileges
+
+* Fri Feb 27 2004 David Hill <djh[at]ii.net> 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 <djh[at]ii.net> 0:0.5-0.fdr.3
+- use the updated official tarball
+
+* Wed Feb 18 2004 David Hill <djh[at]ii.net> 0:0.5-0.fdr.2
+- fix %%prep script
+
+* Mon Feb 16 2004 David Hill <djh[at]ii.net> 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 <djh[at]ii.net> 0:0.5-0.fdr.0
+- update to 0.5
+- check for lockfile before launching
+
+* Fri Feb 06 2004 David Hill <djh[at]ii.net>
+- update to latest cvs
+- update to Enigmail 0.83.2
+
+* Thu Jan 29 2004 David Hill <djh[at]ii.net> 0:0.4-0.fdr.5
+- update to Enigmail 0.83.1
+- removed Mozilla/Firebird script patching
+
+* Sat Jan 03 2004 David Hill <djh[at]ii.net> 0:0.4-0.fdr.4
+- add startup notification to .desktop file
+
+* Thu Dec 25 2003 Warren Togami <warren@togami.com> 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 <djh[at]ii.net> 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 <djh[at]ii.net> 0:0.4-0.fdr.1
+- use Thunderbird's mozilla-xremote-client to launch browser
+
+* Sun Dec 07 2003 David Hill <djh[at]ii.net> 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 <djh[at]ii.net>
+- update to 0.4rc2
+
+* Wed Dec 03 2003 David Hill <djh[at]ii.net>
+- update to 0.4rc1 and Enigmail 0.82.4
+
+* Thu Nov 27 2003 David Hill <djh[at]ii.net>
+- update to latest CVS and Enigmail 0.82.3
+
+* Sun Nov 16 2003 David Hill <djh[at]ii.net>
+- 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 <djh[at]ii.net> 0:0.3-0.fdr.0
+- update to 0.3
+
+* Sun Oct 12 2003 David Hill <djh[at]ii.net> 0:0.3rc3-0.fdr.0
+- update to 0.3rc3
+- update Enigmail to 0.81.7
+
+* Thu Oct 02 2003 David Hill <djh[at]ii.net> 0:0.3rc2-0.fdr.0
+- update to 0.3rc2
+
+* Wed Sep 17 2003 David Hill <djh[at]ii.net> 0:0.2-0.fdr.2
+- simplify startup script
+
+* Wed Sep 10 2003 David Hill <djh[at]ii.net> 0:0.2-0.fdr.1
+- add GPG support (Enigmail 0.81.6)
+- specfile fixes (#679)
+
+* Thu Sep 04 2003 David Hill <djh[at]ii.net> 0:0.2-0.fdr.0
+- update to 0.2
+
+* Mon Sep 01 2003 David Hill <djh[at]ii.net>
+- initial RPM
+  (based on the fedora MozillaFirebird-0.6.1 specfile)