diff --git a/firefox.spec b/firefox.spec index d7d6b90..4f59c8b 100644 --- a/firefox.spec +++ b/firefox.spec @@ -1,5 +1,5 @@ # Set to true if it's going to be submitted as update. -%global release_build 0 +%global release_build 1 %global debug_build 0 %global build_with_clang 0 %global build_with_asan 0 @@ -147,7 +147,7 @@ Patch228: mozilla-1583466.patch Patch239: mozilla-gnome-shell-search-provider.patch Patch240: mozilla-gnome-shell-search-provider-icons.patch Patch241: kiosk-workaround.patch -Patch242: workaround_dom_indexdb_actorsparent_allignment.patch +Patch242: mozilla-1601707.patch # Upstream patches Patch402: mozilla-1196777.patch @@ -349,7 +349,7 @@ This package contains results of tests executed during build. # Workaround for kiosk mode # https://bugzilla.mozilla.org/show_bug.cgi?id=1594738 #%patch241 -p1 -b .kiosk-workaround -%patch242 -p1 -b .gcc-workaround +%patch242 -p1 -b .mozilla-1601707 %patch402 -p1 -b .1196777 %ifarch %{arm} @@ -930,6 +930,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %changelog * Mon Dec 9 2019 Martin Stransky - 71.0-15 - Enabled Mozilla crash reporter +- Enabled PGO builds * Mon Dec 9 2019 Martin Stransky - 71.0-14 - Updated workaround for mzbz#1601707 diff --git a/mozilla-1601707.patch b/mozilla-1601707.patch new file mode 100644 index 0000000..7002c6d --- /dev/null +++ b/mozilla-1601707.patch @@ -0,0 +1,114 @@ +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; +- const auto& optReplaceDirective = (!mOverwrite || keyUnset) +- ? NS_LITERAL_CSTRING("") +- : NS_LITERAL_CSTRING("OR REPLACE "); + rv = aConnection->GetCachedStatement( +- NS_LITERAL_CSTRING("INSERT ") + optReplaceDirective + ++ NS_LITERAL_CSTRING("INSERT ") + ++ ((!mOverwrite || keyUnset) ++ ? NS_LITERAL_CSTRING("") ++ : NS_LITERAL_CSTRING("OR REPLACE ")) + + NS_LITERAL_CSTRING("INTO object_data " + "(object_store_id, key, file_ids, data) " + "VALUES (:") + +@@ -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(); + +- const auto& indexTable = mCursor->mUniqueIndex +- ? NS_LITERAL_CSTRING("unique_index_data") +- : NS_LITERAL_CSTRING("index_data"); + + NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column"); + +@@ -26099,7 +26093,9 @@ nsresult Cursor::OpenOp::DoIndexDatabase + "object_data.file_ids, " + "object_data.data " + "FROM ") + +- indexTable + ++ (mCursor->mUniqueIndex ++ ? NS_LITERAL_CSTRING("unique_index_data") ++ : NS_LITERAL_CSTRING("index_data")) + + NS_LITERAL_CSTRING( + " AS index_table " + "JOIN object_data " +@@ -26198,9 +26194,6 @@ nsresult Cursor::OpenOp::DoIndexKeyDatab + + const bool usingKeyRange = mOptionalKeyRange.isSome(); + +- const auto& table = mCursor->mUniqueIndex +- ? NS_LITERAL_CSTRING("unique_index_data") +- : NS_LITERAL_CSTRING("index_data"); + + NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column"); + +@@ -26218,7 +26211,10 @@ nsresult Cursor::OpenOp::DoIndexKeyDatab + NS_LITERAL_CSTRING( + "object_data_key " + " FROM ") + +- table + NS_LITERAL_CSTRING(" WHERE index_id = :") + ++ (mCursor->mUniqueIndex ++ ? NS_LITERAL_CSTRING("unique_index_data") ++ : NS_LITERAL_CSTRING("index_data")) + ++ NS_LITERAL_CSTRING(" WHERE index_id = :") + + kStmtParamNameId; + + const auto keyRangeClause = diff --git a/workaround_dom_indexdb_actorsparent_allignment.patch b/workaround_dom_indexdb_actorsparent_allignment.patch deleted file mode 100644 index 7002c6d..0000000 --- a/workaround_dom_indexdb_actorsparent_allignment.patch +++ /dev/null @@ -1,114 +0,0 @@ -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; -- const auto& optReplaceDirective = (!mOverwrite || keyUnset) -- ? NS_LITERAL_CSTRING("") -- : NS_LITERAL_CSTRING("OR REPLACE "); - rv = aConnection->GetCachedStatement( -- NS_LITERAL_CSTRING("INSERT ") + optReplaceDirective + -+ NS_LITERAL_CSTRING("INSERT ") + -+ ((!mOverwrite || keyUnset) -+ ? NS_LITERAL_CSTRING("") -+ : NS_LITERAL_CSTRING("OR REPLACE ")) + - NS_LITERAL_CSTRING("INTO object_data " - "(object_store_id, key, file_ids, data) " - "VALUES (:") + -@@ -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(); - -- const auto& indexTable = mCursor->mUniqueIndex -- ? NS_LITERAL_CSTRING("unique_index_data") -- : NS_LITERAL_CSTRING("index_data"); - - NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column"); - -@@ -26099,7 +26093,9 @@ nsresult Cursor::OpenOp::DoIndexDatabase - "object_data.file_ids, " - "object_data.data " - "FROM ") + -- indexTable + -+ (mCursor->mUniqueIndex -+ ? NS_LITERAL_CSTRING("unique_index_data") -+ : NS_LITERAL_CSTRING("index_data")) + - NS_LITERAL_CSTRING( - " AS index_table " - "JOIN object_data " -@@ -26198,9 +26194,6 @@ nsresult Cursor::OpenOp::DoIndexKeyDatab - - const bool usingKeyRange = mOptionalKeyRange.isSome(); - -- const auto& table = mCursor->mUniqueIndex -- ? NS_LITERAL_CSTRING("unique_index_data") -- : NS_LITERAL_CSTRING("index_data"); - - NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column"); - -@@ -26218,7 +26211,10 @@ nsresult Cursor::OpenOp::DoIndexKeyDatab - NS_LITERAL_CSTRING( - "object_data_key " - " FROM ") + -- table + NS_LITERAL_CSTRING(" WHERE index_id = :") + -+ (mCursor->mUniqueIndex -+ ? NS_LITERAL_CSTRING("unique_index_data") -+ : NS_LITERAL_CSTRING("index_data")) + -+ NS_LITERAL_CSTRING(" WHERE index_id = :") + - kStmtParamNameId; - - const auto keyRangeClause =