summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firefox-mozconfig2
-rw-r--r--firefox.spec49
-rw-r--r--workaround_dom_indexdb_actorsparent_allignment.patch76
3 files changed, 88 insertions, 39 deletions
diff --git a/firefox-mozconfig b/firefox-mozconfig
index 78aa1da..3605a29 100644
--- a/firefox-mozconfig
+++ b/firefox-mozconfig
@@ -1,7 +1,5 @@
. $topsrcdir/browser/config/mozconfig
-ac_add_options --prefix="$PREFIX"
-ac_add_options --libdir="$LIBDIR"
ac_add_options --with-system-zlib
ac_add_options --with-system-bz2
ac_add_options --disable-strip
diff --git a/firefox.spec b/firefox.spec
index 55f7cbf..4daca71 100644
--- a/firefox.spec
+++ b/firefox.spec
@@ -86,11 +86,15 @@ ExcludeArch: s390x
%global pre_tag .clang
%global build_with_pgo 0
%endif
+%if %{build_with_asan}
+%global pre_tag .asan
+%global build_with_pgo 0
+%endif
Summary: Mozilla Firefox Web browser
Name: firefox
Version: 71.0
-Release: 12%{?pre_tag}%{?dist}
+Release: 13%{?pre_tag}%{?dist}
URL: https://www.mozilla.org/firefox/
License: MPLv1.1 or GPLv2+ or LGPLv2+
Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz
@@ -378,6 +382,9 @@ echo "ac_add_options --enable-official-branding" >> .mozconfig
%{__cp} %{SOURCE24} mozilla-api-key
%{__cp} %{SOURCE27} google-api-key
+echo "ac_add_options --prefix=\"%{_prefix}\"" >> .mozconfig
+echo "ac_add_options --libdir=\"%{_libdir}\"" >> .mozconfig
+
%if %{?system_nss}
echo "ac_add_options --with-system-nspr" >> .mozconfig
echo "ac_add_options --with-system-nss" >> .mozconfig
@@ -547,30 +554,27 @@ export RUSTFLAGS="-Cdebuginfo=0"
%endif
%if %{build_with_asan}
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fsanitize=address -Dxmalloc=myxmalloc"
-MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -fsanitize=address"
+MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -fsanitize=address -ldl"
%endif
%if !%{build_with_clang}
-export CFLAGS=$MOZ_OPT_FLAGS
-export CXXFLAGS=$MOZ_OPT_FLAGS
-export LDFLAGS=$MOZ_LINK_FLAGS
+echo "export CFLAGS=\"$MOZ_OPT_FLAGS\"" >> .mozconfig
+echo "export CXXFLAGS=\"$MOZ_OPT_FLAGS\"" >> .mozconfig
+echo "export LDFLAGS=\"$MOZ_LINK_FLAGS\"" >> .mozconfig
%endif
-export PREFIX='%{_prefix}'
-export LIBDIR='%{_libdir}'
-
%if 0%{?build_with_clang}
-export LLVM_PROFDATA="llvm-profdata"
-export AR="llvm-ar"
-export NM="llvm-nm"
-export RANLIB="llvm-ranlib"
-echo "ac_add_options --enable-linker=lld" >> .mozconfig
+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 "export --enable-linker=lld" >> .mozconfig
%else
-export CC=gcc
-export CXX=g++
-export AR="gcc-ar"
-export NM="gcc-nm"
-export RANLIB="gcc-ranlib"
+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
%if 0%{?build_with_pgo}
echo "ac_add_options MOZ_PGO=1" >> .mozconfig
@@ -593,9 +597,9 @@ MOZ_SMP_FLAGS=-j1
[ "$RPM_BUILD_NCPUS" -ge 8 ] && MOZ_SMP_FLAGS=-j8
%endif
-export MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS"
-export MOZ_SERVICES_SYNC="1"
-export STRIP=/bin/true
+echo "export MOZ_MAKE_FLAGS=\"$MOZ_SMP_FLAGS\"" >> .mozconfig
+echo "export MOZ_SERVICES_SYNC=1" >> .mozconfig
+echo "export STRIP=/bin/true" >> .mozconfig
%if 0%{?build_with_pgo}
%if 0%{?pgo_wayland}
xvfb-run mutter --wayland --nested &
@@ -925,6 +929,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#---------------------------------------------------------------------
%changelog
+* Mon Dec 9 2019 Martin Stransky <stransky@redhat.com> - 71.0-13
+- Updated workaround for mzbz#1601707
+
* Fri Dec 6 2019 Martin Stransky <stransky@redhat.com> - 71.0-12
- Clang test build, should fix extension breakage
diff --git a/workaround_dom_indexdb_actorsparent_allignment.patch b/workaround_dom_indexdb_actorsparent_allignment.patch
index e651efc..7002c6d 100644
--- a/workaround_dom_indexdb_actorsparent_allignment.patch
+++ b/workaround_dom_indexdb_actorsparent_allignment.patch
@@ -1,15 +1,7 @@
-Workaround GCC/Clang6 not supporting class-temporary#6.7 [1]
-Bugs:
-+ https://bugzilla.mozilla.org/show_bug.cgi?id=1601707
-+ http://gcc.gnu.org/PR92831
-+ https://bugzilla.redhat.com/show_bug.cgi?id=1779082
-
-[1] http://eel.is/c++draft/class.temporary#6.7
-
-diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp
---- a/dom/indexedDB/ActorsParent.cpp
-+++ b/dom/indexedDB/ActorsParent.cpp
-@@ -24311,11 +24311,11 @@
+diff -up firefox-71.0/dom/indexedDB/ActorsParent.cpp.gcc-workaround firefox-71.0/dom/indexedDB/ActorsParent.cpp
+--- firefox-71.0/dom/indexedDB/ActorsParent.cpp.gcc-workaround 2019-12-02 13:22:58.000000000 +0100
++++ firefox-71.0/dom/indexedDB/ActorsParent.cpp 2019-12-08 21:52:54.449199120 +0100
+@@ -24311,11 +24311,11 @@ nsresult ObjectStoreAddOrPutRequestOp::D
// if we allow overwrite or not. By not allowing overwrite we raise
// detectable errors rather than corrupting data.
DatabaseConnection::CachedStatement stmt;
@@ -25,7 +17,59 @@ diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp
NS_LITERAL_CSTRING("INTO object_data "
"(object_store_id, key, file_ids, data) "
"VALUES (:") +
-@@ -26076,9 +26076,6 @@
+@@ -25869,11 +25869,8 @@ void Cursor::OpenOp::PrepareIndexKeyCond
+ }
+ }
+
+- const auto& comparisonChar =
+- isIncreasingOrder ? NS_LITERAL_CSTRING(">") : NS_LITERAL_CSTRING("<");
+-
+ mCursor->mContinueToQuery =
+- aQueryStart + NS_LITERAL_CSTRING(" AND sort_column ") + comparisonChar +
++ aQueryStart + NS_LITERAL_CSTRING(" AND sort_column ") + (isIncreasingOrder ? NS_LITERAL_CSTRING(">") : NS_LITERAL_CSTRING("<")) +
+ NS_LITERAL_CSTRING("= :") + kStmtParamNameCurrentKey;
+
+ switch (mCursor->mDirection) {
+@@ -25881,11 +25878,11 @@ void Cursor::OpenOp::PrepareIndexKeyCond
+ case IDBCursor::PREV:
+ mCursor->mContinueQuery =
+ aQueryStart + NS_LITERAL_CSTRING(" AND sort_column ") +
+- comparisonChar + NS_LITERAL_CSTRING("= :") +
++ (isIncreasingOrder ? NS_LITERAL_CSTRING(">") : NS_LITERAL_CSTRING("<")) + NS_LITERAL_CSTRING("= :") +
+ kStmtParamNameCurrentKey + NS_LITERAL_CSTRING(" AND ( sort_column ") +
+- comparisonChar + NS_LITERAL_CSTRING(" :") + kStmtParamNameCurrentKey +
++ (isIncreasingOrder ? NS_LITERAL_CSTRING(">") : NS_LITERAL_CSTRING("<")) + NS_LITERAL_CSTRING(" :") + kStmtParamNameCurrentKey +
+ NS_LITERAL_CSTRING(" OR ") + aObjectDataKeyPrefix +
+- NS_LITERAL_CSTRING("object_data_key ") + comparisonChar +
++ NS_LITERAL_CSTRING("object_data_key ") + (isIncreasingOrder ? NS_LITERAL_CSTRING(">") : NS_LITERAL_CSTRING("<")) +
+ NS_LITERAL_CSTRING(" :") + kStmtParamNameObjectStorePosition +
+ NS_LITERAL_CSTRING(" ) ");
+
+@@ -25896,12 +25893,12 @@ void Cursor::OpenOp::PrepareIndexKeyCond
+ "(sort_column == :") +
+ kStmtParamNameCurrentKey + NS_LITERAL_CSTRING(" AND ") +
+ aObjectDataKeyPrefix + NS_LITERAL_CSTRING("object_data_key ") +
+- comparisonChar + NS_LITERAL_CSTRING("= :") +
++ (isIncreasingOrder ? NS_LITERAL_CSTRING(">") : NS_LITERAL_CSTRING("<")) + NS_LITERAL_CSTRING("= :") +
+ kStmtParamNameObjectStorePosition +
+ NS_LITERAL_CSTRING(
+ ") OR "
+ "sort_column ") +
+- comparisonChar + NS_LITERAL_CSTRING(" :") + kStmtParamNameCurrentKey +
++ (isIncreasingOrder ? NS_LITERAL_CSTRING(">") : NS_LITERAL_CSTRING("<")) + NS_LITERAL_CSTRING(" :") + kStmtParamNameCurrentKey +
+ NS_LITERAL_CSTRING(")");
+ break;
+
+@@ -25909,7 +25906,7 @@ void Cursor::OpenOp::PrepareIndexKeyCond
+ case IDBCursor::PREV_UNIQUE:
+ mCursor->mContinueQuery =
+ aQueryStart + NS_LITERAL_CSTRING(" AND sort_column ") +
+- comparisonChar + NS_LITERAL_CSTRING(" :") + kStmtParamNameCurrentKey;
++ (isIncreasingOrder ? NS_LITERAL_CSTRING(">") : NS_LITERAL_CSTRING("<")) + NS_LITERAL_CSTRING(" :") + kStmtParamNameCurrentKey;
+ break;
+
+ default:
+@@ -26076,9 +26073,6 @@ nsresult Cursor::OpenOp::DoIndexDatabase
const bool usingKeyRange = mOptionalKeyRange.isSome();
@@ -35,7 +79,7 @@ diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp
NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column");
-@@ -26099,7 +26096,9 @@
+@@ -26099,7 +26093,9 @@ nsresult Cursor::OpenOp::DoIndexDatabase
"object_data.file_ids, "
"object_data.data "
"FROM ") +
@@ -46,7 +90,7 @@ diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp
NS_LITERAL_CSTRING(
" AS index_table "
"JOIN object_data "
-@@ -26198,9 +26197,6 @@
+@@ -26198,9 +26194,6 @@ nsresult Cursor::OpenOp::DoIndexKeyDatab
const bool usingKeyRange = mOptionalKeyRange.isSome();
@@ -56,7 +100,7 @@ diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp
NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column");
-@@ -26218,7 +26214,10 @@
+@@ -26218,7 +26211,10 @@ nsresult Cursor::OpenOp::DoIndexKeyDatab
NS_LITERAL_CSTRING(
"object_data_key "
" FROM ") +
bgstack15