Resolves: rhbz#1983557 upgrade to 7.1.5

This commit is contained in:
Caolán McNamara 2021-08-05 12:22:19 +01:00
parent c3053967cd
commit 7b695aabea
10 changed files with 456 additions and 3046 deletions

12
.gitignore vendored
View File

@ -6,9 +6,9 @@
/f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf
/libreoffice-multiliblauncher.sh
/dtoa-20180411.tgz
/libreoffice-7.1.4.2.tar.xz
/libreoffice-7.1.4.2.tar.xz.asc
/libreoffice-help-7.1.4.2.tar.xz
/libreoffice-help-7.1.4.2.tar.xz.asc
/libreoffice-translations-7.1.4.2.tar.xz
/libreoffice-translations-7.1.4.2.tar.xz.asc
/libreoffice-7.1.5.2.tar.xz
/libreoffice-7.1.5.2.tar.xz.asc
/libreoffice-help-7.1.5.2.tar.xz
/libreoffice-help-7.1.5.2.tar.xz.asc
/libreoffice-translations-7.1.5.2.tar.xz.asc
/libreoffice-translations-7.1.5.2.tar.xz

View File

@ -1,26 +0,0 @@
From 2382a2f6b4e84e3dc6c3b724b92dae8f991a76be Mon Sep 17 00:00:00 2001
From: Stephan Bergmann <sbergman@redhat.com>
Date: Mon, 31 May 2021 13:30:37 +0200
Subject: [PATCH] Adapt to hamcrest-2.2-3.fc35.noarch.rpm
Change-Id: Ibddfc30a5f0828ab77235ec1155f1c2e1eef24ee
---
configure.ac | 2 ++
1 file changed, 2 insertions(+)
diff --git a/configure.ac b/configure.ac
index 43fb8d877515..07954b2c3262 100644
--- a/configure.ac
+++ b/configure.ac
@@ -13427,6 +13427,8 @@ if test "$ENABLE_JAVA" != "" -a "$with_junit" != "no" -a "$cross_compiling" != "
HAMCREST_JAR=/usr/share/lib/java/hamcrest.jar
elif test -e /usr/share/java/hamcrest/core.jar; then
HAMCREST_JAR=/usr/share/java/hamcrest/core.jar
+ elif test -e /usr/share/java/hamcrest/hamcrest.jar; then
+ HAMCREST_JAR=/usr/share/java/hamcrest/hamcrest.jar
else
HAMCREST_JAR=/usr/share/java/hamcrest.jar
fi
--
2.31.1

View File

@ -1,80 +0,0 @@
From 4f85b6ec5964e2d9747f6743f9adc6ef1f951e4a Mon Sep 17 00:00:00 2001
From: Stephan Bergmann <sbergman@redhat.com>
Date: Wed, 5 May 2021 08:20:18 +0200
Subject: [PATCH] Adapt to "libstdc++: Implement LWG 1203 for rvalue iostreams"
<https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=aa475c4ac80733f85ba47b109fc1900f05e810e2>
towards GCC 12, so that now "the return type is the original rvalue stream type
not its base class." (And which would thus have caused issues like
> sfx2/source/control/bindings.cxx:1323:19: error: dynamic_cast from rvalue to reference type '::std::ostringstream &' (aka 'basic_ostringstream<char> &')
> ? SAL_STREAM("File: " << pFile << " Line: " << nLine) : ""));
> ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/sal/log.hxx:198:6: note: expanded from macro 'SAL_STREAM'
> (dynamic_cast< ::std::ostringstream & >(::std::ostringstream() << stream).str())
> ^
> include/sal/log.hxx:341:20: note: expanded from macro 'SAL_INFO'
> SAL_WHERE, stream)
> ~~~~~~~~~~~^~~~~~~
> include/sal/log.hxx:155:68: note: expanded from macro 'SAL_DETAIL_LOG_STREAM'
> SAL_DETAIL_LOG_STREAM_PRIVATE_(level, area, where, stream); \
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
> include/sal/log.hxx:133:45: note: expanded from macro 'SAL_DETAIL_LOG_STREAM_PRIVATE_'
> ::sal::detail::StreamStart() << stream) == 1) \
> ^~~~~~
now. While the issue with old libstdc++ that originally prompted the
dynamic_cast was
> sfx2/source/control/bindings.cxx:1323:19: error: no member named 'str' in 'std::basic_ostream<char>'
> ? SAL_STREAM("File: " << pFile << " Line: " << nLine) : ""));
> ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/sal/log.hxx:194:40: note: expanded from macro 'SAL_STREAM'
> (::std::ostringstream() << stream).str()
> ^
> include/sal/log.hxx:336:20: note: expanded from macro 'SAL_INFO'
> SAL_WHERE, stream)
> ~~~~~~~~~~~^~~~~~~
> include/sal/log.hxx:155:68: note: expanded from macro 'SAL_DETAIL_LOG_STREAM'
> SAL_DETAIL_LOG_STREAM_PRIVATE_(level, area, where, stream); \
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
> include/sal/log.hxx:133:45: note: expanded from macro 'SAL_DETAIL_LOG_STREAM_PRIVATE_'
> ::sal::detail::StreamStart() << stream) == 1) \
> ^~~~~~
.)
The libstdc++ macro _GLIBCXX_RELEASE is reportedly available since GCC 7.1.
Change-Id: I1ee6eabb66355c1f28b9d305cbd85bac50d6b0e1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115121
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
(cherry picked from commit 1f3dddd6f21d91c429190ae314dadeec409f35f4, plus
follow-up 95e26d3dce4f5a3b2d010d5ca47b4e450905a100 "tdf#142326: Adapt to
'libstdc++: Implement LWG 1203 for rvalue iostreams'")
Change-Id: I7c8fef25e15fcfa9b83924467dc86dc2957fbd7d
---
include/sal/log.hxx | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/include/sal/log.hxx b/include/sal/log.hxx
index 6bb0d1b43d3d..a0fa902dbce6 100644
--- a/include/sal/log.hxx
+++ b/include/sal/log.hxx
@@ -186,7 +186,10 @@ inline char const * unwrapStream(SAL_UNUSED_PARAMETER StreamIgnore const &) {
@since LibreOffice 3.5
*/
-#if defined _LIBCPP_VERSION || (defined _MSC_VER && _MSC_VER >= 1915)
+#if defined _LIBCPP_VERSION \
+ || (defined _GLIBCXX_RELEASE \
+ && (_GLIBCXX_RELEASE >= 12 || (_GLIBCXX_RELEASE == 11 && __GLIBCXX__ > 20210428))) \
+ || (defined _MSC_VER && _MSC_VER >= 1915)
#define SAL_STREAM(stream) \
(::std::ostringstream() << stream).str()
#else
--
2.31.1

View File

@ -1223,15 +1223,16 @@ diff --git a/solenv/flatpak-manifest.in b/solenv/flatpak-manifest.in
index d5699baefb90..8610fa05d6f5 100644
--- a/solenv/flatpak-manifest.in
+++ b/solenv/flatpak-manifest.in
@@ -476,12 +476,6 @@
"type": "file",
"dest-filename": "external/tarballs/beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip"
@@ -543,13 +543,6 @@
"dest": "external/tarballs",
"dest-filename": "beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip"
},
- {
- "url": "https://dev-www.libreoffice.org/src/commons-logging-1.2-src.tar.gz",
- "sha256": "49665da5a60d033e6dff40fe0a7f9173e886ae859ce6096c1afe34c48b677c81",
- "type": "file",
- "dest-filename": "external/tarballs/commons-logging-1.2-src.tar.gz"
- "dest": "external/tarballs",
- "dest-filename": "commons-logging-1.2-src.tar.gz"
- },
{
"url": "https://dev-www.libreoffice.org/src/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip",

File diff suppressed because it is too large Load Diff

View File

@ -1,201 +0,0 @@
From 3a19d8b8309070f8c14f3a3b4dc4b098ad64190f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Wed, 9 Jun 2021 10:20:57 +0100
Subject: [PATCH 1/2] dtd files are not xml files and shouldn't have xml
headers
so rpminspect is correct in complaining that they are not valid xml
on inspecting files claiming to be xml
Change-Id: I70379989326c2ea63e6a54b3658ebea4684fa5df
---
framework/dtd/accelerator.dtd | 1 -
framework/dtd/event.dtd | 1 -
framework/dtd/groupuinames.dtd | 1 -
framework/dtd/image.dtd | 1 -
framework/dtd/menubar.dtd | 1 -
framework/dtd/statusbar.dtd | 1 -
framework/dtd/toolbar.dtd | 1 -
i18npool/source/localedata/data/locale.dtd | 1 -
officecfg/registry/component-schema.dtd | 1 -
officecfg/registry/component-update.dtd | 1 -
package/dtd/Manifest.dtd | 1 -
xmerge/source/xmerge/converter.dtd | 1 -
xmloff/dtd/office.dtd | 1 -
xmlscript/dtd/dialog.dtd | 1 -
xmlscript/dtd/libraries.dtd | 2 --
xmlscript/dtd/library.dtd | 2 --
xmlscript/dtd/module.dtd | 2 --
17 files changed, 20 deletions(-)
diff --git a/framework/dtd/accelerator.dtd b/framework/dtd/accelerator.dtd
index f4dcac65242d..912b652d3cf5 100644
--- a/framework/dtd/accelerator.dtd
+++ b/framework/dtd/accelerator.dtd
@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?>
<!--
* This file is part of the LibreOffice project.
*
diff --git a/framework/dtd/event.dtd b/framework/dtd/event.dtd
index 7a66d15e571b..5af4a3dd267f 100644
--- a/framework/dtd/event.dtd
+++ b/framework/dtd/event.dtd
@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?>
<!--
* This file is part of the LibreOffice project.
*
diff --git a/framework/dtd/groupuinames.dtd b/framework/dtd/groupuinames.dtd
index a29b77a4f13e..218939cf9bae 100644
--- a/framework/dtd/groupuinames.dtd
+++ b/framework/dtd/groupuinames.dtd
@@ -24,4 +24,3 @@
groupuinames:name CDATA #REQUIRED
groupuinames:default-ui-name CDATA #REQUIRED
>
-
diff --git a/framework/dtd/image.dtd b/framework/dtd/image.dtd
index 59b0f3f92f08..fb69a5e5f4c8 100644
--- a/framework/dtd/image.dtd
+++ b/framework/dtd/image.dtd
@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?>
<!--
* This file is part of the LibreOffice project.
*
diff --git a/framework/dtd/menubar.dtd b/framework/dtd/menubar.dtd
index b41431f6d0ef..b3469f7324a6 100644
--- a/framework/dtd/menubar.dtd
+++ b/framework/dtd/menubar.dtd
@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?>
<!--
* This file is part of the LibreOffice project.
*
diff --git a/framework/dtd/statusbar.dtd b/framework/dtd/statusbar.dtd
index 9f4e9e2a35c3..40a5609b7cf6 100644
--- a/framework/dtd/statusbar.dtd
+++ b/framework/dtd/statusbar.dtd
@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?>
<!--
* This file is part of the LibreOffice project.
*
diff --git a/framework/dtd/toolbar.dtd b/framework/dtd/toolbar.dtd
index 6f2c38260524..7f8ee24e8ab9 100644
--- a/framework/dtd/toolbar.dtd
+++ b/framework/dtd/toolbar.dtd
@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?>
<!--
* This file is part of the LibreOffice project.
*
diff --git a/i18npool/source/localedata/data/locale.dtd b/i18npool/source/localedata/data/locale.dtd
index 103ab1721c4e..60006d87f439 100644
--- a/i18npool/source/localedata/data/locale.dtd
+++ b/i18npool/source/localedata/data/locale.dtd
@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?>
<!--
* This file is part of the LibreOffice project.
*
diff --git a/officecfg/registry/component-schema.dtd b/officecfg/registry/component-schema.dtd
index 242b9c6ea513..70bd51bf7d13 100644
--- a/officecfg/registry/component-schema.dtd
+++ b/officecfg/registry/component-schema.dtd
@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?>
<!--
* This file is part of the LibreOffice project.
*
diff --git a/officecfg/registry/component-update.dtd b/officecfg/registry/component-update.dtd
index d99ee499249e..0659e412305b 100644
--- a/officecfg/registry/component-update.dtd
+++ b/officecfg/registry/component-update.dtd
@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?>
<!--
* This file is part of the LibreOffice project.
*
diff --git a/package/dtd/Manifest.dtd b/package/dtd/Manifest.dtd
index 2dbdbf00c81d..9e16a007a799 100644
--- a/package/dtd/Manifest.dtd
+++ b/package/dtd/Manifest.dtd
@@ -46,4 +46,3 @@
manifest:key-derivation-name CDATA #REQUIRED
manifest:salt CDATA #REQUIRED
manifest:iteration-count CDATA #REQUIRED>
-
diff --git a/xmerge/source/xmerge/converter.dtd b/xmerge/source/xmerge/converter.dtd
index f7c09f5c2c58..81ecbe69d80e 100644
--- a/xmerge/source/xmerge/converter.dtd
+++ b/xmerge/source/xmerge/converter.dtd
@@ -82,4 +82,3 @@
<!ELEMENT converter-target EMPTY>
<!ATTLIST converter-target type CDATA #REQUIRED>
-
diff --git a/xmloff/dtd/office.dtd b/xmloff/dtd/office.dtd
index e056d57e5525..5da82955640b 100644
--- a/xmloff/dtd/office.dtd
+++ b/xmloff/dtd/office.dtd
@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?>
<!--
* This file is part of the LibreOffice project.
*
diff --git a/xmlscript/dtd/dialog.dtd b/xmlscript/dtd/dialog.dtd
index 1b7e6355631f..7290b8d22257 100644
--- a/xmlscript/dtd/dialog.dtd
+++ b/xmlscript/dtd/dialog.dtd
@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?>
<!--
* This file is part of the LibreOffice project.
*
diff --git a/xmlscript/dtd/libraries.dtd b/xmlscript/dtd/libraries.dtd
index 270d89209bba..3b3b82e535b8 100644
--- a/xmlscript/dtd/libraries.dtd
+++ b/xmlscript/dtd/libraries.dtd
@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?>
<!--
* This file is part of the LibreOffice project.
*
@@ -33,4 +32,3 @@
library:link %boolean; #REQUIRED
library:readonly %boolean; #IMPLIED
>
-
diff --git a/xmlscript/dtd/library.dtd b/xmlscript/dtd/library.dtd
index 4f1512692ad6..c0341ed545b5 100644
--- a/xmlscript/dtd/library.dtd
+++ b/xmlscript/dtd/library.dtd
@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?>
<!--
* This file is part of the LibreOffice project.
*
@@ -32,4 +31,3 @@
<!ATTLIST library:element
library:name CDATA #REQUIRED
>
-
diff --git a/xmlscript/dtd/module.dtd b/xmlscript/dtd/module.dtd
index 5b36ac033d89..b77d62f46498 100644
--- a/xmlscript/dtd/module.dtd
+++ b/xmlscript/dtd/module.dtd
@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?>
<!--
* This file is part of the LibreOffice project.
*
@@ -23,4 +22,3 @@
script:name CDATA #REQUIRED
script:language CDATA #REQUIRED
>
-
--
2.31.1

View File

@ -0,0 +1,428 @@
From aec3e189e6e9aa1eb2fe91cbb1c46f308b074cd5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Tue, 13 Jul 2021 12:38:07 +0100
Subject: [PATCH] rhbz#1980800 allow --convert-to csv to write each sheet to a
separate file
Related: tdf#135762 except only currently implemented for command line use
sample usage:
soffice --convert-to csv:"Text - txt - csv (StarCalc)":44,34,UTF8,1,,0,false,true,false,false,false,-1 sample.ods
where the new (11th!) final token ("-1") enables writing each sheet to a
new file based on the suggested target name so output in this example
is files sample-Sheet1.csv and sample-Sheet2.csv
Only -1 for 'all sheets' vs 0 for existing 'current sheet only' (which
is always sheet 0 from the command line) are currently options but the
token could be expanded in the future to select specific sheets to
export.
Change-Id: Ib99a120f1a2c8d1008a7a3c59a6b39f572fb346e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118850
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
(cherry picked from commit b8903bc106dad036acb3d117e5c4fc955697fe02)
Related: tdf#135762 Allow --convert-to csv to specify 1-based sheet number
Same multifile mechanism as for -1 all sheets is used, so
soffice --convert-to csv:"Text - txt - csv (StarCalc)":44,34,UTF8,1,,0,false,true,false,false,false,2 sample.ods
writes a file sample-Sheet2.csv
Change-Id: Ib9248c9561e4e340c88458ac5dfd159e443a4cfd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118971
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
(cherry picked from commit fda91f8be16ba760e360940ebafd6244c648cb8c)
Related: tdf#135762 Suppress cout if not command line
Change-Id: I9431221aadf97739bb197871f25fa151ef4c391c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119294
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
(cherry picked from commit 0cda081c9aa3b3dcb363f97bac60c845ce9a13e0)
---
desktop/source/app/dispatchwatcher.cxx | 50 +++++++--
sc/source/ui/dbgui/imoptdlg.cxx | 16 ++-
sc/source/ui/docshell/docsh.cxx | 141 +++++++++++++++++++++----
sc/source/ui/inc/docsh.hxx | 2 +-
sc/source/ui/inc/imoptdlg.hxx | 6 +-
5 files changed, 179 insertions(+), 36 deletions(-)
diff --git a/desktop/source/app/dispatchwatcher.cxx b/desktop/source/app/dispatchwatcher.cxx
index 50b92ecb7834..3df4f34ccf83 100644
--- a/desktop/source/app/dispatchwatcher.cxx
+++ b/desktop/source/app/dispatchwatcher.cxx
@@ -30,6 +30,7 @@
#include "officeipcthread.hxx"
#include <rtl/ustring.hxx>
#include <comphelper/processfactory.hxx>
+#include <comphelper/string.hxx>
#include <comphelper/synchronousdispatch.hxx>
#include <com/sun/star/io/IOException.hpp>
#include <com/sun/star/util/XCloseable.hpp>
@@ -598,6 +599,8 @@ bool DispatchWatcher::executeDispatchRequests( const std::vector<DispatchRequest
aFilter = impl_GuessFilter( aOutFile, aDocService );
}
+ bool bMultiFileTarget = false;
+
if (aFilter.isEmpty())
{
std::cerr << "Error: no export filter" << std::endl;
@@ -605,29 +608,54 @@ bool DispatchWatcher::executeDispatchRequests( const std::vector<DispatchRequest
else
{
sal_Int32 nFilterOptionsIndex = aFilter.indexOf(':');
- sal_Int32 nProps = ( 0 < nFilterOptionsIndex ) ? 3 : 2;
+ sal_Int32 nProps = ( 0 < nFilterOptionsIndex ) ? 4 : 3;
if ( !aImgOut.isEmpty() )
nProps +=1;
Sequence<PropertyValue> conversionProperties( nProps );
- conversionProperties[0].Name = "Overwrite";
- conversionProperties[0].Value <<= true;
+ conversionProperties[0].Name = "ConversionRequestOrigin";
+ conversionProperties[0].Value <<= OUString("CommandLine");
+ conversionProperties[1].Name = "Overwrite";
+ conversionProperties[1].Value <<= true;
- conversionProperties[1].Name = "FilterName";
+ conversionProperties[2].Name = "FilterName";
if( 0 < nFilterOptionsIndex )
{
- conversionProperties[1].Value <<= aFilter.copy(0, nFilterOptionsIndex);
+ OUString sFilterName = aFilter.copy(0, nFilterOptionsIndex);
+ OUString sFilterOptions = aFilter.copy(nFilterOptionsIndex + 1);
+
+ if (sFilterName == "Text - txt - csv (StarCalc)")
+ {
+ sal_Int32 nIdx(0);
+ // If the 11th token is '-1' then we export a file
+ // per sheet where the file name is based on the suggested
+ // output filename concatenated with the sheet name, so adjust
+ // the output and overwrite messages
+ // If the 11th token is not present or numeric 0 then the
+ // default sheet is exported with the output filename. If it
+ // is numeric >0 then that sheet (1-based) with the output
+ // filename concatenated with the sheet name. So even if
+ // that is a single file, the multi file target mechanism is
+ // used.
+ const OUString aTok(sFilterOptions.getToken(11, ',', nIdx));
+ // Actual validity is checked in Calc, here just check for
+ // presence of numeric value at start.
+ bMultiFileTarget = (!aTok.isEmpty() && aTok.toInt32() != 0);
+ }
+
+ conversionProperties[2].Value <<= sFilterName;
- conversionProperties[2].Name = "FilterOptions";
- conversionProperties[2].Value <<= aFilter.copy(nFilterOptionsIndex + 1);
+ conversionProperties[3].Name = "FilterOptions";
+ conversionProperties[3].Value <<= sFilterOptions;
}
else
{
- conversionProperties[1].Value <<= aFilter;
+ conversionProperties[2].Value <<= aFilter;
}
if ( !aImgOut.isEmpty() )
{
+ assert(conversionProperties[nProps-1].Name.isEmpty());
conversionProperties[nProps-1].Name = "ImageFilter";
conversionProperties[nProps-1].Value <<= aImgOut;
}
@@ -639,9 +667,11 @@ bool DispatchWatcher::executeDispatchRequests( const std::vector<DispatchRequest
OString aTargetURL8 = OUStringToOString(aTempName, osl_getThreadTextEncoding());
if (aDispatchRequest.aRequestType != REQUEST_CAT)
{
- std::cout << "convert " << aSource8 << " -> " << aTargetURL8;
+ std::cout << "convert " << aSource8;
+ if (!bMultiFileTarget)
+ std::cout << " -> " << aTargetURL8;
std::cout << " using filter : " << OUStringToOString(aFilter, osl_getThreadTextEncoding()) << std::endl;
- if (FStatHelper::IsDocument(aOutFile))
+ if (!bMultiFileTarget && FStatHelper::IsDocument(aOutFile))
std::cout << "Overwriting: " << OUStringToOString(aTempName, osl_getThreadTextEncoding()) << std::endl ;
}
try
diff --git a/sc/source/ui/dbgui/imoptdlg.cxx b/sc/source/ui/dbgui/imoptdlg.cxx
index 071f1b0257bc..a362e4df0ee7 100644
--- a/sc/source/ui/dbgui/imoptdlg.cxx
+++ b/sc/source/ui/dbgui/imoptdlg.cxx
@@ -20,6 +20,7 @@
#include <imoptdlg.hxx>
#include <asciiopt.hxx>
#include <comphelper/string.hxx>
+#include <unotools/charclass.hxx>
#include <osl/thread.h>
#include <global.hxx>
@@ -43,6 +44,7 @@ ScImportOptions::ScImportOptions( const OUString& rStr )
bSaveNumberAsSuch = true;
bSaveFormulas = false;
bRemoveSpace = false;
+ nSheetToExport = 0;
sal_Int32 nTokenCount = comphelper::string::getTokenCount(rStr, ',');
if ( nTokenCount < 3 )
return;
@@ -77,6 +79,16 @@ ScImportOptions::ScImportOptions( const OUString& rStr )
bSaveFormulas = rStr.getToken(0, ',', nIdx) == "true";
if ( nTokenCount >= 11 )
bRemoveSpace = rStr.getToken(0, ',', nIdx) == "true";
+ if ( nTokenCount >= 12 )
+ {
+ const OUString aTok(rStr.getToken(0, ',', nIdx));
+ if (aTok == "-1")
+ nSheetToExport = -1; // all
+ else if (aTok.isEmpty() || CharClass::isAsciiNumeric(aTok))
+ nSheetToExport = aTok.toInt32();
+ else
+ nSheetToExport = -23; // invalid, force error
+ }
}
}
@@ -99,7 +111,9 @@ OUString ScImportOptions::BuildString() const
"," +
OUString::boolean( bSaveFormulas ) + // "save formulas": not in ScAsciiOptions
"," +
- OUString::boolean( bRemoveSpace ); // same as "Remove space" in ScAsciiOptions
+ OUString::boolean( bRemoveSpace ) + // same as "Remove space" in ScAsciiOptions
+ "," +
+ OUString::number(nSheetToExport) ; // Only available for command line --convert-to
return aResult;
}
diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx
index 91020db0b2e0..5fdfddd0c89b 100644
--- a/sc/source/ui/docshell/docsh.cxx
+++ b/sc/source/ui/docshell/docsh.cxx
@@ -44,6 +44,7 @@
#include <sfx2/objface.hxx>
#include <sfx2/viewfrm.hxx>
#include <svl/documentlockfile.hxx>
+#include <svl/fstathelper.hxx>
#include <svl/sharecontrolfile.hxx>
#include <svl/urihelper.hxx>
#include <osl/file.hxx>
@@ -119,6 +120,7 @@
#include <comphelper/processfactory.hxx>
#include <comphelper/string.hxx>
#include <unotools/configmgr.hxx>
+#include <unotools/ucbstreamhelper.hxx>
#include <uiitems.hxx>
#include <dpobject.hxx>
#include <markdata.hxx>
@@ -1925,7 +1927,7 @@ void escapeTextSep(sal_Int32 nPos, const StrT& rStrDelim, StrT& rStr)
}
-void ScDocShell::AsciiSave( SvStream& rStream, const ScImportOptions& rAsciiOpt )
+void ScDocShell::AsciiSave( SvStream& rStream, const ScImportOptions& rAsciiOpt, SCTAB nTab )
{
sal_Unicode cDelim = rAsciiOpt.nFieldSepCode;
sal_Unicode cStrDelim = rAsciiOpt.nTextSepCode;
@@ -1971,7 +1973,6 @@ void ScDocShell::AsciiSave( SvStream& rStream, const ScImportOptions& rAsciiOpt
SCCOL nStartCol = 0;
SCROW nStartRow = 0;
- SCTAB nTab = GetSaveTab();
SCCOL nEndCol;
SCROW nEndRow;
m_aDocument.GetCellArea( nTab, nEndCol, nEndRow );
@@ -2389,35 +2390,129 @@ bool ScDocShell::ConvertTo( SfxMedium &rMed )
}
else if (aFltName == pFilterAscii)
{
- SvStream* pStream = rMed.GetOutStream();
- if (pStream)
+ OUString sItStr;
+ SfxItemSet* pSet = rMed.GetItemSet();
+ const SfxPoolItem* pItem;
+ if ( pSet && SfxItemState::SET ==
+ pSet->GetItemState( SID_FILE_FILTEROPTIONS, true, &pItem ) )
{
- OUString sItStr;
- SfxItemSet* pSet = rMed.GetItemSet();
- const SfxPoolItem* pItem;
- if ( pSet && SfxItemState::SET ==
- pSet->GetItemState( SID_FILE_FILTEROPTIONS, true, &pItem ) )
+ sItStr = static_cast<const SfxStringItem*>(pItem)->GetValue();
+ }
+
+ if ( sItStr.isEmpty() )
+ {
+ // default for ascii export (from API without options):
+ // ISO8859-1/MS_1252 encoding, comma, double quotes
+
+ ScImportOptions aDefOptions( ',', '"', RTL_TEXTENCODING_MS_1252 );
+ sItStr = aDefOptions.BuildString();
+ }
+
+ weld::WaitObject aWait( GetActiveDialogParent() );
+ ScImportOptions aOptions( sItStr );
+
+ if (aOptions.nSheetToExport)
+ {
+ // Only from command line --convert-to
+ bRet = true;
+
+ // Verbose only from command line, not UI (in case we actually
+ // implement that) nor macro filter options.
+ bool bVerbose = false;
+ const css::uno::Sequence<css::beans::PropertyValue> & rArgs = rMed.GetArgs();
+ const auto pProp = std::find_if( rArgs.begin(), rArgs.end(),
+ [](const css::beans::PropertyValue& rProp) { return rProp.Name == "ConversionRequestOrigin"; });
+ if (pProp != rArgs.end())
{
- sItStr = static_cast<const SfxStringItem*>(pItem)->GetValue();
+ OUString aOrigin;
+ pProp->Value >>= aOrigin;
+ bVerbose = (aOrigin == "CommandLine");
}
- if ( sItStr.isEmpty() )
+ SCTAB nStartTab;
+ SCTAB nCount = m_aDocument.GetTableCount();
+ if (aOptions.nSheetToExport == -1)
{
- // default for ascii export (from API without options):
- // ISO8859-1/MS_1252 encoding, comma, double quotes
-
- ScImportOptions aDefOptions( ',', '"', RTL_TEXTENCODING_MS_1252 );
- sItStr = aDefOptions.BuildString();
+ // All sheets.
+ nStartTab = 0;
+ }
+ else if (0 < aOptions.nSheetToExport && aOptions.nSheetToExport <= nCount)
+ {
+ // One sheet, 1-based.
+ nCount = aOptions.nSheetToExport;
+ nStartTab = nCount - 1;
+ }
+ else
+ {
+ // Usage error, no export but log.
+ if (bVerbose)
+ {
+ if (aOptions.nSheetToExport < 0)
+ std::cout << "Bad sheet number string given." << std::endl;
+ else
+ std::cout << "No sheet number " << aOptions.nSheetToExport
+ << ", number of sheets is " << nCount << std::endl;
+ }
+ nStartTab = 0;
+ nCount = 0;
+ SetError(SCERR_EXPORT_DATA);
+ bRet = false;
}
- weld::WaitObject aWait( GetActiveDialogParent() );
- ScImportOptions aOptions( sItStr );
- AsciiSave( *pStream, aOptions );
- bRet = true;
+ INetURLObject aURLObject(rMed.GetURLObject());
+ OUString sExt = aURLObject.CutExtension();
+ OUString sBaseName = aURLObject.GetLastName();
+ aURLObject.CutLastName();
- if (m_aDocument.GetTableCount() > 1)
- if (!rMed.GetError())
- rMed.SetError(SCWARN_EXPORT_ASCII);
+ for (SCTAB i = nStartTab; i < nCount; ++i)
+ {
+ OUString sTabName;
+ if (!m_aDocument.GetName(i, sTabName))
+ sTabName = OUString::number(i);
+ INetURLObject aSheetURLObject(aURLObject);
+ OUString sFileName = sBaseName + "-" + sTabName;
+ if (!sExt.isEmpty())
+ sFileName = sFileName + "." + sExt;
+ aSheetURLObject.Append(sFileName);
+
+ // log similar to DispatchWatcher::executeDispatchRequests
+ OUString aOutFile = aSheetURLObject.GetMainURL(INetURLObject::DecodeMechanism::NONE);
+ if (bVerbose)
+ {
+ OUString aDisplayedName;
+ if (osl::FileBase::E_None != osl::FileBase::getSystemPathFromFileURL(aOutFile, aDisplayedName))
+ aDisplayedName = aOutFile;
+ std::cout << "Writing sheet " << OUStringToOString(sTabName, osl_getThreadTextEncoding()) << " -> "
+ << OUStringToOString(aDisplayedName, osl_getThreadTextEncoding())
+ << std::endl;
+
+ if (FStatHelper::IsDocument(aOutFile))
+ std::cout << "Overwriting: " << OUStringToOString(aDisplayedName, osl_getThreadTextEncoding())
+ << std::endl ;
+ }
+
+ std::unique_ptr<SvStream> xStm = ::utl::UcbStreamHelper::CreateStream(aOutFile, StreamMode::TRUNC | StreamMode::WRITE);
+ if (!xStm)
+ {
+ SetError(ERRCODE_IO_CANTCREATE);
+ bRet = false;
+ break;
+ }
+ AsciiSave(*xStm, aOptions, i);
+ }
+ }
+ else
+ {
+ SvStream* pStream = rMed.GetOutStream();
+ if (pStream)
+ {
+ AsciiSave(*pStream, aOptions, GetSaveTab());
+ bRet = true;
+
+ if (m_aDocument.GetTableCount() > 1)
+ if (!rMed.GetError())
+ rMed.SetError(SCWARN_EXPORT_ASCII);
+ }
}
}
else if (aFltName == pFilterDBase)
diff --git a/sc/source/ui/inc/docsh.hxx b/sc/source/ui/inc/docsh.hxx
index 41c0b30a42a8..3aa5f6caf311 100644
--- a/sc/source/ui/inc/docsh.hxx
+++ b/sc/source/ui/inc/docsh.hxx
@@ -227,7 +227,7 @@ public:
ScDrawLayer* MakeDrawLayer();
- void AsciiSave( SvStream& rStream, const ScImportOptions& rOpt );
+ void AsciiSave( SvStream& rStream, const ScImportOptions& rOpt, SCTAB nTab );
void Execute( SfxRequest& rReq );
void GetState( SfxItemSet &rSet );
diff --git a/sc/source/ui/inc/imoptdlg.hxx b/sc/source/ui/inc/imoptdlg.hxx
index bac941c2a377..382067d67813 100644
--- a/sc/source/ui/inc/imoptdlg.hxx
+++ b/sc/source/ui/inc/imoptdlg.hxx
@@ -32,7 +32,8 @@ public:
ScImportOptions( sal_Unicode nFieldSep, sal_Unicode nTextSep, rtl_TextEncoding nEnc )
: nFieldSepCode(nFieldSep), nTextSepCode(nTextSep),
bFixedWidth(false), bSaveAsShown(false), bQuoteAllText(false),
- bSaveNumberAsSuch(true), bSaveFormulas(false), bRemoveSpace(false)
+ bSaveNumberAsSuch(true), bSaveFormulas(false), bRemoveSpace(false),
+ nSheetToExport(0)
{ SetTextEncoding( nEnc ); }
ScImportOptions& operator=( const ScImportOptions& rCpy ) = default;
@@ -51,6 +52,9 @@ public:
bool bSaveNumberAsSuch;
bool bSaveFormulas;
bool bRemoveSpace;
+ // "0" for 'current sheet', "-1" for all sheets (each to a separate file),
+ // or 1-based specific sheet number (to a separate file).
+ sal_Int32 nSheetToExport;
};
#endif // INCLUDED_SC_SOURCE_UI_INC_IMOPTDLG_HXX
--
2.31.1

View File

@ -1,40 +0,0 @@
From ba66a3c76c8bd2f7f1e86b4a628b92951fcf82b3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Wed, 9 Jun 2021 09:35:28 +0100
Subject: [PATCH 2/2] xmllint: Namespace prefix menu on menuseparator is not
defined
xmllint --noout dbaccess/uiconfig/dbapp/toolbar/formobjectbar.xml
dbaccess/uiconfig/dbapp/toolbar/formobjectbar.xml:24: namespace error : Namespace prefix menu on menuseparator is not defined
<menu:menuseparator/>
should be a toolbarseparator here
a problem since...
commit 4f810905fa74128871f2fe924a3d28a79f4e4261
Date: Tue Mar 5 15:42:19 2019 +0100
sync dbaccess ui files with swriter ui file structure
Change-Id: I000efac56a0af10bca7c22fba6f88f469ae9b272
---
dbaccess/uiconfig/dbapp/toolbar/formobjectbar.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dbaccess/uiconfig/dbapp/toolbar/formobjectbar.xml b/dbaccess/uiconfig/dbapp/toolbar/formobjectbar.xml
index b3c2c9c37eef..78e698df3883 100644
--- a/dbaccess/uiconfig/dbapp/toolbar/formobjectbar.xml
+++ b/dbaccess/uiconfig/dbapp/toolbar/formobjectbar.xml
@@ -21,7 +21,7 @@
<toolbar:toolbaritem xlink:href=".uno:DBNewForm"/>
<toolbar:toolbaritem xlink:href=".uno:DBFormOpen"/>
<toolbar:toolbaritem xlink:href=".uno:DBFormEdit"/>
- <menu:menuseparator/>
+ <toolbar:toolbarseparator/>
<toolbar:toolbaritem xlink:href=".uno:DBFormDelete"/>
<toolbar:toolbaritem xlink:href=".uno:DBFormRename"/>
<toolbar:toolbarseparator/>
--
2.31.1

View File

@ -1,5 +1,5 @@
# download path contains version without the last (fourth) digit
%global libo_version 7.1.4
%global libo_version 7.1.5
# Should contain .alphaX / .betaX, if this is pre-release (actually
# pre-RC) version. The pre-release string is part of tarball file names,
# so we need a way to define it easily at one place.
@ -50,7 +50,7 @@ Summary: Free Software Productivity Suite
Name: libreoffice
Epoch: 1
Version: %{libo_version}.2
Release: 4%{?libo_prerelease}%{?dist}
Release: 3%{?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/
@ -252,17 +252,12 @@ Patch2: 0001-Resolves-rhbz-1432468-disable-opencl-by-default.patch
Patch3: 0001-fix-detecting-qrcodegen.patch
Patch4: 0001-rhbz-1918152-fix-FTBFS.patch
Patch5: 0001-Get-rid-of-apache-commons-logging.patch
Patch6: 0001-Adapt-to-libstdc-Implement-LWG-1203-for-rvalue-iostr.patch
Patch7: 0001-Adapt-to-hamcrest-2.2-3.fc35.noarch.rpm.patch
Patch8: 0001-gtk3-workaround-missing-gdk_threads_enter-calls-in-e.patch
Patch9: 0001-Replace-inet_ntoa-with-inet_ntop.patch
Patch10: 0001-Simplify-construction-of-a-hardcoded-IPv4-address.patch
Patch11: 0001-dtd-files-are-not-xml-files-and-shouldn-t-have-xml-h.patch
Patch12: 0002-xmllint-Namespace-prefix-menu-on-menuseparator-is-no.patch
Patch13: 0001-allow-system-firebird-4.patch
Patch14: 0001-Remove-unused-DOCTYPE-from-odk-examples-xcu-file.patch
Patch15: 0001-math.desktop-include-Spreadsheet-category.patch
Patch16: 0001-add-missing-xmlns-loext-to-example_sl-SI.xml.patch
Patch6: 0001-gtk3-workaround-missing-gdk_threads_enter-calls-in-e.patch
Patch7: 0001-Replace-inet_ntoa-with-inet_ntop.patch
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
# not upstreamed
Patch500: 0001-disable-libe-book-support.patch
@ -2248,6 +2243,9 @@ gtk-update-icon-cache -q %{_datadir}/icons/hicolor &>/dev/null || :
%{_includedir}/LibreOfficeKit
%changelog
* Thu Aug 05 2021 Caolán McNamara <caolanm@redhat.com> - 1:7.1.5.2-3
- Resolves: rhbz#1983557 upgrade to 7.1.5
* Wed Jun 30 2021 Caolán McNamara <caolanm@redhat.com> - 1:7.1.4.2-4
- Resolves: rhbz#1979145 merge in rpminspect warning fixes

12
sources
View File

@ -7,9 +7,9 @@ SHA512 (0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz) = b9c02d63e9b47a838d
SHA512 (f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf) = 6a6d131dad5191614950a49323ae6d9385afe331983c1c85fde82ce6ee816051d95dde9ef90658b8f0a8a0a21754e72ff724bf41f6b96c046b7b4c2660f7095b
SHA512 (libreoffice-multiliblauncher.sh) = db532afdf5000bc66f9e02c7d0ab586468466f63f8f0bdb204832581e8277c5c59f688fa096548d642411cb8c46e8de4a744676b4e624c075262cfd6945138cd
SHA512 (dtoa-20180411.tgz) = 722aa814c33a34bfffe6c0201b0035cc3b65854a0ba9ae2f51620a89d68019353e2c306651b35bca337186b22b2e9865ef3c5e3df8e9328006f882e4577f8c85
SHA512 (libreoffice-7.1.4.2.tar.xz) = b6c0d5ed91cd69e20e70b2fd5e6f53f05eb0fbd73c41208c317116c636b2ee8cfd848370389dd61d3c243b259ae66b9bd5de9341cd9009279ccfd299015c88c8
SHA512 (libreoffice-7.1.4.2.tar.xz.asc) = 89eeb1605dca242bffd8f341b23dfc0e5f0cfbb95a5b554436a6f9e62783021d4596bdca62ad010c46e74c3861d63c9e006391a4d9a2ff355393caeb42db9e43
SHA512 (libreoffice-help-7.1.4.2.tar.xz) = 7730a17cd171d126b3b094abde1797524ff7250a5895d6d80b10b30944225d318001cbc66bdff06019be69434278dfd864aec71b0b9572c6385639620b416268
SHA512 (libreoffice-help-7.1.4.2.tar.xz.asc) = e5383926d4e2e676758dbd0a485113b9eda49e52aa38f29a17acd5134d7018f1e523fd96fb59d1ab916f5fd28737cacebaa0348b4ca1a6866359c168a1b9a498
SHA512 (libreoffice-translations-7.1.4.2.tar.xz) = 987a4f9c86d70c52bdb80a89b73428aae63725a5c7e0def464a35220bf22b29adaa56937f93e0c48cee43e47a16d385b079acc2d0aa8b23b637e447a2eed30c4
SHA512 (libreoffice-translations-7.1.4.2.tar.xz.asc) = 9c0a0d15b2ff18a3d704a338ee9939108d408584a12e9b3c381b36fcd5aa8bd9e9000f15487eebe65c5fa3a16d7289f557df17d05b5f8f8cd4de9021974999b3
SHA512 (libreoffice-7.1.5.2.tar.xz) = dad5ffd344a7bad88ed8e77df4fb17b42237715e7b1feb7a7de164f2fbf6698feefedeb57974d8275067a06c0da60e9b07a333ccc1bb2f6d55a6b52408bd9b5f
SHA512 (libreoffice-7.1.5.2.tar.xz.asc) = e29e66ef185a1404f60b153629c54676a5dbc2a8b028ee48b80984425e582293100145d5468231b27c96ca0c8d030cda2ad2b02f4d60a9c977fedfab6cc7f8f4
SHA512 (libreoffice-help-7.1.5.2.tar.xz) = c669b6c4bfc3c6f46e4ee0bf86b158054f7178b9785273d9aba8183236b2ff6dbaf5584d5e4fb09bba3a8d010373599e7473a4ba15c229087c689198ceeee1c7
SHA512 (libreoffice-help-7.1.5.2.tar.xz.asc) = d1717cc6871684ba00347247242b8b9d4ae2b54e23f08a874db026ff478c31ffe8f60b8260267bb7b39e54eafa42e64965ebf6e9e667bafb42350e12dfcb2260
SHA512 (libreoffice-translations-7.1.5.2.tar.xz.asc) = 16c78d49e1a770e9daa631888eeb951dc7dd308585dcd23165c75e09c256d5b526630149c48add7885b7de2d20041105bcd6faece2cf753efc630514a4bf1bc6
SHA512 (libreoffice-translations-7.1.5.2.tar.xz) = 0c1fc68930131568e561ed7e5456ce38415c7dd516acff3060a81513ae34361979a4348f7d14796445afff9eae934c7e817e2b506c7971b4fbd2c03468717344