From 8563991359320eaa12ecad3b136bc617666fca02 Mon Sep 17 00:00:00 2001 From: Zhao Hang Date: Sun, 17 Jul 2022 15:31:38 +0800 Subject: [PATCH 1/3] update to libreoffice-7.1.8.1-6 Signed-off-by: Zhao Hang --- 0001-0.5.1-is-sufficient.patch | 46 - 0001-1.2.25-is-sufficient.patch | 26 - 0001-CVE-2021-25636.patch | 69 + ...e-value-to-UTF-8-when-passing-it-to-.patch | 50 - ...NG-into-bitmaps-N32BitTcA.-formats-w.patch | 65 - ...pl-copy-ctor-doesn-t-exactly-copy-Ed.patch | 53 + ...anness-issues-in-OOX-crypto-routines.patch | 116 - ...bin-libreoffice-app-libreoffice-prog.patch | 64 - 0001-Get-rid-of-apache-commons-logging.patch | 1309 +++ ...LockFile-UTF-16-string-data-with-sam.patch | 59 - ...82-resize-the-print-dialog-to-its-op.patch | 2186 ----- 0001-Replace-inet_ntoa-with-inet_ntop.patch | 162 + ...bz-1432468-disable-opencl-by-default.patch | 10 +- ...93846-if-last-close-had-insert-index.patch | 30 - ...739-two-style-tags-where-there-shoul.patch | 72 - ...250-don-t-share-adjustments-between-.patch | 123 + ...567-restore-focus-to-the-usual-frame.patch | 63 + ...cture-solenv-bin-assemble-flatpak.sh.patch | 340 - ...0-gdrive-support-w-oAuth-and-Drive-A.patch | 1262 +++ ...-lock-refreshing-font-data-when-load.patch | 150 - ...truction-of-a-hardcoded-IPv4-address.patch | 39 + ...g-about-missing-.note.gnu.property-s.patch | 143 + 0001-backports-to-ease-CVE-backporting.patch | 259 - 0001-disable-libe-book-support.patch | 37 +- ...uldn-t-get-prefixed-to-become-libreo.patch | 45 + 0001-don-t-suppress-crashes.patch | 34 +- ...LINK-target-in-html-clipboard-export.patch | 64 - ...-fix-comparison-when-searching-cache.patch | 40 + 0001-fix-detecting-qrcodegen.patch | 14 +- ...missing-gdk_threads_enter-calls-in-e.patch | 118 + ...pp-cpp-work-for-gcc-cpp-as-a-ucpp-re.patch | 111 + ...desktop-include-Spreadsheet-category.patch | 39 + ...is-headers-to-remove-exception-specs.patch | 1922 ---- ...atino-Linotype-with-Liberation-Serif.patch | 26 - ...place-boost-bimap-in-sdext-pdfimport.patch | 110 - ...hbz-1870501-crash-on-reexport-of-odg.patch | 7987 ----------------- ...e-cursor-one-step-at-a-time-in-the-d.patch | 82 - ...gest-package-install-of-the-most-app.patch | 27 - 0001-rhbz-1918152-fix-FTBFS.patch | 26 + ...ow-convert-to-csv-to-write-each-shee.patch | 116 +- ...n-t-use-undo-array-s-m_pOutlineNodes.patch | 72 + ...09-unparent-widgets-in-fragment-dtor.patch | 44 - ...window_set_application_id-when-it-be.patch | 144 - 0002-CVE-2021-25635.patch | 56 - 0002-resource-leak.patch | 25 - ...-data1-looks-like-a-copy-paste-error.patch | 37 - ...ty-replace-XSecParser-implementation.patch | 2172 ----- 0004-CVE-2021-25634.patch | 397 - ...uninitialized-SwFEShell-bTableCopied.patch | 74 - 0005-CVE-2021-25633.patch | 2120 ----- ...d-1460969-Uninitialized-scalar-field.patch | 35 - ...ypePassInputDlg-re-allow-password-re.patch | 45 - ...eplace-OOXMLSecParser-implementation.patch | 1670 ---- ...-137982-m_xFrame-is-already-disposed.patch | 137 - ...215-restore-original-modality-before.patch | 52 - download | 12 +- dtoa-20180411.tgz | Bin 0 -> 48893 bytes ...2c3f2a0042bfc434c88c6dde9e140-opens___.ttf | Bin 207544 -> 207992 bytes libreoffice.spec | 817 +- 59 files changed, 4334 insertions(+), 21069 deletions(-) delete mode 100644 0001-0.5.1-is-sufficient.patch delete mode 100644 0001-1.2.25-is-sufficient.patch create mode 100644 0001-CVE-2021-25636.patch delete mode 100644 0001-Convert-attribute-value-to-UTF-8-when-passing-it-to-.patch delete mode 100644 0001-Correctly-read-PNG-into-bitmaps-N32BitTcA.-formats-w.patch create mode 100644 0001-EditTextObjectImpl-copy-ctor-doesn-t-exactly-copy-Ed.patch delete mode 100644 0001-Fix-endianness-issues-in-OOX-crypto-routines.patch delete mode 100644 0001-Flatpak-Add-app-bin-libreoffice-app-libreoffice-prog.patch create mode 100644 0001-Get-rid-of-apache-commons-logging.patch delete mode 100644 0001-Read-MOSDocumentLockFile-UTF-16-string-data-with-sam.patch delete mode 100644 0001-Related-tdf-127782-resize-the-print-dialog-to-its-op.patch create mode 100644 0001-Replace-inet_ntoa-with-inet_ntop.patch delete mode 100644 0001-Resolves-rhbz-1893846-if-last-close-had-insert-index.patch delete mode 100644 0001-Resolves-tdf-132739-two-style-tags-where-there-shoul.patch create mode 100644 0001-Resolves-tdf-140250-don-t-share-adjustments-between-.patch create mode 100644 0001-Resolves-tdf-145567-restore-focus-to-the-usual-frame.patch delete mode 100644 0001-Restructure-solenv-bin-assemble-flatpak.sh.patch create mode 100644 0001-Revert-tdf-101630-gdrive-support-w-oAuth-and-Drive-A.patch delete mode 100644 0001-Revert-tdf-69060-lock-refreshing-font-data-when-load.patch create mode 100644 0001-Simplify-construction-of-a-hardcoded-IPv4-address.patch create mode 100644 0001-annocheck-warning-about-missing-.note.gnu.property-s.patch delete mode 100644 0001-backports-to-ease-CVE-backporting.patch create mode 100644 0001-document-new-shouldn-t-get-prefixed-to-become-libreo.patch delete mode 100644 0001-export-HYPERLINK-target-in-html-clipboard-export.patch create mode 100644 0001-fix-comparison-when-searching-cache.patch create mode 100644 0001-gtk3-workaround-missing-gdk_threads_enter-calls-in-e.patch create mode 100644 0001-make-with-idlc-cpp-cpp-work-for-gcc-cpp-as-a-ucpp-re.patch create mode 100644 0001-math.desktop-include-Spreadsheet-category.patch delete mode 100644 0001-munge-cmis-headers-to-remove-exception-specs.patch delete mode 100644 0001-replace-Palatino-Linotype-with-Liberation-Serif.patch delete mode 100644 0001-replace-boost-bimap-in-sdext-pdfimport.patch delete mode 100644 0001-rhbz-1870501-crash-on-reexport-of-odg.patch delete mode 100644 0001-rhbz-1882616-move-cursor-one-step-at-a-time-in-the-d.patch delete mode 100644 0001-rhbz-1891326-suggest-package-install-of-the-most-app.patch create mode 100644 0001-rhbz-1918152-fix-FTBFS.patch create mode 100644 0001-tdf-121546-sw-don-t-use-undo-array-s-m_pOutlineNodes.patch delete mode 100644 0001-tdf-137209-unparent-widgets-in-fragment-dtor.patch delete mode 100644 0001-use-gdk_wayland_window_set_application_id-when-it-be.patch delete mode 100644 0002-CVE-2021-25635.patch delete mode 100644 0002-resource-leak.patch delete mode 100644 0003-copy_paste_error-data1-looks-like-a-copy-paste-error.patch delete mode 100644 0003-xmlsecurity-replace-XSecParser-implementation.patch delete mode 100644 0004-CVE-2021-25634.patch delete mode 100644 0004-Fix-use-of-uninitialized-SwFEShell-bTableCopied.patch delete mode 100644 0005-CVE-2021-25633.patch delete mode 100644 0005-cid-1460969-Uninitialized-scalar-field.patch delete mode 100644 0006-tdf-137897-scRetypePassInputDlg-re-allow-password-re.patch delete mode 100644 0006-xmlsecurity-replace-OOXMLSecParser-implementation.patch delete mode 100644 0007-tdf-137982-m_xFrame-is-already-disposed.patch delete mode 100644 0008-Resolves-tdf-137215-restore-original-modality-before.patch create mode 100644 dtoa-20180411.tgz rename 884ed41809687c3e168fc7c19b16585149ff058eca79acbf3ee784f6630704cc-opens___.ttf => f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf (98%) diff --git a/0001-0.5.1-is-sufficient.patch b/0001-0.5.1-is-sufficient.patch deleted file mode 100644 index af39158..0000000 --- a/0001-0.5.1-is-sufficient.patch +++ /dev/null @@ -1,46 +0,0 @@ -From ceac69bff953ebd9b54a1f3a032079523c4414d0 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Sun, 25 Oct 2020 20:23:39 +0000 -Subject: [PATCH] 0.5.1 is sufficient - -Change-Id: I710a83de8f261d6164eb760d3290c963a5bbe5e1 ---- - configure.ac | 15 +-------------- - 1 file changed, 1 insertion(+), 14 deletions(-) - -diff --git a/configure.ac b/configure.ac -index a6696df15f06..c17fdf5b0d22 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -7050,7 +7050,7 @@ dnl Check for system libcmis - dnl =================================================================== - # libcmis requires curl and we can't build curl for iOS - if test $_os != iOS; then -- libo_CHECK_SYSTEM_MODULE([libcmis],[LIBCMIS],[libcmis-0.5 >= 0.5.2]) -+ libo_CHECK_SYSTEM_MODULE([libcmis],[LIBCMIS],[libcmis-0.5 >= 0.5.0]) - ENABLE_LIBCMIS=TRUE - else - ENABLE_LIBCMIS= -@@ -7090,19 +7090,6 @@ elif test "$GCC" = "yes" -o "$COM_IS_CLANG" = TRUE; then - #include - #include - -- #if defined SYSTEM_LIBCMIS -- // See ucb/source/ucp/cmis/auth_provider.hxx: -- #if !defined __clang__ -- #pragma GCC diagnostic push -- #pragma GCC diagnostic ignored "-Wdeprecated" -- #pragma GCC diagnostic ignored "-Wunused-but-set-parameter" -- #endif -- #include -- #if !defined __clang__ -- #pragma GCC diagnostic pop -- #endif -- #endif -- - void f(std::vector & v, std::function fn) { - std::sort(v.begin(), v.end(), fn); - } --- -2.26.2 - diff --git a/0001-1.2.25-is-sufficient.patch b/0001-1.2.25-is-sufficient.patch deleted file mode 100644 index 5c643af..0000000 --- a/0001-1.2.25-is-sufficient.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 92c95c8c3724f267e57827f69f93ef4e6387f793 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Sun, 25 Oct 2020 21:14:10 +0000 -Subject: [PATCH] 1.2.25 is sufficient - -Change-Id: Ie184fbaaf6eea0ae1a39bf142d3391768be9607d ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index a62c131a6d0e..c815ea2c3f8b 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -8364,7 +8364,7 @@ libo_CHECK_SYSTEM_MODULE([expat], [EXPAT], [expat]) - dnl =================================================================== - dnl Check for system xmlsec - dnl =================================================================== --libo_CHECK_SYSTEM_MODULE([xmlsec], [XMLSEC], [xmlsec1-nss >= 1.2.28]) -+libo_CHECK_SYSTEM_MODULE([xmlsec], [XMLSEC], [xmlsec1-nss >= 1.2.25]) - - AC_MSG_CHECKING([whether to enable Embedded OpenType support]) - if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_eot" = "yes"; then --- -2.26.2 - diff --git a/0001-CVE-2021-25636.patch b/0001-CVE-2021-25636.patch new file mode 100644 index 0000000..9ec1f6a --- /dev/null +++ b/0001-CVE-2021-25636.patch @@ -0,0 +1,69 @@ +From 26c9da40d44f1469df97398362667c74553be7d2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= +Date: Mon, 20 Dec 2021 17:05:44 +0000 +Subject: [PATCH] only use X509Data + +Change-Id: I52e6588f5fac04bb26d77c1f3af470db73e41f72 +Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127193 +Tested-by: Jenkins +Reviewed-by: Miklos Vajna +(cherry picked from commit be446d81e07b5499152efeca6ca23034e51ea5ff) +Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127178 +Reviewed-by: Adolfo Jayme Barrientos +(cherry picked from commit b0404f80577de9ff69e58390c6f6ef949fdb0139) +--- + .../source/xmlsec/mscrypt/xmlsignature_mscryptimpl.cxx | 6 ++++++ + xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.cxx | 6 ++++++ + 2 files changed, 12 insertions(+) + +diff --git a/xmlsecurity/source/xmlsec/mscrypt/xmlsignature_mscryptimpl.cxx b/xmlsecurity/source/xmlsec/mscrypt/xmlsignature_mscryptimpl.cxx +index c699c950f351..9f816479f9dd 100644 +--- a/xmlsecurity/source/xmlsec/mscrypt/xmlsignature_mscryptimpl.cxx ++++ b/xmlsecurity/source/xmlsec/mscrypt/xmlsignature_mscryptimpl.cxx +@@ -22,6 +22,8 @@ + #include + #include + ++#include ++ + #include + #include + +@@ -233,6 +235,10 @@ SAL_CALL XMLSignature_MSCryptImpl::validate( + // We do certificate verification ourselves. + pDsigCtx->keyInfoReadCtx.flags |= XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS; + ++ // limit possible key data to valid X509 certificates only, no KeyValues ++ if (xmlSecPtrListAdd(&(pDsigCtx->keyInfoReadCtx.enabledKeyData), BAD_CAST xmlSecMSCngKeyDataX509GetKlass()) < 0) ++ throw RuntimeException("failed to limit allowed key data"); ++ + //Verify signature + //The documentation says that the signature is only valid if the return value is 0 (that is, not < 0) + //AND pDsigCtx->status == xmlSecDSigStatusSucceeded. That is, we must not make any assumptions, if +diff --git a/xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.cxx b/xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.cxx +index b41d754f7407..975c17272dc7 100644 +--- a/xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.cxx ++++ b/xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.cxx +@@ -20,6 +20,8 @@ + #include + #include + ++#include ++ + #include + #include + #include +@@ -247,6 +249,10 @@ SAL_CALL XMLSignature_NssImpl::validate( + // We do certificate verification ourselves. + pDsigCtx->keyInfoReadCtx.flags |= XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS; + ++ // limit possible key data to valid X509 certificates only, no KeyValues ++ if (xmlSecPtrListAdd(&(pDsigCtx->keyInfoReadCtx.enabledKeyData), BAD_CAST xmlSecNssKeyDataX509GetKlass()) < 0) ++ throw RuntimeException("failed to limit allowed key data"); ++ + //Verify signature + int rs = xmlSecDSigCtxVerify( pDsigCtx.get() , pNode ); + +-- +2.35.1 + diff --git a/0001-Convert-attribute-value-to-UTF-8-when-passing-it-to-.patch b/0001-Convert-attribute-value-to-UTF-8-when-passing-it-to-.patch deleted file mode 100644 index 964aea4..0000000 --- a/0001-Convert-attribute-value-to-UTF-8-when-passing-it-to-.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 78fd31b17931e1217d3b11fcbd13a41d79d99055 Mon Sep 17 00:00:00 2001 -From: Stephan Bergmann -Date: Wed, 23 Sep 2020 11:41:05 +0200 -Subject: [PATCH] Convert attribute value to UTF-8 when passing it to libxml2 - -Using toUtf8, requiring the OUString to actually contain well-formed data, but -which is likely OK for this test-code--only function, and is also what similar -dumpAsXml functions e.g. in editeng/source/items/textitem.cxx already use. - -This appears to have been broken ever since the code's introduction in -553f10c71a2cc92f5f5890e24948f5277e3d2758 "add dumpAsXml() to more pool items", -and it would typically only have written the leading zero or one -(depending on the architecture's endianness) characters. (I ran across it on -big-endian s390x, where CppunitTest_sd_tiledrendering -SdTiledRenderingTest::testTdf104405 failed because of - -> Entity: line 2: parser error : Input is not proper UTF-8, indicate encoding ! -> Bytes: 0xCF 0x22 0x2F 0x3E -> ation=""/> -Date: Wed, 23 Sep 2020 12:01:35 +0200 -Subject: [PATCH] Correctly read PNG into bitmaps N32BitTcA... formats (where - alpha comes first) - -This appears to be a regression introduced with -86ea64f216819696cd86d1926aff0a138ace2baf "Support for native 32bit Bitmap in VCL -and SVP (cairo) backend". It caused CppunitTest_vcl_png_test to fail on -(big-endian) Linux s390x with - -> vcl/qa/cppunit/png/PngFilterTest.cxx:176:PngFilterTest::testPng -> equality assertion failed -> - Expected: c[ff000040] -> - Actual : c[0000ff40] - -where eFormat happens to be ScanlineFormat::N32BitTcArgb, vs. -ScanlineFormat::N32BitTcBgra on e.g. Linux x86-64 (and which thus didn't notice -the lack of support for N32BitTcA... formats where alpha goes first instead of -last). - -Change-Id: Id6030468718f6ef831b42f2b5ad7ba2c4c46a805 -Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103240 -Tested-by: Jenkins -Reviewed-by: Stephan Bergmann -(cherry picked from commit 0387077e6647d7a30fd36d4ec41dfc559afe45c3) ---- - vcl/source/filter/png/PngImageReader.cxx | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/vcl/source/filter/png/PngImageReader.cxx b/vcl/source/filter/png/PngImageReader.cxx -index 958cae34eb46..6e9f3825face 100644 ---- a/vcl/source/filter/png/PngImageReader.cxx -+++ b/vcl/source/filter/png/PngImageReader.cxx -@@ -188,6 +188,8 @@ bool reader(SvStream& rStream, BitmapEx& rBitmapEx, bool bUseBitmap32) - for (auto& rRow : aRows) - rRow.resize(aRowSizeBytes, 0); - -+ auto const alphaFirst = (eFormat == ScanlineFormat::N32BitTcAbgr -+ || eFormat == ScanlineFormat::N32BitTcArgb); - for (int pass = 0; pass < nNumberOfPasses; pass++) - { - for (png_uint_32 y = 0; y < height; y++) -@@ -199,10 +201,17 @@ bool reader(SvStream& rStream, BitmapEx& rBitmapEx, bool bUseBitmap32) - for (size_t i = 0; i < aRowSizeBytes; i += 4) - { - sal_Int8 alpha = pRow[i + 3]; -+ if (alphaFirst) -+ { -+ pScanline[iColor++] = alpha; -+ } - pScanline[iColor++] = vcl::bitmap::premultiply(pRow[i + 0], alpha); - pScanline[iColor++] = vcl::bitmap::premultiply(pRow[i + 1], alpha); - pScanline[iColor++] = vcl::bitmap::premultiply(pRow[i + 2], alpha); -- pScanline[iColor++] = alpha; -+ if (!alphaFirst) -+ { -+ pScanline[iColor++] = alpha; -+ } - } - } - } --- -2.33.1 - diff --git a/0001-EditTextObjectImpl-copy-ctor-doesn-t-exactly-copy-Ed.patch b/0001-EditTextObjectImpl-copy-ctor-doesn-t-exactly-copy-Ed.patch new file mode 100644 index 0000000..c4b0fff --- /dev/null +++ b/0001-EditTextObjectImpl-copy-ctor-doesn-t-exactly-copy-Ed.patch @@ -0,0 +1,53 @@ +From 3925cf39742ebee935498b14571f13f3e8b64b49 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= +Date: Sat, 19 Feb 2022 20:43:33 +0000 +Subject: [PATCH] EditTextObjectImpl copy ctor doesn't exactly copy + EditTextObjectImpl +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +and this is apparently relied on, so eliding the copy gives unexpected +results. + +EditTextObjectImpl::Clone returns a copy of *this, but the +EditTextObjectImpl copy ctor explicitly does not copy the "PortionInfo" +member, so in: + +commit fb8973f31f111229be5184f4e4223e963ced2c7b +Author: Caolán McNamara +Date: Sat Oct 10 19:21:38 2020 +0100 + + ofz#23492 the only user of this ctor throws away the original of the clone + + so we can take ownership of the original instead + +where the copy was optimized away we want from a state where there was a +new EditTextObjectImpl with an empty PortionInfo member to one where the +PortionInfo of the EditTextObjectImpl was retained. + +So explicitly clear this unwanted info. + +It's very hard to make rational judgements about code if a copy behaves +differently than the orignal :-( + +Change-Id: I642d60841d6bdccbf830f8a2ccdbd9f542a8aa18 +--- + editeng/source/outliner/outliner.cxx | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/editeng/source/outliner/outliner.cxx b/editeng/source/outliner/outliner.cxx +index 9c474131352c..d48e4a542723 100644 +--- a/editeng/source/outliner/outliner.cxx ++++ b/editeng/source/outliner/outliner.cxx +@@ -383,6 +383,7 @@ std::unique_ptr Outliner::CreateParaObject( sal_Int32 nStart + aParagraphDataVector[nPara-nStartPara] = *GetParagraph(nPara); + } + ++ xText->ClearPortionInfo(); // tdf#147166 the PortionInfo is unwanted here + std::unique_ptr pPObj(new OutlinerParaObject(std::move(xText), aParagraphDataVector, bIsEditDoc)); + pPObj->SetOutlinerMode(GetMode()); + +-- +2.35.1 + diff --git a/0001-Fix-endianness-issues-in-OOX-crypto-routines.patch b/0001-Fix-endianness-issues-in-OOX-crypto-routines.patch deleted file mode 100644 index bae5223..0000000 --- a/0001-Fix-endianness-issues-in-OOX-crypto-routines.patch +++ /dev/null @@ -1,116 +0,0 @@ -From 96b088a62174a70441ebe959495756e9d86203a2 Mon Sep 17 00:00:00 2001 -From: Stephan Bergmann -Date: Thu, 24 Sep 2020 14:51:16 +0200 -Subject: [PATCH] Fix endianness issues in OOX crypto routines - -...without which CppunitTest_sw_ooxmlencryption failed on (big-endian) s390x: - -* The 32-bit segment counter in AgileEngine::de-/encrypt apparently needs to be - stored in LSB format (at least, if it is, CppunitTest_sw_ooxmlencryption - ultimately succeeded, whereas otherwise it failed). - -* The UTF-16 string in Standard2007Engine::calculateEncryptionKey apparently - needs to be in LSB format (at least, if it is, CppunitTest_sw_ooxmlencryption - ultimately succeeded, whereas otherwise it failed). - -* The various 32-bit values in the EncryptionStandardHeader and - EncryptionVerifierAES data structures apparently need to be written out in LSB - format in Standard2007Engine::writeEncryptionInfo, given that they are always - read in LSB format in Standard2007Engine::readEncryptionInfo. - -Change-Id: I3a1efbfe324b1bbd539b88dc5d40bb44f9676ffa -Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103315 -Tested-by: Jenkins -Reviewed-by: Stephan Bergmann -(cherry picked from commit 646a69757b928aeaf6e0d0d41c4b30c02803a3a3) ---- - oox/source/crypto/AgileEngine.cxx | 16 +++++++++----- - oox/source/crypto/Standard2007Engine.cxx | 28 +++++++++++++++++------- - 2 files changed, 30 insertions(+), 14 deletions(-) - -diff --git a/oox/source/crypto/AgileEngine.cxx b/oox/source/crypto/AgileEngine.cxx -index 7c2a0e9c93d2..0fc972bf2ca5 100644 ---- a/oox/source/crypto/AgileEngine.cxx -+++ b/oox/source/crypto/AgileEngine.cxx -@@ -457,9 +457,11 @@ bool AgileEngine::decrypt(BinaryXInputStream& aInputStream, - - while ((inputLength = aInputStream.readMemory(inputBuffer.data(), inputBuffer.size())) > 0) - { -- sal_uInt8* segmentBegin = reinterpret_cast(&segment); -- sal_uInt8* segmentEnd = segmentBegin + sizeof(segment); -- std::copy(segmentBegin, segmentEnd, saltWithBlockKey.begin() + saltSize); -+ auto p = saltWithBlockKey.begin() + saltSize; -+ p[0] = segment & 0xFF; -+ p[1] = (segment >> 8) & 0xFF; -+ p[2] = (segment >> 16) & 0xFF; -+ p[3] = segment >> 24; - - hashCalc(hash, saltWithBlockKey, mInfo.hashAlgorithm); - -@@ -800,9 +802,11 @@ void AgileEngine::encrypt(css::uno::Reference & rxInputS - inputLength : oox::core::roundUp(inputLength, sal_uInt32(mInfo.blockSize)); - - // Update Key -- sal_uInt8* segmentBegin = reinterpret_cast(&nSegment); -- sal_uInt8* segmentEnd = segmentBegin + nSegmentByteSize; -- std::copy(segmentBegin, segmentEnd, saltWithBlockKey.begin() + saltSize); -+ auto p = saltWithBlockKey.begin() + saltSize; -+ p[0] = nSegment & 0xFF; -+ p[1] = (nSegment >> 8) & 0xFF; -+ p[2] = (nSegment >> 16) & 0xFF; -+ p[3] = nSegment >> 24; - - hashCalc(hash, saltWithBlockKey, mInfo.hashAlgorithm); - -diff --git a/oox/source/crypto/Standard2007Engine.cxx b/oox/source/crypto/Standard2007Engine.cxx -index 38c4e03baf15..e96fc8f841f2 100644 ---- a/oox/source/crypto/Standard2007Engine.cxx -+++ b/oox/source/crypto/Standard2007Engine.cxx -@@ -79,12 +79,12 @@ bool Standard2007Engine::calculateEncryptionKey(const OUString& rPassword) - std::vector initialData(saltSize + passwordByteLength); - std::copy(saltArray, saltArray + saltSize, initialData.begin()); - -- const sal_uInt8* passwordByteArray = reinterpret_cast(rPassword.getStr()); -- -- std::copy( -- passwordByteArray, -- passwordByteArray + passwordByteLength, -- initialData.begin() + saltSize); -+ auto p = initialData.begin() + saltSize; -+ for (sal_Int32 i = 0; i != rPassword.getLength(); ++i) { -+ auto c = rPassword[i]; -+ *p++ = c & 0xFF; -+ *p++ = c >> 8; -+ } - - // use "hash" vector for result of sha1 hashing - // calculate SHA1 hash of initialData -@@ -223,11 +223,23 @@ void Standard2007Engine::writeEncryptionInfo(BinaryXOutputStream& rStream) - sal_uInt32 headerSize = encryptionHeaderSize + cspNameSize; - rStream.WriteUInt32(headerSize); - -- rStream.writeMemory(&mInfo.header, encryptionHeaderSize); -+ rStream.WriteUInt32(mInfo.header.flags); -+ rStream.WriteUInt32(mInfo.header.sizeExtra); -+ rStream.WriteUInt32(mInfo.header.algId); -+ rStream.WriteUInt32(mInfo.header.algIdHash); -+ rStream.WriteUInt32(mInfo.header.keyBits); -+ rStream.WriteUInt32(mInfo.header.providedType); -+ rStream.WriteUInt32(mInfo.header.reserved1); -+ rStream.WriteUInt32(mInfo.header.reserved2); - rStream.writeUnicodeArray(lclCspName); - rStream.WriteUInt16(0); - -- rStream.writeMemory(&mInfo.verifier, sizeof(msfilter::EncryptionVerifierAES)); -+ rStream.WriteUInt32(mInfo.verifier.saltSize); -+ rStream.writeMemory(&mInfo.verifier.salt, sizeof mInfo.verifier.salt); -+ rStream.writeMemory(&mInfo.verifier.encryptedVerifier, sizeof mInfo.verifier.encryptedVerifier); -+ rStream.WriteUInt32(mInfo.verifier.encryptedVerifierHashSize); -+ rStream.writeMemory( -+ &mInfo.verifier.encryptedVerifierHash, sizeof mInfo.verifier.encryptedVerifierHash); - } - - void Standard2007Engine::encrypt(css::uno::Reference & rxInputStream, --- -2.33.1 - diff --git a/0001-Flatpak-Add-app-bin-libreoffice-app-libreoffice-prog.patch b/0001-Flatpak-Add-app-bin-libreoffice-app-libreoffice-prog.patch deleted file mode 100644 index d25d154..0000000 --- a/0001-Flatpak-Add-app-bin-libreoffice-app-libreoffice-prog.patch +++ /dev/null @@ -1,64 +0,0 @@ -From acca5c87e73255db350a02d13bf34a62efaf9c93 Mon Sep 17 00:00:00 2001 -From: Stephan Bergmann -Date: Tue, 21 Apr 2020 14:07:24 +0200 -Subject: [PATCH] Flatpak: Add /app/bin/libreoffice -> - /app/libreoffice/program/soffice symlink - -Which removes the need to rewrite the - - Exec=${UNIXBASISROOTNAME} - -lines from sysui/desktop/menus/*.desktop, and helps to harmonize the plain -Flatpak build with the one done from Fedora RPMs (see -). - -(Also change the manifest command from an absolute path to a filename relative -to PATH. It is not clear to me which one would be better or more conventional, -but at least also uses just -a filename in its example.) - -Change-Id: I69c380b84503bf3d85801093fb92567852ceb00b -Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92837 -Tested-by: Jenkins -Reviewed-by: Stephan Bergmann ---- - solenv/bin/assemble-flatpak.sh | 4 ++-- - solenv/flatpak-manifest.in | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/solenv/bin/assemble-flatpak.sh b/solenv/bin/assemble-flatpak.sh -index b4bce2d4d172..0738fcd59ad2 100755 ---- a/solenv/bin/assemble-flatpak.sh -+++ b/solenv/bin/assemble-flatpak.sh -@@ -14,13 +14,13 @@ - set -e - - cp -r "${PREFIXDIR?}"/lib/libreoffice /app/ -+ln -s /app/libreoffice/program/soffice /app/bin/libreoffice - - ## libreoffice-*.desktop -> org.libreoffice.LibreOffice.*.desktop: - mkdir -p /app/share/applications - for i in "${PREFIXDIR?}"/share/applications/libreoffice-*.desktop - do -- sed -e 's,^Exec=libreoffice,Exec=/app/libreoffice/program/soffice,' \ -- -e 's/^Icon=libreoffice-/Icon=org.libreoffice.LibreOffice./' "$i" \ -+ sed -e 's/^Icon=libreoffice-/Icon=org.libreoffice.LibreOffice./' "$i" \ - >/app/share/applications/org.libreoffice.LibreOffice."${i#"${PREFIXDIR?}"/share/applications/libreoffice-}" - done - mv /app/share/applications/org.libreoffice.LibreOffice.startcenter.desktop \ -diff --git a/solenv/flatpak-manifest.in b/solenv/flatpak-manifest.in -index 9f64a142dd68..754b6b6dbbe1 100644 ---- a/solenv/flatpak-manifest.in -+++ b/solenv/flatpak-manifest.in -@@ -6,7 +6,7 @@ - "sdk-extensions": [ - "org.freedesktop.Sdk.Extension.openjdk11" - ], -- "command": "/app/libreoffice/program/soffice", -+ "command": "libreoffice", - "modules": [ - { - "name": "openjdk", --- -2.26.0 - diff --git a/0001-Get-rid-of-apache-commons-logging.patch b/0001-Get-rid-of-apache-commons-logging.patch new file mode 100644 index 0000000..ca31754 --- /dev/null +++ b/0001-Get-rid-of-apache-commons-logging.patch @@ -0,0 +1,1309 @@ +From 4fd868fdfca690e9b0f159b2beadde5920897ab4 Mon Sep 17 00:00:00 2001 +From: Stephan Bergmann +Date: Sun, 11 Apr 2021 09:20:13 +0200 +Subject: [PATCH] Get rid of apache-commons-logging + +...using Java 1.4 java.util.logging.Logger instead also for the last remaining +uses in reportbuilder. + +(The mention in swext/mediawiki/src/THIRDPARTYLICENSEREADME.html was presumably +a leftover from 4b6ceed4a4a9b152905a8b1712ffb9bd61373c16 "swext: Wiki Publisher +does not use those apache-commons libraries".) + +Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113939 +Tested-by: Jenkins +Reviewed-by: Stephan Bergmann +(cherry picked from commit 6de0b1710adfba82c96b75a5da6f52633a54c692) +Conflicts: + readlicense_oo/license/NOTICE + swext/mediawiki/src/THIRDPARTYLICENSEREADME.html + +Change-Id: Ia0bc598fe5844ced11cae497548ec7d09453a99d +--- + Makefile.fetch | 1 - + RepositoryExternal.mk | 26 ---------- + config_host.mk.in | 3 -- + configure.ac | 40 --------------- + distro-configs/LibreOfficeFlatpak.conf | 1 - + download.lst | 2 - + external/Module_external.mk | 1 - + .../ExternalPackage_apache_commons_logging.mk | 16 ------ + .../ExternalProject_apache_commons_logging.mk | 32 ------------ + external/apache-commons/Makefile | 7 --- + .../apache-commons/Module_apache-commons.mk | 18 ------- + external/apache-commons/README | 1 - + .../UnpackedTarball_apache_commons_logging.mk | 22 --------- + external/apache-commons/patches/logging.patch | 46 ----------------- + readlicense_oo/license/NOTICE | 8 --- + readlicense_oo/license/license.xml | 6 --- + reportbuilder/Jar_reportbuilder.mk | 1 - + .../report/SDBCReportDataFactory.java | 7 +-- + .../libreoffice/report/StorageRepository.java | 48 +++++++++--------- + .../libreoffice/report/pentaho/Manifest.mf | 2 +- + .../report/pentaho/PentahoReportJob.java | 10 ++-- + .../report/pentaho/SOReportJobFactory.java | 9 ++-- + .../layoutprocessor/FormatValueUtility.java | 2 +- + .../FormattedTextLayoutController.java | 7 ++- + .../ImageElementLayoutController.java | 19 ++++--- + .../report/pentaho/output/ImageProducer.java | 23 ++++----- + .../output/OfficeDocumentReportTarget.java | 23 ++++----- + .../report/pentaho/output/OleProducer.java | 12 ++--- + .../report/pentaho/output/StyleUtilities.java | 10 ++-- + .../SpreadsheetRawReportTarget.java | 2 +- + .../office/DocumentContentReadHandler.java | 13 +++-- + solenv/flatpak-manifest.in | 6 --- + .../src/THIRDPARTYLICENSEREADME.html | 49 ------------------- + 33 files changed, 82 insertions(+), 391 deletions(-) + delete mode 100644 external/apache-commons/ExternalPackage_apache_commons_logging.mk + delete mode 100644 external/apache-commons/ExternalProject_apache_commons_logging.mk + delete mode 100644 external/apache-commons/Makefile + delete mode 100644 external/apache-commons/Module_apache-commons.mk + delete mode 100644 external/apache-commons/README + delete mode 100644 external/apache-commons/UnpackedTarball_apache_commons_logging.mk + delete mode 100644 external/apache-commons/patches/logging.patch + +diff --git a/Makefile.fetch b/Makefile.fetch +index 0a6202a4b3c7..924927bb4fb5 100644 +--- a/Makefile.fetch ++++ b/Makefile.fetch +@@ -101,7 +101,6 @@ $(WORKDIR)/download: $(BUILDDIR)/config_$(gb_Side).mk $(SRCDIR)/download.lst $(S + @date >> $(fetch_LOGFILE) + $(foreach item, \ + $(call fetch_Optional,ABW,ABW_TARBALL) \ +- $(call fetch_Optional,APACHE_COMMONS,APACHE_COMMONS_LOGGING_TARBALL) \ + $(call fetch_Optional,APR,APR_TARBALL) \ + $(call fetch_Optional,APR,APR_UTIL_TARBALL) \ + $(call fetch_Optional,BOOST,BOOST_TARBALL) \ +diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk +index ad3febbae41b..d2fe7e044dfb 100644 +--- a/RepositoryExternal.mk ++++ b/RepositoryExternal.mk +@@ -3723,32 +3723,6 @@ endif # SYSTEM_RHINO + + endif + +-ifneq ($(SYSTEM_APACHE_COMMONS),) +- +-define gb_Jar__use_commons-logging +-$(call gb_Jar_use_system_jar,$(1),$(COMMONS_LOGGING_JAR)) +-endef +-gb_ExternalProject__use_commons-logging := +- +-else # !SYSTEM_APACHE_COMMONS +- +-ifeq ($(ENABLE_JAVA),TRUE) +-$(eval $(call gb_Helper_register_jars_for_install,OOO,reportbuilder,\ +- commons-logging-$(COMMONS_LOGGING_VERSION) \ +-)) +-endif +- +-define gb_Jar__use_commons-logging +-$(call gb_Jar_use_external_project,$(1),apache_commons_logging) +-$(call gb_Jar_use_jar,$(1),commons-logging-$(COMMONS_LOGGING_VERSION)) +-endef +-define gb_ExternalProject__use_commons-logging +-$(call gb_ExternalProject_use_external_project,$(1),apache_commons_logging) +-endef +- +-endif # SYSTEM_APACHE_COMMONS +- +- + ifneq ($(SYSTEM_JFREEREPORT),) + + define gb_Jar__use_flow-engine +diff --git a/config_host.mk.in b/config_host.mk.in +index 42f4511a62e8..c9b3aa015123 100644 +--- a/config_host.mk.in ++++ b/config_host.mk.in +@@ -77,8 +77,6 @@ export CLUCENE_LIBS=$(gb_SPACE)@CLUCENE_LIBS@ + export LIBCMIS_CFLAGS=$(gb_SPACE)@LIBCMIS_CFLAGS@ + export LIBCMIS_LIBS=$(gb_SPACE)@LIBCMIS_LIBS@ + export COM=@COM@ +-export COMMONS_LOGGING_JAR=@COMMONS_LOGGING_JAR@ +-export COMMONS_LOGGING_VERSION=@COMMONS_LOGGING_VERSION@ + export COMPATH=@COMPATH@ + export COMPILER_PLUGINS=@COMPILER_PLUGINS@ + export COMPILER_PLUGINS_ANALYZER_PCH=@COMPILER_PLUGINS_ANALYZER_PCH@ +@@ -546,7 +544,6 @@ export STRIP=@STRIP@ + export STRIP_COMPONENTS=@STRIP_COMPONENTS@ + export SYSBASE=@SYSBASE@ + export SYSTEM_ABW=@SYSTEM_ABW@ +-export SYSTEM_APACHE_COMMONS=@SYSTEM_APACHE_COMMONS@ + export SYSTEM_APR=@SYSTEM_APR@ + export SYSTEM_BLUEZ=@SYSTEM_BLUEZ@ + export SYSTEM_BOOST=@SYSTEM_BOOST@ +diff --git a/configure.ac b/configure.ac +index 11d93b7ba6eb..1cb0a61ad9c2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2076,11 +2076,6 @@ AC_ARG_WITH(system-gpgmepp, + [Use gpgmepp already on system]),, + [with_system_gpgmepp="$with_system_libs"]) + +-AC_ARG_WITH(system-apache-commons, +- AS_HELP_STRING([--with-system-apache-commons], +- [Use Apache commons libraries already on system.]),, +- [with_system_apache_commons="$with_system_jars"]) +- + AC_ARG_WITH(system-mariadb, + AS_HELP_STRING([--with-system-mariadb], + [Use MariaDB/MySQL libraries already on system.]),, +@@ -2158,11 +2153,6 @@ AC_ARG_WITH(rhino-jar, + [Specify path to jarfile manually.]), + RHINO_JAR=$withval) + +-AC_ARG_WITH(commons-logging-jar, +- AS_HELP_STRING([--with-commons-logging-jar=JARFILE], +- [Specify path to jarfile manually.]), +- COMMONS_LOGGING_JAR=$withval) +- + AC_ARG_WITH(system-jfreereport, + AS_HELP_STRING([--with-system-jfreereport], + [Use JFreeReport already on system.]),, +@@ -12298,36 +12288,6 @@ AC_SUBST(LIBREPOSITORY_JAR) + AC_SUBST(LIBFONTS_JAR) + AC_SUBST(LIBSERIALIZER_JAR) + +-# this has to be here because both the Wiki Publisher and the SRB use +-# commons-logging +-COMMONS_LOGGING_VERSION=1.2 +-if test "$ENABLE_REPORTBUILDER" = "TRUE"; then +- AC_MSG_CHECKING([which Apache commons-* libs to use]) +- if test "$with_system_apache_commons" = "yes"; then +- SYSTEM_APACHE_COMMONS=TRUE +- AC_MSG_RESULT([external]) +- if test -z $COMMONS_LOGGING_JAR; then +- if test -f /usr/share/java/commons-logging-${COMMONS_LOGGING_VERSION}.jar; then +- COMMONS_LOGGING_JAR=/usr/share/java/commons-logging-${COMMONS_LOGGING_VERSION}.jar +- elif test -f /usr/share/java/commons-logging.jar; then +- COMMONS_LOGGING_JAR=/usr/share/java/commons-logging.jar +- else +- AC_MSG_ERROR(commons-logging.jar replacement not found.) +- fi +- elif ! test -f $COMMONS_LOGGING_JAR; then +- AC_MSG_ERROR(commons-logging.jar not found.) +- fi +- else +- AC_MSG_RESULT([internal]) +- SYSTEM_APACHE_COMMONS= +- BUILD_TYPE="$BUILD_TYPE APACHE_COMMONS" +- NEED_ANT=TRUE +- fi +-fi +-AC_SUBST(SYSTEM_APACHE_COMMONS) +-AC_SUBST(COMMONS_LOGGING_JAR) +-AC_SUBST(COMMONS_LOGGING_VERSION) +- + # scripting provider for BeanShell? + AC_MSG_CHECKING([whether to build support for scripts in BeanShell]) + if test "${enable_scripting_beanshell}" != "no" -a "x$with_java" != "xno"; then +diff --git a/distro-configs/LibreOfficeFlatpak.conf b/distro-configs/LibreOfficeFlatpak.conf +index 81604de9f1f7..97bfaba200fc 100644 +--- a/distro-configs/LibreOfficeFlatpak.conf ++++ b/distro-configs/LibreOfficeFlatpak.conf +@@ -10,7 +10,6 @@ + --without-export-validation + --without-junit + --without-lxml +---without-system-apache-commons + --without-system-beanshell + --without-system-bluez + --without-system-boost +diff --git a/download.lst b/download.lst +index c474e9f60208..f74d49e8dfcb 100644 +--- a/download.lst ++++ b/download.lst +@@ -5,8 +5,6 @@ + + export ABW_SHA256SUM := e763a9dc21c3d2667402d66e202e3f8ef4db51b34b79ef41f56cacb86dcd6eed + export ABW_TARBALL := libabw-0.1.3.tar.xz +-export APACHE_COMMONS_LOGGING_SHA256SUM := 49665da5a60d033e6dff40fe0a7f9173e886ae859ce6096c1afe34c48b677c81 +-export APACHE_COMMONS_LOGGING_TARBALL := commons-logging-1.2-src.tar.gz + export APR_SHA256SUM := 1af06e1720a58851d90694a984af18355b65bb0d047be03ec7d659c746d6dbdb + export APR_TARBALL := apr-1.5.2.tar.gz + export APR_UTIL_SHA256SUM := 976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19 +diff --git a/external/Module_external.mk b/external/Module_external.mk +index 1c722a325c2d..185974271b93 100644 +--- a/external/Module_external.mk ++++ b/external/Module_external.mk +@@ -16,7 +16,6 @@ endif + $(eval $(call gb_Module_add_moduledirs,external,\ + $(call gb_Helper_optional,XMLSEC,xmlsec) \ + $(call gb_Helper_optional,ABW,libabw) \ +- $(call gb_Helper_optional,APACHE_COMMONS,apache-commons) \ + $(call gb_Helper_optional,APR,apr) \ + $(call gb_Helper_optional,BOOST,boost) \ + $(call gb_Helper_optional,BOX2D,box2d) \ +diff --git a/external/apache-commons/ExternalPackage_apache_commons_logging.mk b/external/apache-commons/ExternalPackage_apache_commons_logging.mk +deleted file mode 100644 +index 2bff13b93c66..000000000000 +--- a/external/apache-commons/ExternalPackage_apache_commons_logging.mk ++++ /dev/null +@@ -1,16 +0,0 @@ +-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +-# +-# This file is part of the LibreOffice project. +-# +-# This Source Code Form is subject to the terms of the Mozilla Public +-# License, v. 2.0. If a copy of the MPL was not distributed with this +-# file, You can obtain one at http://mozilla.org/MPL/2.0/. +-# +- +-$(eval $(call gb_ExternalPackage_ExternalPackage,apache_commons_logging,apache_commons_logging)) +- +-$(eval $(call gb_ExternalPackage_use_external_project,apache_commons_logging,apache_commons_logging)) +- +-$(eval $(call gb_ExternalPackage_add_file,apache_commons_logging,$(LIBO_SHARE_JAVA_FOLDER)/commons-logging-$(COMMONS_LOGGING_VERSION).jar,target/commons-logging-$(COMMONS_LOGGING_VERSION).jar)) +- +-# vim: set noet sw=4 ts=4: +diff --git a/external/apache-commons/ExternalProject_apache_commons_logging.mk b/external/apache-commons/ExternalProject_apache_commons_logging.mk +deleted file mode 100644 +index 7c689d18c443..000000000000 +--- a/external/apache-commons/ExternalProject_apache_commons_logging.mk ++++ /dev/null +@@ -1,32 +0,0 @@ +-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +-# +-# This file is part of the LibreOffice project. +-# +-# This Source Code Form is subject to the terms of the Mozilla Public +-# License, v. 2.0. If a copy of the MPL was not distributed with this +-# file, You can obtain one at http://mozilla.org/MPL/2.0/. +-# +- +-$(eval $(call gb_ExternalProject_ExternalProject,apache_commons_logging)) +- +-$(eval $(call gb_ExternalProject_register_targets,apache_commons_logging,\ +- build \ +-)) +- +-$(call gb_ExternalProject_get_state_target,apache_commons_logging,build) : +- $(call gb_Trace_StartRange,apache_commons_logging,EXTERNAL) +- $(call gb_ExternalProject_run,build,\ +- JAVA_HOME=$(JAVA_HOME_FOR_BUILD) \ +- ANT_OPTS="$$ANT_OPTS -Dfile.encoding=ISO-8859-1" \ +- $(ICECREAM_RUN) "$(ANT)" \ +- $(if $(verbose),-v,-q) \ +- -f build.xml \ +- -Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO).$(LIBO_VERSION_PATCH)" \ +- -Dant.build.javac.source=$(JAVA_SOURCE_VER) \ +- -Dant.build.javac.target=$(JAVA_TARGET_VER) \ +- $(if $(debug),-Dcompile.debug="true",-Dcompile.debug="false") \ +- compile build-jar \ +- ) +- $(call gb_Trace_EndRange,apache_commons_logging,EXTERNAL) +- +-# vim: set noet sw=4 ts=4: +diff --git a/external/apache-commons/Makefile b/external/apache-commons/Makefile +deleted file mode 100644 +index e4968cf85fb6..000000000000 +--- a/external/apache-commons/Makefile ++++ /dev/null +@@ -1,7 +0,0 @@ +-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +- +-module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST)))) +- +-include $(module_directory)/../../solenv/gbuild/partial_build.mk +- +-# vim: set noet sw=4 ts=4: +diff --git a/external/apache-commons/Module_apache-commons.mk b/external/apache-commons/Module_apache-commons.mk +deleted file mode 100644 +index 45aabe229b03..000000000000 +--- a/external/apache-commons/Module_apache-commons.mk ++++ /dev/null +@@ -1,18 +0,0 @@ +-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +-# +-# This file is part of the LibreOffice project. +-# +-# This Source Code Form is subject to the terms of the Mozilla Public +-# License, v. 2.0. If a copy of the MPL was not distributed with this +-# file, You can obtain one at http://mozilla.org/MPL/2.0/. +-# +- +-$(eval $(call gb_Module_Module,apache-commons)) +- +-$(eval $(call gb_Module_add_targets,apache-commons,\ +- ExternalPackage_apache_commons_logging \ +- ExternalProject_apache_commons_logging \ +- UnpackedTarball_apache_commons_logging \ +-)) +- +-# vim: set noet sw=4 ts=4: +diff --git a/external/apache-commons/README b/external/apache-commons/README +deleted file mode 100644 +index 18944aca4af7..000000000000 +--- a/external/apache-commons/README ++++ /dev/null +@@ -1 +0,0 @@ +-Java library; used for logging in Extensions, from [http://commons.apache.org/] +diff --git a/external/apache-commons/UnpackedTarball_apache_commons_logging.mk b/external/apache-commons/UnpackedTarball_apache_commons_logging.mk +deleted file mode 100644 +index 1d5ad3dc2d9d..000000000000 +--- a/external/apache-commons/UnpackedTarball_apache_commons_logging.mk ++++ /dev/null +@@ -1,22 +0,0 @@ +-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +-# +-# This file is part of the LibreOffice project. +-# +-# This Source Code Form is subject to the terms of the Mozilla Public +-# License, v. 2.0. If a copy of the MPL was not distributed with this +-# file, You can obtain one at http://mozilla.org/MPL/2.0/. +-# +- +-$(eval $(call gb_UnpackedTarball_UnpackedTarball,apache_commons_logging)) +- +-$(eval $(call gb_UnpackedTarball_set_tarball,apache_commons_logging,$(APACHE_COMMONS_LOGGING_TARBALL),,apache-commons)) +- +-$(eval $(call gb_UnpackedTarball_fix_end_of_line,apache_commons_logging,\ +- build.xml \ +-)) +- +-$(eval $(call gb_UnpackedTarball_add_patches,apache_commons_logging,\ +- external/apache-commons/patches/logging.patch \ +-)) +- +-# vim: set noet sw=4 ts=4: +diff --git a/external/apache-commons/patches/logging.patch b/external/apache-commons/patches/logging.patch +deleted file mode 100644 +index c225e5a30338..000000000000 +--- a/external/apache-commons/patches/logging.patch ++++ /dev/null +@@ -1,46 +0,0 @@ +---- misc/commons-logging-1.1.1-src/build.xml 2007-11-22 00:27:52.000000000 +0100 +-+++ misc/build/commons-logging-1.1.1-src/build.xml 2008-06-24 14:23:56.316301736 +0200 +-@@ -129,12 +129,6 @@ +- +- +- +-- +-- +-- +-- +-- +-- +- +- +- +-@@ -283,6 +277,10 @@ +- classpathref="compile.classpath" +- classname="org.apache.avalon.framework.logger.Logger"/> +- +-+ +-+ +- +- +- +-@@ -362,8 +360,8 @@ +- debug="${compile.debug}" +- deprecation="${compile.deprecation}" +- optimize="${compile.optimize}" +-- source="${source.version}" +-- target="${target.version}"> +-+ source="${ant.build.javac.source}" +-+ target="${ant.build.javac.target}"> +- +- +- +-@@ -373,6 +371,8 @@ +- unless="logkit.present"/> +- +-+ +- +- +- +diff --git a/readlicense_oo/license/NOTICE b/readlicense_oo/license/NOTICE +index 46b7fccaf737..0cecc2dbfa50 100644 +--- a/readlicense_oo/license/NOTICE ++++ b/readlicense_oo/license/NOTICE +@@ -25,7 +25,6 @@ Apache projects: + - Apache Lucene + - Apache Portable Runtime + - Apache Portable Runtime Utility Library +-- Apache Commons - used by MediaWiki Publisher extension + - Apache Jakarta HttpClient - used by MediaWiki Publisher extension + - Apache Tomcat - used by MediaWiki Publisher extension + +@@ -106,13 +105,6 @@ This product includes software from the Spring Framework, + under the Apache License 2.0 (see: StringUtils.containsWhitespace()) + + +-Apache Commons Logging +-Copyright 2003-2007 The Apache Software Foundation +- +-This product includes software developed by +-The Apache Software Foundation (http://www.apache.org/). +- +- + Apache Tomcat + Copyright 1999-2012 The Apache Software Foundation + +diff --git a/readlicense_oo/license/license.xml b/readlicense_oo/license/license.xml +index 2c45a12fd202..2bd6b943096f 100644 +--- a/readlicense_oo/license/license.xml ++++ b/readlicense_oo/license/license.xml +@@ -52,12 +52,6 @@ +

