summaryrefslogtreecommitdiff
path: root/app-office/libreoffice/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-06-02 17:13:10 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-06-02 17:13:10 +0100
commit0bff53119f08d677db6c1a991bd30741682a8a08 (patch)
tree6ec8d4c38152bb4f2bb4b93277236ebd9fbbd21d /app-office/libreoffice/files
parent6c14fa2586d9e9c4427b5f727dc6c8ab77587cec (diff)
Revert "gentoo resync : 02.06.2018"
This reverts commit 6c14fa2586d9e9c4427b5f727dc6c8ab77587cec.
Diffstat (limited to 'app-office/libreoffice/files')
-rw-r--r--app-office/libreoffice/files/libreoffice-5.4.5.1-pyuno-crash.patch87
-rw-r--r--app-office/libreoffice/files/libreoffice-6.0.3.2-disable-flaky-tests-2.patch37
-rw-r--r--app-office/libreoffice/files/libreoffice-6.0.3.2-disable-flaky-tests.patch (renamed from app-office/libreoffice/files/libreoffice-6.0.3.2-disable-flaky-tests-1.patch)37
3 files changed, 124 insertions, 37 deletions
diff --git a/app-office/libreoffice/files/libreoffice-5.4.5.1-pyuno-crash.patch b/app-office/libreoffice/files/libreoffice-5.4.5.1-pyuno-crash.patch
new file mode 100644
index 000000000000..850f56465c77
--- /dev/null
+++ b/app-office/libreoffice/files/libreoffice-5.4.5.1-pyuno-crash.patch
@@ -0,0 +1,87 @@
+From 42e2c4af310deb7660b07c6307459c9d2a42bb8b Mon Sep 17 00:00:00 2001
+From: Michael Stahl <mstahl@redhat.com>
+Date: Thu, 1 Feb 2018 13:52:00 +0100
+Subject: tdf#114815 pyuno: avoid 2 threads initing python in parallel
+
+According to the crash reports, it's possible for the grammar checking
+thread to call GetGrammarChecker, instantiating lightproof, at the same
+time as the main thread instantiates LngSvcMgr, which also instantiates
+(some?) (all?) grammar checkers.
+
+Ensure that pyuno_loader::CreateInstance() initialises Python only
+once with a C++11 thread safe static.
+
+For the backport, use rtl::Static instead, because on the 5.4 branch
+MSVC does not have HAVE_THREADSAFE_STATICS enabled.
+
+Change-Id: I5b1faba9107355c508831a078366e4a29fdbfadf
+(cherry picked from commit 5357ca82846ea7147ad61e9340f25647a5934eb0)
+Reviewed-on: https://gerrit.libreoffice.org/49116
+Tested-by: Jenkins <ci@libreoffice.org>
+Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
+(cherry picked from commit 362b0c521c1c58dc8ea5e87ecbb482d5bdc073f4)
+Reviewed-on: https://gerrit.libreoffice.org/49298
+Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
+Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
+Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
+---
+ pyuno/source/loader/pyuno_loader.cxx | 25 +++++++++++++++++++++----
+ 1 file changed, 21 insertions(+), 4 deletions(-)
+
+diff --git a/pyuno/source/loader/pyuno_loader.cxx b/pyuno/source/loader/pyuno_loader.cxx
+index adbf6c8..0408af0 100644
+--- a/pyuno/source/loader/pyuno_loader.cxx
++++ b/pyuno/source/loader/pyuno_loader.cxx
+@@ -31,6 +31,7 @@
+ #include <rtl/ustrbuf.hxx>
+ #include <rtl/strbuf.hxx>
+ #include <rtl/bootstrap.hxx>
++#include <rtl/instance.hxx>
+
+ #include <cppuhelper/implementationentry.hxx>
+ #include <cppuhelper/factory.hxx>
+@@ -176,11 +177,10 @@ static void prependPythonPath( const OUString & pythonPathBootstrap )
+ osl_setEnvironment(envVar.pData, envValue.pData);
+ }
+
+-Reference< XInterface > CreateInstance( const Reference< XComponentContext > & ctx )
++struct PythonInit
+ {
+- Reference< XInterface > ret;
+-
+- if( ! Py_IsInitialized() )
++PythonInit() {
++ if (! Py_IsInitialized()) // may be inited by getComponentContext() already
+ {
+ OUString pythonPath;
+ OUString pythonHome;
+@@ -236,9 +236,26 @@ Reference< XInterface > CreateInstance( const Reference< XComponentContext > & c
+ // PyThreadAttach below.
+ PyThreadState_Delete(tstate);
+ }
++}
++};
++
++namespace {
++ struct thePythonInit : public rtl::Static<PythonInit, thePythonInit> {};
++}
++
++Reference<XInterface> CreateInstance(const Reference<XComponentContext> & ctx)
++{
++ // tdf#114815 thread-safe static to init python only once
++ thePythonInit::get();
++
++ Reference< XInterface > ret;
+
+ PyThreadAttach attach( PyInterpreterState_Head() );
+ {
++ // note: this can't race against getComponentContext() because
++ // either (in soffice.bin) CreateInstance() must be called before
++ // getComponentContext() can be called, or (in python.bin) the other
++ // way around
+ if( ! Runtime::isInitialized() )
+ {
+ Runtime::initialize( ctx );
+--
+cgit v1.1
+
diff --git a/app-office/libreoffice/files/libreoffice-6.0.3.2-disable-flaky-tests-2.patch b/app-office/libreoffice/files/libreoffice-6.0.3.2-disable-flaky-tests-2.patch
deleted file mode 100644
index 55f2d8a55fc7..000000000000
--- a/app-office/libreoffice/files/libreoffice-6.0.3.2-disable-flaky-tests-2.patch
+++ /dev/null
@@ -1,37 +0,0 @@
---- a/xmlsecurity/qa/unit/signing/signing.cxx 2018-01-27 18:21:08.228434985 +0100
-+++ b/xmlsecurity/qa/unit/signing/signing.cxx 2018-01-27 18:21:37.428824309 +0100
-@@ -114,7 +114,7 @@
- /// Test a typical broken ODF signature where the XML dsig hash is corrupted.
- void testODFBrokenDsigGPG();
- /// Test loading an encrypted ODF document
-- void testODFEncryptedGPG();
-+// void testODFEncryptedGPG();
- #endif
- CPPUNIT_TEST_SUITE(SigningTest);
- CPPUNIT_TEST(testDescription);
-@@ -143,7 +143,7 @@
- CPPUNIT_TEST(testODFUntrustedGoodGPG);
- CPPUNIT_TEST(testODFBrokenStreamGPG);
- CPPUNIT_TEST(testODFBrokenDsigGPG);
-- CPPUNIT_TEST(testODFEncryptedGPG);
-+// CPPUNIT_TEST(testODFEncryptedGPG);
- #endif
- CPPUNIT_TEST_SUITE_END();
-
-@@ -743,14 +743,14 @@
- CPPUNIT_ASSERT_EQUAL(static_cast<int>(SignatureState::BROKEN), static_cast<int>(pObjectShell->GetDocumentSignatureState()));
- }
-
--void SigningTest::testODFEncryptedGPG()
-+/*void SigningTest::testODFEncryptedGPG()
- {
- createDoc(m_directories.getURLFromSrc(DATA_DIRECTORY) + "encryptedGPG.odt");
- SfxBaseModel* pBaseModel = dynamic_cast<SfxBaseModel*>(mxComponent.get());
- CPPUNIT_ASSERT(pBaseModel);
- SfxObjectShell* pObjectShell = pBaseModel->GetObjectShell();
- CPPUNIT_ASSERT(pObjectShell);
--}
-+}*/
-
- #endif
-
diff --git a/app-office/libreoffice/files/libreoffice-6.0.3.2-disable-flaky-tests-1.patch b/app-office/libreoffice/files/libreoffice-6.0.3.2-disable-flaky-tests.patch
index 03421c5e12be..b25e4fc3ae5a 100644
--- a/app-office/libreoffice/files/libreoffice-6.0.3.2-disable-flaky-tests-1.patch
+++ b/app-office/libreoffice/files/libreoffice-6.0.3.2-disable-flaky-tests.patch
@@ -214,3 +214,40 @@ index 4d65beeb90c4..f3d71501c41a 100644
DECLARE_OOXMLIMPORT_TEST(testTdf113946, "tdf113946.docx")
{
+--- a/xmlsecurity/qa/unit/signing/signing.cxx 2018-01-27 18:21:08.228434985 +0100
++++ b/xmlsecurity/qa/unit/signing/signing.cxx 2018-01-27 18:21:37.428824309 +0100
+@@ -114,7 +114,7 @@
+ /// Test a typical broken ODF signature where the XML dsig hash is corrupted.
+ void testODFBrokenDsigGPG();
+ /// Test loading an encrypted ODF document
+- void testODFEncryptedGPG();
++// void testODFEncryptedGPG();
+ #endif
+ CPPUNIT_TEST_SUITE(SigningTest);
+ CPPUNIT_TEST(testDescription);
+@@ -143,7 +143,7 @@
+ CPPUNIT_TEST(testODFUntrustedGoodGPG);
+ CPPUNIT_TEST(testODFBrokenStreamGPG);
+ CPPUNIT_TEST(testODFBrokenDsigGPG);
+- CPPUNIT_TEST(testODFEncryptedGPG);
++// CPPUNIT_TEST(testODFEncryptedGPG);
+ #endif
+ CPPUNIT_TEST_SUITE_END();
+
+@@ -743,14 +743,14 @@
+ CPPUNIT_ASSERT_EQUAL(static_cast<int>(SignatureState::BROKEN), static_cast<int>(pObjectShell->GetDocumentSignatureState()));
+ }
+
+-void SigningTest::testODFEncryptedGPG()
++/*void SigningTest::testODFEncryptedGPG()
+ {
+ createDoc(m_directories.getURLFromSrc(DATA_DIRECTORY) + "encryptedGPG.odt");
+ SfxBaseModel* pBaseModel = dynamic_cast<SfxBaseModel*>(mxComponent.get());
+ CPPUNIT_ASSERT(pBaseModel);
+ SfxObjectShell* pObjectShell = pBaseModel->GetObjectShell();
+ CPPUNIT_ASSERT(pObjectShell);
+-}
++}*/
+
+ #endif
+