[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[SCM] LibreOffice packaging repository branch, ubuntu-precise-3.5, updated. libreoffice_3.5.2_rc2-1-100-gafff94e



The following commit has been merged in the ubuntu-precise-3.5 branch:
commit 43697b28e184e688984af8b4df3f6b7461746f7d
Author: Bjoern Michaelsen <bjoern.michaelsen@canonical.com>
Date:   Thu Apr 5 12:48:40 2012 +0200

    remove backported upstream patch fdo-40607-osl_syncFile-having-written-and-avoid-doin.diff

diff --git a/patches/fdo-40607-osl_syncFile-having-written-and-avoid-doin.diff b/patches/fdo-40607-osl_syncFile-having-written-and-avoid-doin.diff
deleted file mode 100644
index 7d4ab37..0000000
--- a/patches/fdo-40607-osl_syncFile-having-written-and-avoid-doin.diff
+++ /dev/null
@@ -1,173 +0,0 @@
-From c6e22c0fc0cc4ce1508f8401c4b0c14fc89df942 Mon Sep 17 00:00:00 2001
-From: Michael Meeks <michael.meeks@suse.com>
-Date: Mon, 19 Mar 2012 16:31:36 +0100
-Subject: [PATCH] fdo#40607 - osl_syncFile having written, and avoid doing
- that on start
-
-Combinded cherry-pick of master d3192948fe968fc4d6a8ec0e6fda232f265b3c4c
-plus subsequent fixes bee742eb7a0d5dfe23e61d9ee49a29286de90256 "Fix sense
-of r/o detection code, and clean up" and
-61eeb689d7605a23c3e71c652b57ee65cf5b28dc "fix smoketest - need to check
-read-only-ness of non-existent paths."
-
-Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
----
- desktop/source/deployment/manager/dp_manager.cxx |   84 +++++++++++----------
- ucb/source/ucp/file/shell.cxx                    |    4 +
- 2 files changed, 48 insertions(+), 40 deletions(-)
-
-diff --git a/desktop/source/deployment/manager/dp_manager.cxx b/desktop/source/deployment/manager/dp_manager.cxx
-index 508d6bb..19117ab 100644
---- a/desktop/source/deployment/manager/dp_manager.cxx
-+++ b/desktop/source/deployment/manager/dp_manager.cxx
-@@ -32,6 +32,7 @@
- #include "dp_platform.hxx"
- #include "dp_manager.h"
- #include "dp_identifier.hxx"
-+#include "rtl/oustringostreaminserter.hxx"
- #include "rtl/ustrbuf.hxx"
- #include "rtl/string.hxx"
- #include "rtl/uri.hxx"
-@@ -312,6 +313,42 @@ void PackageManagerImpl::initRegistryBackends()
-                          m_xComponentContext ) );
- }
- 
-+// this overcomes previous rumours that the sal API is misleading
-+// as to whether a directory is truly read-only or not
-+static bool isMacroURLReadOnly( const OUString &rMacro )
-+{
-+    rtl::OUString aDirURL( rMacro );
-+    ::rtl::Bootstrap::expandMacros( aDirURL );
-+
-+    ::osl::FileBase::RC aErr = ::osl::Directory::create( aDirURL );
-+    if ( aErr == ::osl::FileBase::E_None )
-+        return false; // it will be writeable
-+    if ( aErr != ::osl::FileBase::E_EXIST )
-+        return true; // some serious problem creating it
-+
-+    bool bError;
-+    sal_uInt64 nWritten = 0;
-+    rtl::OUString aFileURL(
-+        aDirURL + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/stamp.sys")) );
-+    ::osl::File aFile( aFileURL );
-+
-+    bError = aFile.open( osl_File_OpenFlag_Read |
-+                         osl_File_OpenFlag_Write |
-+                         osl_File_OpenFlag_Create ) != ::osl::FileBase::E_None;
-+    if (!bError)
-+        bError = aFile.write( "1", 1, nWritten ) != ::osl::FileBase::E_None;
-+    if (aFile.close() != ::osl::FileBase::E_None)
-+        bError = true;
-+    if (osl::File::remove( aFileURL ) != ::osl::FileBase::E_None)
-+        bError = true;
-+
-+    SAL_INFO(
-+        "desktop.deployment",
-+        "local url '" << rMacro << "' -> '" << aFileURL << "' "
-+            << (bError ? "is" : "is not") << " readonly\n");
-+    return bError;
-+}
-+
- //______________________________________________________________________________
- Reference<deployment::XPackageManager> PackageManagerImpl::create(
-     Reference<XComponentContext> const & xComponentContext,
-@@ -321,7 +358,7 @@ Reference<deployment::XPackageManager> PackageManagerImpl::create(
-         xComponentContext, context );
-     Reference<deployment::XPackageManager> xPackageManager( that );
- 
--    OUString packages, logFile, stampURL;
-+    OUString packages, logFile, stamp;
-     if (context.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("user") )) {
-         that->m_activePackages = OUSTR(
-             "vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE/uno_packages");
-@@ -342,8 +379,7 @@ Reference<deployment::XPackageManager> PackageManagerImpl::create(
-         //using virtualization it appears that he/she can. Then a shared extension can
-         //be installed but is only visible for the user (because the extension is in
-         //the virtual store).
--        stampURL = OUSTR(
--            "vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE/stamp.sys");
-+        stamp = OUSTR("$UNO_USER_PACKAGES_CACHE");
-     }
-     else if (context.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("shared") )) {
-         that->m_activePackages = OUSTR(
-@@ -354,8 +390,7 @@ Reference<deployment::XPackageManager> PackageManagerImpl::create(
-             "vnd.sun.star.expand:$SHARED_EXTENSIONS_USER/registry");
-         logFile = OUSTR(
-             "vnd.sun.star.expand:$SHARED_EXTENSIONS_USER/log.txt");
--        stampURL = OUSTR(
--            "vnd.sun.star.expand:$UNO_SHARED_PACKAGES_CACHE/stamp.sys");
-+        stamp = OUSTR("$UNO_SHARED_PACKAGES_CACHE");
-     }
-     else if (context.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("bundled") )) {
-         that->m_activePackages = OUSTR(
-@@ -394,8 +429,7 @@ Reference<deployment::XPackageManager> PackageManagerImpl::create(
-             "vnd.sun.star.expand:$TMP_EXTENSIONS");
-         that->m_registryCache = OUSTR(
-             "vnd.sun.star.expand:$TMP_EXTENSIONS/registry");
--        stampURL = OUSTR(
--            "vnd.sun.star.expand:$TMP_EXTENSIONS/stamp.sys");
-+        stamp = OUSTR("$TMP_EXTENSIONS");
-     }
-     else if (! context.matchAsciiL(
-                  RTL_CONSTASCII_STRINGPARAM("vnd.sun.star.tdoc:/") )) {
-@@ -407,39 +441,9 @@ Reference<deployment::XPackageManager> PackageManagerImpl::create(
-     Reference<XCommandEnvironment> xCmdEnv;
- 
-     try {
--        //There is no stampURL for the bundled folder
--        if (stampURL.getLength() > 0)
--        {
--#define CURRENT_STAMP "1"
--            try {
--                //The osl file API does not allow to find out if one can write
--                //into a folder. Therefore we try to write a file. Then we delete
--                //it, so that it does not hinder uninstallation of OOo
--                // probe writing:
--                ::ucbhelper::Content ucbStamp( stampURL, xCmdEnv );
--                ::rtl::OString stamp(
--                    RTL_CONSTASCII_STRINGPARAM(CURRENT_STAMP) );
--                Reference<io::XInputStream> xData(
--                    ::xmlscript::createInputStream(
--                        ::rtl::ByteSequence(
--                            reinterpret_cast<sal_Int8 const *>(stamp.getStr()),
--                            stamp.getLength() ) ) );
--                ucbStamp.writeStream( xData, true /* replace existing */ );
--                that->m_readOnly = false;
--                erase_path( stampURL, xCmdEnv );
--            }
--            catch (const RuntimeException &) {
--                try {
--                    erase_path( stampURL, xCmdEnv );
--                } catch (...)
--                {
--                }
--                throw;
--            }
--            catch (const Exception &) {
--                that->m_readOnly = true;
--            }
--        }
-+        // There is no stamp for the bundled folder:
-+        if (!stamp.isEmpty())
-+            that->m_readOnly = isMacroURLReadOnly( stamp );
- 
-         if (!that->m_readOnly && logFile.getLength() > 0)
-         {
-diff --git a/ucb/source/ucp/file/shell.cxx b/ucb/source/ucp/file/shell.cxx
-index fcc238b..1cd1505 100644
---- a/ucb/source/ucp/file/shell.cxx
-+++ b/ucb/source/ucp/file/shell.cxx
-@@ -1913,6 +1913,10 @@ shell::write( sal_Int32 CommandId,
-         }
-     } while( nReadBytes == nRequestedBytes );
- 
-+    aFile.sync(); // fsync / flush it to disk.
-+    OSL_TRACE( "fsync'd file '%s'\n",
-+               rtl::OUStringToOString( aUnqPath, RTL_TEXTENCODING_UTF8 ).getStr() );
-+
-     err = aFile.close();
-     if( err != osl::FileBase::E_None  )
-     {
--- 
-1.7.9.1
-
diff --git a/patches/series b/patches/series
index 3bd0dcb..0d115ba 100644
--- a/patches/series
+++ b/patches/series
@@ -33,6 +33,5 @@ debian-hardened-buildflags.diff
 gtk3-hack-explicit-gmodule.diff
 pkgconfig-mozilla-plugin.diff
 ubuntu-quicklists.diff
-fdo-40607-osl_syncFile-having-written-and-avoid-doin.diff
 fdo-43895-lp-905355-Never-let-users-save-in-tmp-by-d.diff
 bypass-GtkSalPrinter-when-it-is-not-enabled.diff

-- 
LibreOffice packaging repository


Reply to: