Accepting request 724527 from LibreOffice:Factory

- Fix syntax for RPM on SLE12

- Add patch to build with mdds-1.5:
  * mdds-1-5.patch

- Update to 6.2.6.2 bsc#1146098 CVE-2019-9850
  bsc#1146105 CVE-2019-9851 bsc#1146107 CVE-2019-9852:
  * Various bugfixes of 6.2 branch

- Fix bsc#1133534 LO-L3: [PPTX] SmartArt: Basic rendering of Trapezoid List
  * bsc1133534.patch

OBS-URL: https://build.opensuse.org/request/show/724527
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libreoffice?expand=0&rev=185
This commit is contained in:
Dominique Leuenberger 2019-08-22 13:04:08 +00:00 committed by Git OBS Bridge
commit c3177b11e1
3 changed files with 286 additions and 12 deletions

View File

@ -1,3 +1,21 @@
-------------------------------------------------------------------
Fri Aug 16 11:43:53 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Fix syntax for RPM on SLE12
-------------------------------------------------------------------
Fri Aug 16 08:31:36 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Add patch to build with mdds-1.5:
* mdds-1-5.patch
-------------------------------------------------------------------
Tue Aug 13 13:56:08 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 6.2.6.2 bsc#1146098 CVE-2019-9850
bsc#1146105 CVE-2019-9851 bsc#1146107 CVE-2019-9852:
* Various bugfixes of 6.2 branch
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Aug 8 08:23:33 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com> Thu Aug 8 08:23:33 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
@ -33,6 +51,12 @@ Mon Jul 8 10:36:15 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Remove merged patch: - Remove merged patch:
* 0001-Use-sort-on-finds-to-improve-deterministic-build.patch * 0001-Use-sort-on-finds-to-improve-deterministic-build.patch
-------------------------------------------------------------------
Sat Jul 6 20:40:44 UTC 2019 - Andras Timar <andras.timar@collabora.com>
- Fix bsc#1133534 LO-L3: [PPTX] SmartArt: Basic rendering of Trapezoid List
* bsc1133534.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Jul 1 10:29:34 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com> Mon Jul 1 10:29:34 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>

View File