Third Party Code Additional Copyright + Notices and License Terms

+

Libraries

+-
+-

Apache Commons

+-

The following software may be included in this product: Apache Commons (codec, httpclient, lang, logging). +- Use of any of this software is governed by the terms of the license below:

+-

Jump to Apache License Version 2.0

+-
+
+

Apache Portable Runtime (APR)

+

The following software may be included in this product: Apache Portable Runtime (APR). +diff --git a/reportbuilder/Jar_reportbuilder.mk b/reportbuilder/Jar_reportbuilder.mk +index 101ebc9330b7..7abcf796a0d0 100644 +--- a/reportbuilder/Jar_reportbuilder.mk ++++ b/reportbuilder/Jar_reportbuilder.mk +@@ -15,7 +15,6 @@ $(eval $(call gb_Jar_use_jars,reportbuilder,\ + )) + + $(eval $(call gb_Jar_use_externals,reportbuilder,\ +- commons-logging \ + flow-engine \ + flute \ + libbase \ +diff --git a/reportbuilder/java/org/libreoffice/report/SDBCReportDataFactory.java b/reportbuilder/java/org/libreoffice/report/SDBCReportDataFactory.java +index 463addc63e71..b3c4508666ca 100644 +--- a/reportbuilder/java/org/libreoffice/report/SDBCReportDataFactory.java ++++ b/reportbuilder/java/org/libreoffice/report/SDBCReportDataFactory.java +@@ -58,9 +58,6 @@ import java.util.Map; + import java.util.logging.Level; + import java.util.logging.Logger; + +-import org.apache.commons.logging.Log; +-import org.apache.commons.logging.LogFactory; +- + + /** + * Very primitive implementation, just to show how this could be used ... +@@ -142,7 +139,7 @@ public class SDBCReportDataFactory implements DataSourceFactory + private int parameterCount = 0; + private final ArrayList parameterIndex = new ArrayList(); + } +- private static final Log LOGGER = LogFactory.getLog(SDBCReportDataFactory.class); ++ private static final Logger LOGGER = Logger.getLogger(SDBCReportDataFactory.class.getName()); + public static final String COMMAND_TYPE = "command-type"; + public static final String ESCAPE_PROCESSING = "escape-processing"; + public static final String SORT_EXPRESSIONS = "sort-expressions"; +@@ -259,7 +256,7 @@ public class SDBCReportDataFactory implements DataSourceFactory + } + catch (SQLException ex) + { +- LOGGER.error("ReportProcessing failed / getOrderStatement could not get quote character", ex); ++ LOGGER.severe("ReportProcessing failed / getOrderStatement could not get quote character: " + ex); + // fall back to the SQL standard + quote=""; + } +diff --git a/reportbuilder/java/org/libreoffice/report/StorageRepository.java b/reportbuilder/java/org/libreoffice/report/StorageRepository.java +index 8b6d08c458a2..a338ee5dedb5 100644 +--- a/reportbuilder/java/org/libreoffice/report/StorageRepository.java ++++ b/reportbuilder/java/org/libreoffice/report/StorageRepository.java +@@ -37,9 +37,7 @@ import java.io.BufferedOutputStream; + import java.io.IOException; + import java.io.InputStream; + import java.io.OutputStream; +- +-import org.apache.commons.logging.Log; +-import org.apache.commons.logging.LogFactory; ++import java.util.logging.Logger; + + /** + * A directory holds all the contents here. +@@ -49,8 +47,8 @@ import org.apache.commons.logging.LogFactory; + public class StorageRepository implements InputRepository, OutputRepository + { + +- private static final Log LOGGER = LogFactory.getLog(StorageRepository.class); +- private static final String REPORT_PROCESSING_FAILED = "ReportProcessing failed"; ++ private static final Logger LOGGER = Logger.getLogger(StorageRepository.class.getName()); ++ private static final String REPORT_PROCESSING_FAILED = "ReportProcessing failed: "; + private XStorage input; + private XStorage output; + private final String rootURL; +@@ -134,11 +132,11 @@ public class StorageRepository implements InputRepository, OutputRepository + } + catch (InvalidStorageException ex) + { +- LOGGER.error(REPORT_PROCESSING_FAILED, ex); ++ LOGGER.severe(REPORT_PROCESSING_FAILED + ex); + } + catch (com.sun.star.lang.IllegalArgumentException ex) + { +- LOGGER.error(REPORT_PROCESSING_FAILED, ex); ++ LOGGER.severe(REPORT_PROCESSING_FAILED + ex); + } + catch (NoSuchElementException e) + { +@@ -168,15 +166,15 @@ public class StorageRepository implements InputRepository, OutputRepository + } + catch (InvalidStorageException ex) + { +- LOGGER.error(REPORT_PROCESSING_FAILED, ex); ++ LOGGER.severe(REPORT_PROCESSING_FAILED + ex); + } + catch (com.sun.star.lang.IllegalArgumentException ex) + { +- LOGGER.error(REPORT_PROCESSING_FAILED, ex); ++ LOGGER.severe(REPORT_PROCESSING_FAILED + ex); + } + catch (NoSuchElementException ex) + { +- LOGGER.error(REPORT_PROCESSING_FAILED, ex); ++ LOGGER.severe(REPORT_PROCESSING_FAILED + ex); + } + return false; + } +@@ -195,23 +193,23 @@ public class StorageRepository implements InputRepository, OutputRepository + } + catch (NoSuchElementException ex) + { +- LOGGER.error(REPORT_PROCESSING_FAILED, ex); ++ LOGGER.severe(REPORT_PROCESSING_FAILED + ex); + } + catch (WrappedTargetException ex) + { +- LOGGER.error(REPORT_PROCESSING_FAILED, ex); ++ LOGGER.severe(REPORT_PROCESSING_FAILED + ex); + } + catch (InvalidStorageException ex) + { +- LOGGER.error(REPORT_PROCESSING_FAILED, ex); ++ LOGGER.severe(REPORT_PROCESSING_FAILED + ex); + } + catch (IllegalArgumentException ex) + { +- LOGGER.error(REPORT_PROCESSING_FAILED, ex); ++ LOGGER.severe(REPORT_PROCESSING_FAILED + ex); + } + catch (com.sun.star.io.IOException ex) + { +- LOGGER.error(REPORT_PROCESSING_FAILED, ex); ++ LOGGER.severe(REPORT_PROCESSING_FAILED + ex); + } + throw new IOException(); + } +@@ -245,27 +243,27 @@ public class StorageRepository implements InputRepository, OutputRepository + } + catch (UnknownPropertyException ex) + { +- LOGGER.error(REPORT_PROCESSING_FAILED, ex); ++ LOGGER.severe(REPORT_PROCESSING_FAILED + ex); + } + catch (PropertyVetoException ex) + { +- LOGGER.error(REPORT_PROCESSING_FAILED, ex); ++ LOGGER.severe(REPORT_PROCESSING_FAILED + ex); + } + catch (IllegalArgumentException ex) + { +- LOGGER.error(REPORT_PROCESSING_FAILED, ex); ++ LOGGER.severe(REPORT_PROCESSING_FAILED + ex); + } + catch (WrappedTargetException ex) + { +- LOGGER.error(REPORT_PROCESSING_FAILED, ex); ++ LOGGER.severe(REPORT_PROCESSING_FAILED + ex); + } + catch (InvalidStorageException ex) + { +- LOGGER.error(REPORT_PROCESSING_FAILED, ex); ++ LOGGER.severe(REPORT_PROCESSING_FAILED + ex); + } + catch (com.sun.star.io.IOException ex) + { +- LOGGER.error(REPORT_PROCESSING_FAILED, ex); ++ LOGGER.severe(REPORT_PROCESSING_FAILED + ex); + } + + throw new IOException(); +@@ -293,11 +291,11 @@ public class StorageRepository implements InputRepository, OutputRepository + } + catch (com.sun.star.io.IOException ex) + { +- LOGGER.error(REPORT_PROCESSING_FAILED, ex); ++ LOGGER.severe(REPORT_PROCESSING_FAILED + ex); + } + catch (WrappedTargetException ex) + { +- LOGGER.error(REPORT_PROCESSING_FAILED, ex); ++ LOGGER.severe(REPORT_PROCESSING_FAILED + ex); + } + output.dispose(); + } +@@ -312,11 +310,11 @@ public class StorageRepository implements InputRepository, OutputRepository + } + catch (InvalidStorageException ex) + { +- LOGGER.error(REPORT_PROCESSING_FAILED, ex); ++ LOGGER.severe(REPORT_PROCESSING_FAILED + ex); + } + catch (com.sun.star.lang.IllegalArgumentException ex) + { +- LOGGER.error(REPORT_PROCESSING_FAILED, ex); ++ LOGGER.severe(REPORT_PROCESSING_FAILED + ex); + } + catch (NoSuchElementException ex) + { +diff --git a/reportbuilder/java/org/libreoffice/report/pentaho/Manifest.mf b/reportbuilder/java/org/libreoffice/report/pentaho/Manifest.mf +index 23731b104054..2a56b2fbb9fa 100644 +--- a/reportbuilder/java/org/libreoffice/report/pentaho/Manifest.mf ++++ b/reportbuilder/java/org/libreoffice/report/pentaho/Manifest.mf +@@ -3,5 +3,5 @@ Class-Path: reportbuilderwizard.jar + flute-1.1.6.jar libserializer-1.1.6.jar libbase-1.1.6.jar + libfonts-1.1.6.jar libformula-1.1.7.jar liblayout.jar + libloader-1.1.6.jar librepository-1.1.6.jar libxml-1.1.7.jar +- flow-engine.jar sac.jar commons-logging-1.2.jar ++ flow-engine.jar sac.jar + UNO-Type-Path: +diff --git a/reportbuilder/java/org/libreoffice/report/pentaho/PentahoReportJob.java b/reportbuilder/java/org/libreoffice/report/pentaho/PentahoReportJob.java +index 480bca548e7e..efb4261ce127 100644 +--- a/reportbuilder/java/org/libreoffice/report/pentaho/PentahoReportJob.java ++++ b/reportbuilder/java/org/libreoffice/report/pentaho/PentahoReportJob.java +@@ -42,9 +42,7 @@ import java.io.IOException; + + import java.util.ArrayList; + import java.util.List; +- +-import org.apache.commons.logging.Log; +-import org.apache.commons.logging.LogFactory; ++import java.util.logging.Logger; + + import org.jfree.report.expressions.Expression; + import org.jfree.report.expressions.FormulaExpression; +@@ -72,7 +70,7 @@ import org.pentaho.reporting.libraries.resourceloader.ResourceManager; + public class PentahoReportJob implements ReportJob + { + +- private static final Log LOGGER = LogFactory.getLog(PentahoReportJob.class); ++ private static final Logger LOGGER = Logger.getLogger(PentahoReportJob.class.getName()); + private final DataSourceFactory dataSourceFactory; + private final OutputRepository outputRepository; + private final JobProperties jobProperties; +@@ -235,7 +233,7 @@ public class PentahoReportJob implements ReportJob + } + catch (ParseException ex) + { +- LOGGER.error("ReportProcessing failed", ex); ++ LOGGER.severe("ReportProcessing failed: " + ex); + } + } + else if (node instanceof OfficeDetailSection) +@@ -338,7 +336,7 @@ public class PentahoReportJob implements ReportJob + rp.processReport(job); + job.close(); + final long endTime = System.currentTimeMillis(); +- LOGGER.debug("Report processing time: " + (endTime - startTime)); ++ LOGGER.config("Report processing time: " + (endTime - startTime)); + } + catch (final Exception e) + { +diff --git a/reportbuilder/java/org/libreoffice/report/pentaho/SOReportJobFactory.java b/reportbuilder/java/org/libreoffice/report/pentaho/SOReportJobFactory.java +index 54694fd619ab..3c52473e3d3c 100644 +--- a/reportbuilder/java/org/libreoffice/report/pentaho/SOReportJobFactory.java ++++ b/reportbuilder/java/org/libreoffice/report/pentaho/SOReportJobFactory.java +@@ -68,9 +68,6 @@ import java.io.Writer; + import java.io.PrintWriter; + import java.io.StringWriter; + +-import org.apache.commons.logging.Log; +-import org.apache.commons.logging.LogFactory; +- + /** + * This class capsulates the class, that implements the minimal component, a factory for creating the service + * (__getComponentFactory) and a method, that writes the information into the given registry key +@@ -86,7 +83,7 @@ public class SOReportJobFactory + public static class _SOReportJobFactory extends WeakBase implements XInitialization, XServiceInfo, XJob, XPropertySet, ReportJobFactory + { + +- private static final Log LOGGER = LogFactory.getLog(_SOReportJobFactory.class); ++ private static final Logger LOGGER = Logger.getLogger(_SOReportJobFactory.class.getName()); + /** + * The service name, that must be used to get an instance of this service. + */ +@@ -242,7 +239,7 @@ public class SOReportJobFactory + } + catch (java.lang.Exception e) + { +- LOGGER.error("ReportProcessing failed", e); ++ LOGGER.severe("ReportProcessing failed: " + e); + Writer result = new StringWriter(); + PrintWriter printWriter = new PrintWriter(result); + e.printStackTrace(printWriter); +@@ -254,7 +251,7 @@ public class SOReportJobFactory + } + catch (java.lang.IncompatibleClassChangeError e) + { +- LOGGER.error("Detected an IncompatibleClassChangeError"); ++ LOGGER.severe("Detected an IncompatibleClassChangeError"); + Writer result = new StringWriter(); + PrintWriter printWriter = new PrintWriter(result); + e.printStackTrace(printWriter); +diff --git a/reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/FormatValueUtility.java b/reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/FormatValueUtility.java +index 6a1bd00736ee..eab7c512284d 100644 +--- a/reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/FormatValueUtility.java ++++ b/reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/FormatValueUtility.java +@@ -208,7 +208,7 @@ public class FormatValueUtility + if (result == null) + { + // ignore it. Ignoring it is much better than printing 'null'. +- // LOGGER.debug("Formula '" + formulaExpression.getFormula() + "' evaluated to null."); ++ // LOGGER.config("Formula '" + formulaExpression.getFormula() + "' evaluated to null."); + return null; + } + else if (result instanceof DataFlags) +diff --git a/reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/FormattedTextLayoutController.java b/reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/FormattedTextLayoutController.java +index 7f1470edc866..7959b5857408 100644 +--- a/reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/FormattedTextLayoutController.java ++++ b/reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/FormattedTextLayoutController.java +@@ -20,8 +20,7 @@ package org.libreoffice.report.pentaho.layoutprocessor; + + import org.libreoffice.report.pentaho.OfficeNamespaces; + import org.libreoffice.report.pentaho.model.FormattedTextElement; +-import org.apache.commons.logging.Log; +-import org.apache.commons.logging.LogFactory; ++import java.util.logging.Logger; + + import org.jfree.report.DataFlags; + import org.jfree.report.DataSourceException; +@@ -45,7 +44,7 @@ public class FormattedTextLayoutController + extends AbstractReportElementLayoutController + { + +- private static final Log LOGGER = LogFactory.getLog(FormattedTextLayoutController.class); ++ private static final Logger LOGGER = Logger.getLogger(FormattedTextLayoutController.class.getName()); + + @Override + public boolean isValueChanged() +@@ -62,7 +61,7 @@ public class FormattedTextLayoutController + } + catch (final ParseException e) + { +- LOGGER.debug("Parse Exception", e); ++ LOGGER.config("Parse Exception: " + e); + return false; + } + } +diff --git a/reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/ImageElementLayoutController.java b/reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/ImageElementLayoutController.java +index 0bf40b9dcd28..6fc68e816f7c 100644 +--- a/reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/ImageElementLayoutController.java ++++ b/reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/ImageElementLayoutController.java +@@ -22,8 +22,7 @@ import org.libreoffice.report.OfficeToken; + import org.libreoffice.report.pentaho.OfficeNamespaces; + import org.libreoffice.report.pentaho.model.ImageElement; + +-import org.apache.commons.logging.Log; +-import org.apache.commons.logging.LogFactory; ++import java.util.logging.Logger; + + import org.jfree.layouting.util.AttributeMap; + import org.jfree.report.DataSourceException; +@@ -59,7 +58,7 @@ public class ImageElementLayoutController + extends AbstractReportElementLayoutController + { + +- private static final Log LOGGER = LogFactory.getLog(ImageElementLayoutController.class); ++ private static final Logger LOGGER = Logger.getLogger(ImageElementLayoutController.class.getName()); + private ImageElementContext context; + + @Override +@@ -116,7 +115,7 @@ public class ImageElementLayoutController + final LayoutController cellController = findParentCell(); + if (cellController == null) + { +- LOGGER.warn("Image is not contained in a table. Unable to calculate the image-size."); ++ LOGGER.warning("Image is not contained in a table. Unable to calculate the image-size."); + return null; + } + final Element tableCell = (Element) cellController.getNode(); +@@ -124,14 +123,14 @@ public class ImageElementLayoutController + final int colSpan = TextUtilities.parseInt((String) tableCell.getAttribute(OfficeNamespaces.TABLE_NS, "number-columns-spanned"), 1); + if (rowSpan < 1 || colSpan < 1) + { +- LOGGER.warn("Rowspan or colspan for image-size calculation was invalid."); ++ LOGGER.warning("Rowspan or colspan for image-size calculation was invalid."); + return null; + } + + final LayoutController rowController = cellController.getParent(); + if (rowController == null) + { +- LOGGER.warn("Table-Cell has no parent. Unable to calculate the image-size."); ++ LOGGER.warning("Table-Cell has no parent. Unable to calculate the image-size."); + return null; + } + final Section tableRow = (Section) rowController.getNode(); +@@ -141,14 +140,14 @@ public class ImageElementLayoutController + final int columnPos = findNodeInSection(tableRow, tableCell, OfficeToken.COVERED_TABLE_CELL); + if (columnPos == -1) + { +- LOGGER.warn("Table-Cell is not a direct child of the table-row. Unable to calculate the image-size."); ++ LOGGER.warning("Table-Cell is not a direct child of the table-row. Unable to calculate the image-size."); + return null; + } + + final LayoutController tableController = rowController.getParent(); + if (tableController == null) + { +- LOGGER.warn("Table-Row has no Table. Unable to calculate the image-size."); ++ LOGGER.warning("Table-Row has no Table. Unable to calculate the image-size."); + return null; + } + +@@ -158,7 +157,7 @@ public class ImageElementLayoutController + if (columns.getNodeCount() <= columnPos + colSpan) + { + // the colspan is too large. The table definition is therefore invalid. We do not try to fix this. +- LOGGER.warn( ++ LOGGER.warning( + "The Table's defined columns do not match the col-span or col-position. Unable to calculate the image-size."); + return null; + } +@@ -169,7 +168,7 @@ public class ImageElementLayoutController + final int rowPos = findNodeInSection(table, tableRow, null); + if (rowPos == -1) + { +- LOGGER.warn("Table-Cell is not a direct child of the table-row. Unable to calculate the image-size."); ++ LOGGER.warning("Table-Cell is not a direct child of the table-row. Unable to calculate the image-size."); + return null; + } + +diff --git a/reportbuilder/java/org/libreoffice/report/pentaho/output/ImageProducer.java b/reportbuilder/java/org/libreoffice/report/pentaho/output/ImageProducer.java +index ae1a8273bfb7..69995d7aa1c5 100644 +--- a/reportbuilder/java/org/libreoffice/report/pentaho/output/ImageProducer.java ++++ b/reportbuilder/java/org/libreoffice/report/pentaho/output/ImageProducer.java +@@ -48,9 +48,6 @@ import java.util.Map; + import java.util.logging.Level; + import java.util.logging.Logger; + +-import org.apache.commons.logging.Log; +-import org.apache.commons.logging.LogFactory; +- + import org.jfree.layouting.input.style.values.CSSNumericType; + import org.jfree.layouting.input.style.values.CSSNumericValue; + +@@ -67,7 +64,7 @@ import org.pentaho.reporting.libraries.base.util.WaitingImageObserver; + public class ImageProducer + { + +- private static final Log LOGGER = LogFactory.getLog(ImageProducer.class); ++ private static final Logger LOGGER = Logger.getLogger(ImageProducer.class.getName()); + + public static class OfficeImage + { +@@ -188,7 +185,7 @@ public class ImageProducer + final boolean preserveIRI) + { + +- LOGGER.debug("Want to produce image " + imageData); ++ LOGGER.config("Want to produce image " + imageData); + if (imageData instanceof String) + { + return produceFromString((String) imageData, preserveIRI); +@@ -247,11 +244,11 @@ public class ImageProducer + } + catch (IOException e) + { +- LOGGER.warn("Failed to produce image from Blob", e); ++ LOGGER.warning("Failed to produce image from Blob: " + e); + } + catch (SQLException e) + { +- LOGGER.warn("Failed to produce image from Blob", e); ++ LOGGER.warning("Failed to produce image from Blob: " + e); + } + return null; + } +@@ -295,11 +292,11 @@ public class ImageProducer + } + catch (IOException e) + { +- LOGGER.warn("Failed to load image from local input-repository", e); ++ LOGGER.warning("Failed to load image from local input-repository: " + e); + } + catch (ReportExecutionException e) + { +- LOGGER.warn("Failed to create image from local input-repository", e); ++ LOGGER.warning("Failed to create image from local input-repository: " + e); + } + return null; + } +@@ -353,11 +350,11 @@ public class ImageProducer + } + catch (IOException e) + { +- LOGGER.warn("Failed to load image from local input-repository", e); ++ LOGGER.warning("Failed to load image from local input-repository: " + e); + } + catch (ReportExecutionException e) + { +- LOGGER.warn("Failed to create image from local input-repository", e); ++ LOGGER.warning("Failed to create image from local input-repository: " + e); + } + } + else +@@ -435,11 +432,11 @@ public class ImageProducer + } + catch (IOException e) + { +- LOGGER.warn("Failed to load image from local input-repository", e); ++ LOGGER.warning("Failed to load image from local input-repository: " + e); + } + catch (ReportExecutionException e) + { +- LOGGER.warn("Failed to create image from local input-repository", e); ++ LOGGER.warning("Failed to create image from local input-repository: " + e); + } + + if (!preserveIRI) +diff --git a/reportbuilder/java/org/libreoffice/report/pentaho/output/OfficeDocumentReportTarget.java b/reportbuilder/java/org/libreoffice/report/pentaho/output/OfficeDocumentReportTarget.java +index a5c3be135a65..b73b5781b3a3 100644 +--- a/reportbuilder/java/org/libreoffice/report/pentaho/output/OfficeDocumentReportTarget.java ++++ b/reportbuilder/java/org/libreoffice/report/pentaho/output/OfficeDocumentReportTarget.java +@@ -65,9 +65,6 @@ import java.util.Map; + import java.util.zip.DeflaterOutputStream; + import java.util.zip.InflaterInputStream; + +-import org.apache.commons.logging.Log; +-import org.apache.commons.logging.LogFactory; +- + import org.jfree.layouting.input.style.parser.CSSValueFactory; + import org.jfree.layouting.input.style.parser.StyleSheetParserUtil; + import org.jfree.layouting.input.style.values.CSSNumericType; +@@ -112,7 +109,7 @@ import org.w3c.css.sac.LexicalUnit; + public abstract class OfficeDocumentReportTarget extends AbstractReportTarget + { + +- protected static final Log LOGGER = LogFactory.getLog(OfficeDocumentReportTarget.class); ++ protected static final Logger LOGGER = Logger.getLogger(OfficeDocumentReportTarget.class.getName()); + public static final String HORIZONTAL_POS = "horizontal-pos"; + public static final String TAG_DEF_PREFIX = "org.libreoffice.report.pentaho.output."; + private static final int ROLE_NONE = 0; +@@ -517,7 +514,7 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget + // todo + if (DEBUG_ELEMENTS) + { +- LOGGER.debug("Starting " + getCurrentState() + '/' + states.size() + ' ' + ReportTargetUtil.getNamespaceFromAttribute(attrs) + " -> " + ReportTargetUtil.getElemenTypeFromAttribute(attrs)); ++ LOGGER.config("Starting " + getCurrentState() + '/' + states.size() + ' ' + ReportTargetUtil.getNamespaceFromAttribute(attrs) + " -> " + ReportTargetUtil.getElemenTypeFromAttribute(attrs)); + } + try + { +@@ -713,7 +710,7 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget + } + catch (IOException ioe) + { +- LOGGER.error("ReportProcessing failed", ioe); ++ LOGGER.severe("ReportProcessing failed: " + ioe); + throw new ReportProcessingException("Failed to write content", ioe); + } + } +@@ -762,7 +759,7 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget + if (styleMapper.isListOfStyles(elementNamespace, elementName, attrNamespace, attrName)) + { + // ignored for now. +- LOGGER.warn("List of styles is not yet implemented."); ++ LOGGER.warning("List of styles is not yet implemented."); + continue; + } + +@@ -970,7 +967,7 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget + + if (DEBUG_ELEMENTS) + { +- LOGGER.debug("Finished " + getCurrentState() + "/" + states.size() + " " + ReportTargetUtil.getNamespaceFromAttribute(attrs) + ":" + ReportTargetUtil.getElemenTypeFromAttribute(attrs)); ++ LOGGER.config("Finished " + getCurrentState() + "/" + states.size() + " " + ReportTargetUtil.getNamespaceFromAttribute(attrs) + ":" + ReportTargetUtil.getElemenTypeFromAttribute(attrs)); + } + + } +@@ -1153,7 +1150,7 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget + } + catch (IOException e) + { +- LOGGER.error("ReportProcessing failed", e); ++ LOGGER.severe("ReportProcessing failed: " + e); + } + return state; + } +@@ -1294,7 +1291,7 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget + + final CSSNumericValue height = image.getHeight(); // always in 100th of a mm + +- LOGGER.debug("Image " + imageData + " Width: " + width + ", Height: " + height); ++ LOGGER.config("Image " + imageData + " Width: " + width + ", Height: " + height); + if (width == null || height == null) + { + return; +@@ -1313,7 +1310,7 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget + + if (imageAreaWidthVal == null || imageAreaHeightVal == null) + { +- LOGGER.debug("Image data returned from context is invalid. Maybe this is not an image?"); ++ LOGGER.config("Image data returned from context is invalid. Maybe this is not an image?"); + return; + } + else +@@ -1410,7 +1407,7 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget + } + else + { +- LOGGER.debug("There is no image-context, so we have to rely on the image's natural bounds. " + "This may go awfully wrong."); ++ LOGGER.config("There is no image-context, so we have to rely on the image's natural bounds. " + "This may go awfully wrong."); + imageAreaWidthVal = image.getWidth(); + imageAreaHeightVal = image.getHeight(); + } +@@ -1427,7 +1424,7 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget + frameList.setAttribute(OfficeNamespaces.SVG_NS, "y", posY.getValue() + posY.getType().getType()); + + +- LOGGER.debug("Image " + imageData + " A-Width: " + imageAreaWidthVal + ", A-Height: " + imageAreaHeightVal); ++ LOGGER.config("Image " + imageData + " A-Width: " + imageAreaWidthVal + ", A-Height: " + imageAreaHeightVal); + + if (imageAreaWidthVal != null) + { +diff --git a/reportbuilder/java/org/libreoffice/report/pentaho/output/OleProducer.java b/reportbuilder/java/org/libreoffice/report/pentaho/output/OleProducer.java +index 2010a189be1d..27f3c25a4b4b 100644 +--- a/reportbuilder/java/org/libreoffice/report/pentaho/output/OleProducer.java ++++ b/reportbuilder/java/org/libreoffice/report/pentaho/output/OleProducer.java +@@ -32,14 +32,12 @@ import org.libreoffice.report.pentaho.PentahoReportEngineMetaData; + import java.io.IOException; + + import java.util.List; +- +-import org.apache.commons.logging.Log; +-import org.apache.commons.logging.LogFactory; ++import java.util.logging.Logger; + + public class OleProducer + { + +- private static final Log LOGGER = LogFactory.getLog(OleProducer.class); ++ private static final Logger LOGGER = Logger.getLogger(OleProducer.class.getName()); + private final InputRepository inputRepository; + private final OutputRepository outputRepository; + private final DefaultNameGenerator nameGenerator; +@@ -100,16 +98,16 @@ public class OleProducer + } + catch (ReportExecutionException ex) + { +- LOGGER.error("ReportProcessing failed", ex); ++ LOGGER.severe("ReportProcessing failed: " + ex); + } + catch (IOException ex) + { +- LOGGER.error("ReportProcessing failed", ex); ++ LOGGER.severe("ReportProcessing failed: " + ex); + } + } + catch (IOException ex) + { +- LOGGER.error("ReportProcessing failed", ex); ++ LOGGER.severe("ReportProcessing failed: " + ex); + } finally + { + if (subInputRepository != null) +diff --git a/reportbuilder/java/org/libreoffice/report/pentaho/output/StyleUtilities.java b/reportbuilder/java/org/libreoffice/report/pentaho/output/StyleUtilities.java +index 2b204a4bf502..98af0c3fa076 100644 +--- a/reportbuilder/java/org/libreoffice/report/pentaho/output/StyleUtilities.java ++++ b/reportbuilder/java/org/libreoffice/report/pentaho/output/StyleUtilities.java +@@ -28,9 +28,7 @@ import org.libreoffice.report.pentaho.model.OfficeStylesCollection; + import java.util.ArrayList; + import java.util.HashSet; + import java.util.Set; +- +-import org.apache.commons.logging.Log; +-import org.apache.commons.logging.LogFactory; ++import java.util.logging.Logger; + + import org.jfree.report.ReportProcessingException; + import org.jfree.report.structure.Element; +@@ -46,7 +44,7 @@ import org.jfree.report.util.AttributeNameGenerator; + public class StyleUtilities + { + +- private static final Log LOGGER = LogFactory.getLog(StyleUtilities.class); ++ private static final Logger LOGGER = Logger.getLogger(StyleUtilities.class.getName()); + private static final String STYLE = "style"; + + private StyleUtilities() +@@ -180,7 +178,7 @@ public class StyleUtilities + } + else if (styleParent != null) + { +- LOGGER.warn("Inconsistent styles: " + styleFamily + ":" + styleParent + " does not exist."); ++ LOGGER.warning("Inconsistent styles: " + styleFamily + ":" + styleParent + " does not exist."); + } + return preStyle; + } +@@ -301,7 +299,7 @@ public class StyleUtilities + } + else + { +- LOGGER.warn("Dangling data style: " + styleName); ++ LOGGER.warning("Dangling data style: " + styleName); + derivedStyle = null; + } + } +diff --git a/reportbuilder/java/org/libreoffice/report/pentaho/output/spreadsheet/SpreadsheetRawReportTarget.java b/reportbuilder/java/org/libreoffice/report/pentaho/output/spreadsheet/SpreadsheetRawReportTarget.java +index e6c234503c22..b1d979e7b788 100644 +--- a/reportbuilder/java/org/libreoffice/report/pentaho/output/spreadsheet/SpreadsheetRawReportTarget.java ++++ b/reportbuilder/java/org/libreoffice/report/pentaho/output/spreadsheet/SpreadsheetRawReportTarget.java +@@ -305,7 +305,7 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget + } + catch (IOException ex) + { +- LOGGER.error("ReportProcessing failed", ex); ++ LOGGER.severe("ReportProcessing failed: " + ex); + } + } + } +diff --git a/reportbuilder/java/org/libreoffice/report/pentaho/parser/office/DocumentContentReadHandler.java b/reportbuilder/java/org/libreoffice/report/pentaho/parser/office/DocumentContentReadHandler.java +index 6d36eb6f9ea5..65a48252e69f 100644 +--- a/reportbuilder/java/org/libreoffice/report/pentaho/parser/office/DocumentContentReadHandler.java ++++ b/reportbuilder/java/org/libreoffice/report/pentaho/parser/office/DocumentContentReadHandler.java +@@ -22,8 +22,7 @@ import org.libreoffice.report.pentaho.model.OfficeDocument; + import org.libreoffice.report.pentaho.model.OfficeStylesCollection; + import org.libreoffice.report.pentaho.parser.style.OfficeStylesReadHandler; + +-import org.apache.commons.logging.Log; +-import org.apache.commons.logging.LogFactory; ++import java.util.logging.Logger; + + import org.jfree.report.JFreeReport; + +@@ -49,7 +48,7 @@ import org.xml.sax.SAXException; + public class DocumentContentReadHandler extends AbstractXmlReadHandler + { + +- private static final Log LOGGER = LogFactory.getLog(DocumentContentReadHandler.class); ++ private static final Logger LOGGER = Logger.getLogger(DocumentContentReadHandler.class.getName()); + private OfficeDocument report; + private FontFaceDeclsReadHandler fontFaceReadHandler; + private BodyReadHandler bodyReadHandler; +@@ -98,12 +97,12 @@ public class DocumentContentReadHandler extends AbstractXmlReadHandler + catch (ResourceKeyCreationException e) + { + // ignore .. +- LOGGER.debug("Failed to create resource-key for 'styles.xml'. Ignoring.", e); ++ LOGGER.config("Failed to create resource-key for 'styles.xml'. Ignoring: " + e); + } + catch (ResourceException e) + { + // ignore .. +- LOGGER.debug("Failed to parse resource for 'styles.xml'. Ignoring.", e); ++ LOGGER.config("Failed to parse resource for 'styles.xml'. Ignoring: " + e); + } + + return new OfficeStylesCollection(); +@@ -135,12 +134,12 @@ public class DocumentContentReadHandler extends AbstractXmlReadHandler + catch (ResourceKeyCreationException e) + { + // ignore .. +- LOGGER.debug("Failed to create resource-key for 'content.xml'. Ignoring."); ++ LOGGER.config("Failed to create resource-key for 'content.xml'. Ignoring."); + } + catch (ResourceException e) + { + // ignore .. +- LOGGER.debug("Failed to parse resource for 'content.xml'. Ignoring."); ++ LOGGER.config("Failed to parse resource for 'content.xml'. Ignoring."); + } + return new OfficeDocument(); + +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 +@@ -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": "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", + "sha256": "233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd", +diff --git a/swext/mediawiki/src/THIRDPARTYLICENSEREADME.html b/swext/mediawiki/src/THIRDPARTYLICENSEREADME.html +index fbd8b0bfdca0..877661330b6b 100644 +--- a/swext/mediawiki/src/THIRDPARTYLICENSEREADME.html ++++ b/swext/mediawiki/src/THIRDPARTYLICENSEREADME.html +@@ -10,27 +10,6 @@ DO NOT TRANSLATE OR LOCALIZE THIS DOCUMENT
+
+