diff --git a/0001-Resolves-tdf-132739-two-style-tags-where-there-shoul.patch b/0001-Resolves-tdf-132739-two-style-tags-where-there-shoul.patch new file mode 100644 index 0000000..35d4056 --- /dev/null +++ b/0001-Resolves-tdf-132739-two-style-tags-where-there-shoul.patch @@ -0,0 +1,69 @@ +From 5d56e9f13b9c6ccad080efaea9cbc7f065b56bac Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= +Date: Thu, 12 Aug 2021 12:55:30 +0100 +Subject: [PATCH] Resolves: tdf#132739 two style tags where there should be + just one + +Change-Id: Id9c8c8cc8c5ffdd21ba79ff39a6279cf2ddc8025 +--- + sw/source/filter/html/css1atr.cxx | 4 +++- + sw/source/filter/html/htmltabw.cxx | 9 ++++++--- + sw/source/filter/html/wrthtml.hxx | 2 +- + 3 files changed, 10 insertions(+), 5 deletions(-) + +diff --git a/sw/source/filter/html/css1atr.cxx b/sw/source/filter/html/css1atr.cxx +index 7b1a5cc19be3..c401d95a788f 100644 +--- a/sw/source/filter/html/css1atr.cxx ++++ b/sw/source/filter/html/css1atr.cxx +@@ -2113,10 +2113,12 @@ void SwHTMLWriter::OutCSS1_TableFrameFormatOptions( const SwFrameFormat& rFrameF + Strm().WriteChar( '\"' ); + } + +-void SwHTMLWriter::OutCSS1_TableCellBorderHack(SwFrameFormat const& rFrameFormat) ++void SwHTMLWriter::OutCSS1_TableCellBordersAndBG(SwFrameFormat const& rFrameFormat, const SvxBrushItem *pBrushItem) + { + SwCSS1OutMode const aMode( *this, + CSS1_OUTMODE_STYLE_OPT_ON|CSS1_OUTMODE_ENCODE|CSS1_OUTMODE_TABLEBOX, nullptr ); ++ if (pBrushItem) ++ OutCSS1_SvxBrush(*this, *pBrushItem, Css1Background::Table, nullptr); + OutCSS1_SvxBox(*this, rFrameFormat.GetBox()); + if (!m_bFirstCSS1Property) + { +diff --git a/sw/source/filter/html/htmltabw.cxx b/sw/source/filter/html/htmltabw.cxx +index 4c83319747b7..63812a9b3ef6 100644 +--- a/sw/source/filter/html/htmltabw.cxx ++++ b/sw/source/filter/html/htmltabw.cxx +@@ -424,11 +424,14 @@ void SwHTMLWrtTable::OutTableCell( SwHTMLWriter& rWrt, + // Avoid non-CSS version in the ReqIF case. + rWrt.OutBackground( pBrushItem, false ); + +- if( rWrt.m_bCfgOutStyles ) +- OutCSS1_TableBGStyleOpt( rWrt, *pBrushItem ); ++ if (!rWrt.m_bCfgOutStyles) ++ pBrushItem = nullptr; + } + +- rWrt.OutCSS1_TableCellBorderHack(*pBox->GetFrameFormat()); ++ // tdf#132739 with rWrt.m_bCfgOutStyles of true bundle the brush item css ++ // properties into the same "style" tag as the borders so there is only one ++ // style tag ++ rWrt.OutCSS1_TableCellBordersAndBG(*pBox->GetFrameFormat(), pBrushItem); + + sal_uInt32 nNumFormat = 0; + double nValue = 0.0; +diff --git a/sw/source/filter/html/wrthtml.hxx b/sw/source/filter/html/wrthtml.hxx +index ab282ba652ff..f82325ee50ae 100644 +--- a/sw/source/filter/html/wrthtml.hxx ++++ b/sw/source/filter/html/wrthtml.hxx +@@ -484,7 +484,7 @@ public: + void writeFrameFormatOptions(HtmlWriter& aHtml, const SwFrameFormat& rFrameFormat, const OUString& rAltText, HtmlFrmOpts nFrameOpts); + + void OutCSS1_TableFrameFormatOptions( const SwFrameFormat& rFrameFormat ); +- void OutCSS1_TableCellBorderHack(const SwFrameFormat& rFrameFormat); ++ void OutCSS1_TableCellBordersAndBG(const SwFrameFormat& rFrameFormat, const SvxBrushItem *pBrushItem); + void OutCSS1_SectionFormatOptions( const SwFrameFormat& rFrameFormat, const SwFormatCol *pCol ); + void OutCSS1_FrameFormatOptions( const SwFrameFormat& rFrameFormat, HtmlFrmOpts nFrameOpts, + const SdrObject *pSdrObj=nullptr, +-- +2.31.1 + diff --git a/0001-make-with-idlc-cpp-cpp-work-for-gcc-cpp-as-a-ucpp-re.patch b/0001-make-with-idlc-cpp-cpp-work-for-gcc-cpp-as-a-ucpp-re.patch new file mode 100644 index 0000000..9d4ed5c --- /dev/null +++ b/0001-make-with-idlc-cpp-cpp-work-for-gcc-cpp-as-a-ucpp-re.patch @@ -0,0 +1,111 @@ +From 748a9fd3a8e90e52a126190dbe0d97da6e0941ff Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= +Date: Wed, 11 Aug 2021 20:55:14 +0100 +Subject: [PATCH] make --with-idlc-cpp=cpp work for gcc cpp as a ucpp + replacement + +e.g. the example of +https://bugs.launchpad.net/ubuntu/+source/libreoffice/+bug/1524638 +has the same output .urd using cpp with these flags as ucpp created + +Change-Id: Iadfd2deba7d365c66c3260fd6736c031987e107c +--- + config_host.mk.in | 1 + + configure.ac | 14 ++++++++++++++ + idlc/Executable_idlc.mk | 8 ++++++++ + idlc/source/idlccompile.cxx | 8 ++++++++ + 4 files changed, 31 insertions(+) + +diff --git a/config_host.mk.in b/config_host.mk.in +index 58ca1d1c14fb..6810660067b0 100644 +--- a/config_host.mk.in ++++ b/config_host.mk.in +@@ -635,6 +635,7 @@ export SYSTEM_RHINO=@SYSTEM_RHINO@ + export SYSTEM_SERF=@SYSTEM_SERF@ + export SYSTEM_STAROFFICE=@SYSTEM_STAROFFICE@ + export SYSTEM_UCPP=@SYSTEM_UCPP@ ++export SYSTEM_UCPP_IS_GCC=@SYSTEM_UCPP_IS_GCC@ + export SYSTEM_VISIO=@SYSTEM_VISIO@ + export SYSTEM_WPD=@SYSTEM_WPD@ + export SYSTEM_WPG=@SYSTEM_WPG@ +diff --git a/configure.ac b/configure.ac +index 3d2bf7e24555..ac226fd46ace 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -8807,9 +8807,22 @@ dnl =================================================================== + dnl Check for C preprocessor to use + dnl =================================================================== + AC_MSG_CHECKING([which C preprocessor to use in idlc]) ++SYSTEM_UCPP_IS_GCC= + if test -n "$with_idlc_cpp"; then + AC_MSG_RESULT([$with_idlc_cpp]) + AC_PATH_PROG(SYSTEM_UCPP, $with_idlc_cpp) ++ AC_MSG_CHECKING([if $with_idlc_cpp is GCC CPP]) ++ # ucpp will accept -v (to output version), warn about the others as unknown ++ # and return 1 (due to -v) ++ # gcc will accept -v (as verbose), --version (to output version) and -nostdinc ++ # and return 0 (due to --version ) if all options are supported ++ $SYSTEM_UCPP -v --version -nostdinc >/dev/null 2>/dev/null ++ if test $? -eq 0; then ++ SYSTEM_UCPP_IS_GCC=TRUE ++ AC_MSG_RESULT([yes]) ++ else ++ AC_MSG_RESULT([no]) ++ fi + else + AC_MSG_RESULT([ucpp]) + AC_MSG_CHECKING([which ucpp tp use]) +@@ -8822,6 +8835,7 @@ else + fi + fi + AC_SUBST(SYSTEM_UCPP) ++AC_SUBST(SYSTEM_UCPP_IS_GCC) + + dnl =================================================================== + dnl Check for epm (not needed for Windows) +diff --git a/idlc/Executable_idlc.mk b/idlc/Executable_idlc.mk +index e194e9049c77..f2f79dcb8911 100644 +--- a/idlc/Executable_idlc.mk ++++ b/idlc/Executable_idlc.mk +@@ -35,10 +35,18 @@ $(eval $(call gb_Executable_add_scanners,idlc,\ + )) + + ifneq (,$(SYSTEM_UCPP)) ++ + $(eval $(call gb_Executable_add_defs,idlc,\ + -DSYSTEM_UCPP \ + -DUCPP=\"file://$(SYSTEM_UCPP)\" \ + )) ++ ++ifneq ($(SYSTEM_UCPP_IS_GCC),) ++$(eval $(call gb_Executable_add_defs,idlc,\ ++ -DSYSTEM_UCPP_IS_GCC \ ++)) ++endif ++ + endif + + $(eval $(call gb_Executable_add_exception_objects,idlc,\ +diff --git a/idlc/source/idlccompile.cxx b/idlc/source/idlccompile.cxx +index bf3325d6821a..1902d63e0cad 100644 +--- a/idlc/source/idlccompile.cxx ++++ b/idlc/source/idlccompile.cxx +@@ -237,7 +237,15 @@ sal_Int32 compileFile(const OString * pathname) + ::std::vector< OUString> lCppArgs; + lCppArgs.emplace_back("-DIDL"); + lCppArgs.emplace_back("-C"); ++#ifdef SYSTEM_UCPP_IS_GCC ++ // -nostdinc Do not search the standard system directories for header files ++ lCppArgs.emplace_back("-nostdinc"); ++ // with gcc cpp, even when not explicitly including anything, /usr/include/stdc-predef.h ++ // gets inserted without -nostdinc ++#else ++ // -zI Do not use the standard (compile-time) include path. + lCppArgs.emplace_back("-zI"); ++#endif + + Options* pOptions = idlc()->getOptions(); + +-- +2.31.1 + diff --git a/libreoffice.spec b/libreoffice.spec index ecbfbe1..da7131b 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -50,7 +50,7 @@ Summary: Free Software Productivity Suite Name: libreoffice Epoch: 1 Version: %{libo_version}.2 -Release: 4%{?libo_prerelease}%{?dist} +Release: 5%{?libo_prerelease}%{?dist} License: (MPLv1.1 or LGPLv3+) and LGPLv3 and LGPLv2+ and BSD and (MPLv1.1 or GPLv2 or LGPLv2 or Netscape) and Public Domain and ASL 2.0 and MPLv2.0 and CC0 URL: http://www.libreoffice.org/ @@ -116,7 +116,6 @@ BuildRequires: perl(base) BuildRequires: glibc-all-langpacks BuildRequires: libappstream-glib %endif -BuildRequires: ucpp BuildRequires: zip # libs / headers - common @@ -258,6 +257,8 @@ Patch8: 0001-Simplify-construction-of-a-hardcoded-IPv4-address.patch Patch9: 0001-Remove-unused-DOCTYPE-from-odk-examples-xcu-file.patch Patch10: 0001-math.desktop-include-Spreadsheet-category.patch Patch11: 0001-rhbz-1980800-allow-convert-to-csv-to-write-each-shee.patch +Patch12: 0001-make-with-idlc-cpp-cpp-work-for-gcc-cpp-as-a-ucpp-re.patch +Patch13: 0001-Resolves-tdf-132739-two-style-tags-where-there-shoul.patch # not upstreamed Patch500: 0001-disable-libe-book-support.patch @@ -1111,7 +1112,7 @@ touch autogen.lastrun --with-gdrive-client-secret="GYWrDtzyZQZ0_g5YoBCC6F0I" \ --with-gdrive-client-id="457862564325.apps.googleusercontent.com" \ --enable-python=system \ - --with-system-ucpp \ + --with-idlc-cpp=cpp \ %{distrooptions} \ %{?bundling_options} \ %{?archoptions} \ @@ -2243,7 +2244,11 @@ gtk-update-icon-cache -q %{_datadir}/icons/hicolor &>/dev/null || : %{_includedir}/LibreOfficeKit %changelog -* Mon Aug 09 2021 Mohan Boddu +* Thu Aug 12 2021 Caolán McNamara - 1:7.1.5.2-5 +- replace use of ucpp with gcc cpp +- Resolves: tdf#132739 two html style tags where there should be just one + +* Mon Aug 09 2021 Mohan Boddu - 1:7.1.5.2-4 - Rebuilt for IMA sigs, glibc 2.34, aarch64 flags Related: rhbz#1991688