@ -101,6 +101,7 @@ Patch1: scp2-user-config-suse.diff
Patch2: nlpsolver-no-broken-help.diff Patch2: nlpsolver-no-broken-help.diff
Patch3: mediawiki-no-broken-help.diff Patch3: mediawiki-no-broken-help.diff
Patch4: gcc.patch Patch4: gcc.patch
Patch5: mdds-1-5.patch
# try to save space by using hardlinks # try to save space by using hardlinks
Patch990: install-with-hardlinks.diff Patch990: install-with-hardlinks.diff
# save time by relying on rpm check rather than doing stupid find+grep # save time by relying on rpm check rather than doing stupid find+grep
@ -120,13 +121,13 @@ BuildRequires: dejavu-fonts
BuildRequires: doxygen >= 1.8.4 BuildRequires: doxygen >= 1.8.4
# Dot is used by doxygen # Dot is used by doxygen
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: flex BuildRequires: flex >= 2.6.0
BuildRequires: flute BuildRequires: flute
BuildRequires: fontforge BuildRequires: fontforge
BuildRequires: glm-devel BuildRequires: glm-devel
# Needed for tests # Needed for tests
BuildRequires: google-carlito-fonts BuildRequires: google-carlito-fonts
BuildRequires: gperf >= 3.0.0 BuildRequires: gperf >= 3.1
BuildRequires: graphviz BuildRequires: graphviz
BuildRequires: hyphen-devel BuildRequires: hyphen-devel
# genbrk binary is required # genbrk binary is required
@ -199,7 +200,7 @@ BuildRequires: pkgconfig(libmspub-0.1) >= 0.1
BuildRequires: pkgconfig(libmwaw-0.3) >= 0.3.15 BuildRequires: pkgconfig(libmwaw-0.3) >= 0.3.15
BuildRequires: pkgconfig(libnumbertext) >= 1.0.5 BuildRequires: pkgconfig(libnumbertext) >= 1.0.5
BuildRequires: pkgconfig(libodfgen-0.1) >= 0.1.4 BuildRequires: pkgconfig(libodfgen-0.1) >= 0.1.4
BuildRequires: pkgconfig(liborcus-0.14) BuildRequires: pkgconfig(liborcus-0.15)
BuildRequires: pkgconfig(libpagemaker-0.0) BuildRequires: pkgconfig(libpagemaker-0.0)
BuildRequires: pkgconfig(libpq) BuildRequires: pkgconfig(libpq)
BuildRequires: pkgconfig(libqxp-0.0) BuildRequires: pkgconfig(libqxp-0.0)
@ -213,7 +214,7 @@ BuildRequires: pkgconfig(libwps-0.4) >= 0.4.10
BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(libxslt) BuildRequires: pkgconfig(libxslt)
BuildRequires: pkgconfig(libzmf-0.0) BuildRequires: pkgconfig(libzmf-0.0)
BuildRequires: pkgconfig(mdds-1.4) >= 1.4.1 BuildRequires: pkgconfig(mdds-1.5) >= 1.5.0
BuildRequires: pkgconfig(mythes) BuildRequires: pkgconfig(mythes)
BuildRequires: pkgconfig(nspr) >= 4.8 BuildRequires: pkgconfig(nspr) >= 4.8
BuildRequires: pkgconfig(nss) >= 3.9.3 BuildRequires: pkgconfig(nss) >= 3.9.3
@ -559,9 +560,12 @@ This package contains some GNOME extensions and GTK2 interface for LibreOffice.
Summary: Gtk3 interface for LibreOffice Summary: Gtk3 interface for LibreOffice
Group: Productivity/Office/Suite Group: Productivity/Office/Suite
Requires: %{name}-gnome = %{version} Requires: %{name}-gnome = %{version}
Supplements: (libreoffice and gnome-session) Supplements: packageand(libreoffice:gnome-session)
Supplements: (libreoffice and mate-session-manager) Supplements: packageand(libreoffice:mate-session-manager)
Supplements: (libreoffice and xfce4-session) Supplements: packageand(libreoffice:xfce4-session)
%if !%{with kdeintegration}
Supplements: packageand(libreoffice:plasma5-workspace)
%endif
%description gtk3 %description gtk3
This package contains Gtk3 interface rendering option for LibreOffice. This package contains Gtk3 interface rendering option for LibreOffice.
@ -573,11 +577,11 @@ Recommends: %{name}-gnome = %{version}
Conflicts: %{name}-gnome < %{version} Conflicts: %{name}-gnome < %{version}
# We are default if gtk3 is not present # We are default if gtk3 is not present
%if !%{with gtk3} %if !%{with gtk3}
Supplements: (libreoffice and gnome-session) Supplements: packageand(libreoffice:gnome-session)
%endif # Without kde and gtk3 ntegration we provide gtk2 interface there
# Without kde integration we provide gtk2 interface there
%if !%{with kdeintegration} %if !%{with kdeintegration}
Supplements: (libreoffice and plasma5-workspace) Supplements: packageand(libreoffice:plasma5-workspace)
%endif
%endif %endif
%description gtk2 %description gtk2
@ -587,7 +591,7 @@ This package contains Gtk2 interface rendering option for LibreOffice.
Summary: Qt5/KDE Frameworks interface for LibreOffice Summary: Qt5/KDE Frameworks interface for LibreOffice
Group: Productivity/Office/Suite Group: Productivity/Office/Suite
Requires: %{name} = %{version} Requires: %{name} = %{version}
Supplements: (libreoffice and plasma5-workspace) Supplements: packageand(libreoffice:plasma5-workspace)
Provides: %{name}-kde4 = %{version} Provides: %{name}-kde4 = %{version}
Obsoletes: %{name}-kde4 < %{version} Obsoletes: %{name}-kde4 < %{version}
@ -982,6 +986,7 @@ Provides %{langname} translations and additional resources (help files, etc.) fo
%patch2 %patch2
%patch3 %patch3
%patch4 -p1 %patch4 -p1
%patch5 -p1
%patch990 -p1 %patch990 -p1
%patch991 -p1 %patch991 -p1

245
mdds-1-5.patch Normal file
View File

@ -0,0 +1,245 @@
From 56ffe3c0a1261cd98a3d42b8b08d5f8eb013ead4 Mon Sep 17 00:00:00 2001
From: Kohei Yoshida <kohei@libreoffice.org>
Date: Mon, 12 Aug 2019 13:57:34 -0400
Subject: Switch mdds to 1.5.0 and liborcus to 0.15.0.
Change-Id: Ibff9a5e0f0771e4cf12b4dc3985661a01195e265
Reviewed-on: https://gerrit.libreoffice.org/77482
Tested-by: Jenkins
Reviewed-by: Kohei Yoshida <kohei@libreoffice.org>
---
RepositoryExternal.mk | 4 ++--
configure.ac | 4 ++--
download.lst | 8 +++----
.../0001-Prevent-unsigned-integer-underflow.patch | 27 ----------------------
external/liborcus/ExternalPackage_liborcus.mk | 8 +++----
external/liborcus/ExternalProject_liborcus.mk | 4 ++--
external/liborcus/Library_orcus-parser.mk | 2 ++
external/liborcus/Library_orcus.mk | 7 ++++++
external/liborcus/UnpackedTarball_liborcus.mk | 3 ---
external/liborcus/version.patch.0 | 11 ---------
sc/inc/mtvelements.hxx | 8 +++----
sc/inc/orcusxml.hxx | 1 +
sc/qa/unit/dataproviders_test.cxx | 1 +
sc/source/core/tool/scmatrix.cxx | 8 +++----
sc/source/filter/inc/orcusinterface.hxx | 2 ++
sc/source/filter/orcus/interface.cxx | 8 +++++--
sc/source/filter/orcus/orcusfiltersimpl.cxx | 4 ++--
sc/source/filter/orcus/xmlcontext.cxx | 9 +++++++-
sc/source/ui/xmlsource/xmlsourcedlg.cxx | 6 +++++
svl/source/misc/gridprinter.cxx | 2 +-
20 files changed, 58 insertions(+), 69 deletions(-)
delete mode 100644 external/liborcus/0001-Prevent-unsigned-integer-underflow.patch
delete mode 100644 external/liborcus/version.patch.0
diff --git a/configure.ac b/configure.ac
index 1510daf..d0e6759 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9291,7 +9291,7 @@ AC_SUBST(SYSTEM_BOOST)
dnl ===================================================================
dnl Check for system mdds
dnl ===================================================================
-libo_CHECK_SYSTEM_MODULE([mdds], [MDDS], [mdds-1.4 >= 1.4.1], ["-I${WORKDIR}/UnpackedTarball/mdds/include"])
+libo_CHECK_SYSTEM_MODULE([mdds], [MDDS], [mdds-1.5 >= 1.5.0], ["-I${WORKDIR}/UnpackedTarball/mdds/include"])
dnl ===================================================================
dnl Check for system glm
@@ -9597,7 +9597,7 @@ AC_SUBST(ENABLE_FUZZERS)
dnl ===================================================================
dnl Orcus
dnl ===================================================================
-libo_CHECK_SYSTEM_MODULE([orcus],[ORCUS],[liborcus-0.14 >= 0.14.0])
+libo_CHECK_SYSTEM_MODULE([orcus],[ORCUS],[liborcus-0.15 >= 0.15.0])
if test "$with_system_orcus" != "yes"; then
if test "$SYSTEM_BOOST" = "TRUE"; then
# ===========================================================
diff --git a/sc/inc/mtvelements.hxx b/sc/inc/mtvelements.hxx
index 407f039..382fb4d 100644
--- a/sc/inc/mtvelements.hxx
+++ b/sc/inc/mtvelements.hxx
@@ -52,9 +52,9 @@ const mdds::mtv::element_t element_type_formula = mdds::mtv::element_type_user_s
const mdds::mtv::element_t element_type_cellnote = mdds::mtv::element_type_user_start + 5;
/// Mapped standard element types (for convenience).
-const mdds::mtv::element_t element_type_numeric = mdds::mtv::element_type_numeric;
+const mdds::mtv::element_t element_type_numeric = mdds::mtv::element_type_double;
const mdds::mtv::element_t element_type_empty = mdds::mtv::element_type_empty;
-const mdds::mtv::element_t element_type_uint16 = mdds::mtv::element_type_ushort;
+const mdds::mtv::element_t element_type_uint16 = mdds::mtv::element_type_uint16;
/// Custom element blocks.
@@ -66,8 +66,8 @@ typedef mdds::mtv::noncopyable_managed_element_block<element_type_edittext, Edit
typedef mdds::mtv::noncopyable_managed_element_block<element_type_formula, ScFormulaCell> formula_block;
/// Mapped standard element blocks (for convenience).
-typedef mdds::mtv::numeric_element_block numeric_block;
-typedef mdds::mtv::ushort_element_block uint16_block;
+typedef mdds::mtv::double_element_block numeric_block;
+typedef mdds::mtv::uint16_element_block uint16_block;
/// This needs to be in the same namespace as CellTextAttr.
MDDS_MTV_DEFINE_ELEMENT_CALLBACKS(CellTextAttr, element_type_celltextattr, CellTextAttr(), celltextattr_block)
diff --git a/sc/inc/orcusxml.hxx b/sc/inc/orcusxml.hxx
index ced991e..5db292c 100644
--- a/sc/inc/orcusxml.hxx
+++ b/sc/inc/orcusxml.hxx
@@ -69,6 +69,7 @@ struct ScOrcusImportXMLParam
{
ScAddress maPos;
std::vector<OString> maFieldPaths;
+ std::vector<OString> maRowGroups;
};
typedef std::vector<CellLink> CellLinksType;
diff --git a/sc/qa/unit/dataproviders_test.cxx b/sc/qa/unit/dataproviders_test.cxx
index 1e9cf97..a9b6b11 100644
--- a/sc/qa/unit/dataproviders_test.cxx
+++ b/sc/qa/unit/dataproviders_test.cxx
@@ -156,6 +156,7 @@ void ScDataProvidersTest::testXMLImport()
aRangeLink.maPos = ScAddress(0,0,0);
aRangeLink.maFieldPaths.push_back("/bookstore/book/title");
aRangeLink.maFieldPaths.push_back("/bookstore/book/author");
+ aRangeLink.maRowGroups.push_back("/bookstore/book");
aParam.maRangeLinks.push_back(aRangeLink);
createFileURL("test1.", "xml", aFileURL);
diff --git a/sc/source/core/tool/scmatrix.cxx b/sc/source/core/tool/scmatrix.cxx
index 04660ab..2c03fe0 100644
--- a/sc/source/core/tool/scmatrix.cxx
+++ b/sc/source/core/tool/scmatrix.cxx
@@ -1935,8 +1935,8 @@ public:
{
case mdds::mtm::element_numeric:
{
- numeric_element_block::const_iterator it = numeric_element_block::begin(*node.data);
- numeric_element_block::const_iterator itEnd = numeric_element_block::end(*node.data);
+ double_element_block::const_iterator it = double_element_block::begin(*node.data);
+ double_element_block::const_iterator itEnd = double_element_block::end(*node.data);
for (; it != itEnd; ++it, ++miPos)
*miPos = *it;
}
@@ -2012,8 +2012,8 @@ public:
{
case mdds::mtm::element_numeric:
{
- numeric_element_block::const_iterator it = numeric_element_block::begin(*node.data);
- numeric_element_block::const_iterator itEnd = numeric_element_block::end(*node.data);
+ double_element_block::const_iterator it = double_element_block::begin(*node.data);
+ double_element_block::const_iterator itEnd = double_element_block::end(*node.data);
for (; it != itEnd; ++it, ++miPos)
{
if (GetDoubleErrorValue(*miPos) == FormulaError::ElementNaN)
diff --git a/sc/source/filter/inc/orcusinterface.hxx b/sc/source/filter/inc/orcusinterface.hxx
index 9d090b7..7c7c4f2 100644
--- a/sc/source/filter/inc/orcusinterface.hxx
+++ b/sc/source/filter/inc/orcusinterface.hxx
@@ -332,6 +332,8 @@ public:
virtual orcus::spreadsheet::range_size_t get_sheet_size() const override;
+ virtual void fill_down_cells(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::row_t range_size) override;
+
SCTAB getIndex() const { return mnTab; }
const sc::SharedFormulaGroups& getSharedFormulaGroups() const;
diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx
index 833fb27..23f17a1 100644
--- a/sc/source/filter/orcus/interface.cxx
+++ b/sc/source/filter/orcus/interface.cxx
@@ -61,8 +61,7 @@ formula::FormulaGrammar::Grammar getCalcGrammarFromOrcus( os::formula_grammar_t
case orcus::spreadsheet::formula_grammar_t::ods:
eGrammar = formula::FormulaGrammar::GRAM_ODFF;
break;
- case orcus::spreadsheet::formula_grammar_t::xlsx_2007:
- case orcus::spreadsheet::formula_grammar_t::xlsx_2010:
+ case orcus::spreadsheet::formula_grammar_t::xlsx:
eGrammar = formula::FormulaGrammar::GRAM_OOXML;
break;
case orcus::spreadsheet::formula_grammar_t::gnumeric:
@@ -1188,6 +1187,11 @@ orcus::spreadsheet::range_size_t ScOrcusSheet::get_sheet_size() const
return ret;
}
+void ScOrcusSheet::fill_down_cells(os::row_t /*row*/, os::col_t /*col*/, os::row_t /*range_size*/)
+{
+ // TODO : implement this.
+}
+
const sc::SharedFormulaGroups& ScOrcusSheet::getSharedFormulaGroups() const
{
return maFormulaGroups;
diff --git a/sc/source/filter/orcus/orcusfiltersimpl.cxx b/sc/source/filter/orcus/orcusfiltersimpl.cxx
index cdfb70d..8e9b0b1 100644
--- a/sc/source/filter/orcus/orcusfiltersimpl.cxx
+++ b/sc/source/filter/orcus/orcusfiltersimpl.cxx
@@ -139,10 +139,10 @@ bool ScOrcusFiltersImpl::importODS_Styles(ScDocument& rDoc, OUString& aPath) con
try
{
- std::string content = orcus::load_file_content(path);
+ orcus::file_content content(path);
ScOrcusFactory aFactory(rDoc);
ScOrcusStyles aStyles(aFactory);
- orcus::import_ods::read_styles(content.c_str(), content.size(), &aStyles);
+ orcus::import_ods::read_styles(content.data(), content.size(), &aStyles);
}
catch (const std::exception& e)
{
diff --git a/sc/source/filter/orcus/xmlcontext.cxx b/sc/source/filter/orcus/xmlcontext.cxx
index 2548f5b..71c44bc 100644
--- a/sc/source/filter/orcus/xmlcontext.cxx
+++ b/sc/source/filter/orcus/xmlcontext.cxx
@@ -269,10 +269,17 @@ void ScOrcusXMLContextImpl::importXML(const ScOrcusImportXMLParam& rParam)
std::for_each(rLink.maFieldPaths.begin(), rLink.maFieldPaths.end(), InsertFieldPath(filter));
+ std::for_each(rLink.maRowGroups.begin(), rLink.maRowGroups.end(),
+ [&filter] (const OString& rRowGroup)
+ {
+ filter.set_range_row_group(rRowGroup.getStr());
+ }
+ );
+
filter.commit_range();
}
- std::string content = orcus::load_file_content(path);
+ orcus::file_content content(path);
filter.read_stream(content.data(), content.size());
aFactory.finalize();
diff --git a/sc/source/ui/xmlsource/xmlsourcedlg.cxx b/sc/source/ui/xmlsource/xmlsourcedlg.cxx
index 95e8006..26b0cbc 100644
--- a/sc/source/ui/xmlsource/xmlsourcedlg.cxx
+++ b/sc/source/ui/xmlsource/xmlsourcedlg.cxx
@@ -533,6 +533,12 @@ void ScXMLSourceDlg::OkPressed()
// Go through all its child elements.
getFieldLinks(aRangeLink, aParam.maNamespaces, *mxLbTree, *rEntry);
+ // Add the anchor node as a grouping node, which will be used as a
+ // row position increment point.
+ OUString aThisEntry = getXPath(*mxLbTree, *rEntry, aParam.maNamespaces);
+ aRangeLink.maRowGroups.push_back(
+ OUStringToOString(aThisEntry, RTL_TEXTENCODING_UTF8));
+
aParam.maRangeLinks.push_back(aRangeLink);
}
}
diff --git a/svl/source/misc/gridprinter.cxx b/svl/source/misc/gridprinter.cxx
index e129457..4f013d4 100644
--- a/svl/source/misc/gridprinter.cxx
+++ b/svl/source/misc/gridprinter.cxx
@@ -29,7 +29,7 @@ typedef mdds::mtv::default_element_block<element_type_string, OUString> string_b
struct matrix_trait
{
typedef string_block string_element_block;
- typedef mdds::mtv::ushort_element_block integer_element_block;
+ typedef mdds::mtv::uint16_element_block integer_element_block;
typedef mdds::mtv::custom_block_func1<string_block> element_block_func;
};
--
cgit v1.1