.gitignore                                                 |    1 
 Repository.mk                                              |    1 
 RepositoryFixes.mk                                         |    2 
 configure.ac                                               |    6 +
 desktop/source/app/check_ext_deps.cxx                      |    3 
 desktop/source/deployment/misc/dp_misc.cxx                 |    4 -
 extensions/Package_mdibundle.mk                            |    4 -
 instsetoo_native/CustomTarget_setup.mk                     |    4 -
 jurt/com/sun/star/lib/util/NativeLibraryLoader.java        |   10 ++
 officecfg/registry/data/org/openoffice/Office/Paths.xcu    |    2 
 officecfg/registry/schema/org/openoffice/Office/Common.xcs |    4 -
 officecfg/util/alllang.xsl                                 |   52 +++++++++++--
 officecfg/util/schema_trim.xsl                             |   44 ++++++++++-
 sal/Library_sal.mk                                         |    2 
 sal/osl/unx/uunxapi.cxx                                    |   39 ++++++++-
 scp2/inc/macros.inc                                        |    2 
 scp2/source/ooo/common_brand.scp                           |   18 ++++
 scp2/source/ooo/ure.scp                                    |   32 ++++----
 scp2/source/python/file_python.scp                         |    3 
 solenv/bin/macosx-codesign-app-bundle                      |    9 +-
 solenv/gbuild/Configuration.mk                             |    4 +
 solenv/gbuild/CppunitTest.mk                               |    2 
 solenv/gbuild/Dictionary.mk                                |    2 
 solenv/gbuild/Extension.mk                                 |    2 
 solenv/gbuild/HelpTarget.mk                                |    2 
 ure/Module_ure.mk                                          |    1 
 ure/Package_builddir_install.mk                            |   16 ++++
 ure/Package_install.mk                                     |    6 -
 ure/source/unorc                                           |   23 -----
 ure/source/unorc.in                                        |   23 +++++
 vcl/quartz/salbmp.cxx                                      |    2 
 31 files changed, 248 insertions(+), 77 deletions(-)

New commits:
commit 969f969a7567f8ae6d95144ca75e110d5fd44bfa
Author: Tor Lillqvist <t...@collabora.com>
Date:   Sat Sep 13 07:36:33 2014 +0300

    Fix issues with the URE unorc in the MACLIKE_APP_STRUCTURE case
    
    Not sure it it is cleaner to use relative paths from ${ORIGIN}, or
    paths below ${BRAND_BASE_DIR}. Now I use the former in the URE unorc
    constructed in scp2, and the latter in the one expanded from
    ure/source/unorc.in. (Whether these two really need to be separate or
    not, no idea. Historical reasons? Different use cases, unit tests and
    actual end-user install tree?)
    
    Change-Id: Ib5f11176de1d5d983cac8358d67788ebc20f2b13
    (cherry picked from commit c8177f0fafe80d343e2cd48053fdadba641a08f8)

diff --git a/scp2/source/ooo/common_brand.scp b/scp2/source/ooo/common_brand.scp
index 935238e..12645ee 100644
--- a/scp2/source/ooo/common_brand.scp
+++ b/scp2/source/ooo/common_brand.scp
@@ -45,6 +45,7 @@ Module gid_Module_Root_Brand
             gid_Brand_Dir_Share_Uno_Packages,
             gid_Brand_Dir_Share_Uno_Packages_Cache,
             gid_Brand_Dir_Share_Ure,
+            gid_Brand_Dir_Share_Ure_Etc,
             gid_Brand_Dir_Share_Ure_Share,
             gid_Brand_Dir_Share_Glade,
             gid_Brand_Dir_Share_Labels,
@@ -453,6 +454,11 @@ Directory gid_Brand_Dir_Share_Ure
     DosName = "ure";
 End
 
+Directory gid_Brand_Dir_Share_Ure_Etc
+    ParentID = gid_Brand_Dir_Share_Ure;
+    DosName = "etc";
+End
+
 Directory gid_Brand_Dir_Share_Ure_Share
     ParentID = gid_Brand_Dir_Share_Ure;
     DosName = "share";
diff --git a/scp2/source/ooo/ure.scp b/scp2/source/ooo/ure.scp
index 26d7dba..9a501a2 100644
--- a/scp2/source/ooo/ure.scp
+++ b/scp2/source/ooo/ure.scp
@@ -164,7 +164,7 @@ End
 Profile gid_Profile_Dl_Uno_Ini
     ModuleID = gid_Module_Root_Ure_Hidden;
 #if defined ENABLE_MACOSX_MACLIKE_APP_STRUCTURE
-    Dir = gid_Brand_Dir_Share_Ure;
+    Dir = gid_Brand_Dir_Share_Ure_Etc;
 #else
     Dir = SCP2_URE_DL_DIR;
 #endif
@@ -177,7 +177,7 @@ ProfileItem gid_Profileitem_Dl_Uno_Ure_Internal_Lib_Dir
     Section = "Bootstrap";
     Key = "URE_INTERNAL_LIB_DIR";
 #if defined ENABLE_MACOSX_MACLIKE_APP_STRUCTURE
-    Value = "${ORIGIN}/../../Frameworks";
+    Value = "${ORIGIN}/../../../Frameworks";
 #else
     Value = "${ORIGIN}";
 #endif
@@ -189,7 +189,7 @@ ProfileItem gid_Profileitem_Dl_Uno_Ure_Internal_Java_Dir
     Section = "Bootstrap";
     Key = "URE_INTERNAL_JAVA_DIR";
 #if defined ENABLE_MACOSX_MACLIKE_APP_STRUCTURE
-    Value = "${ORIGIN}/../java";
+    Value = "${ORIGIN}/../../java";
 #elif defined WNT
     Value = "${ORIGIN}/../java";
 #else
@@ -210,9 +210,7 @@ ProfileItem gid_Profileitem_Dl_Uno_Uno_Types
     ProfileID = gid_Profile_Dl_Uno_Ini;
     Section = "Bootstrap";
     Key = "UNO_TYPES";
-#if defined ENABLE_MACOSX_MACLIKE_APP_STRUCTURE
-    Value = "${ORIGIN}/types.rdb ${URE_MORE_TYPES}";
-#elif defined WNT
+#if defined WNT
     Value = "${ORIGIN}/../misc/types.rdb ${URE_MORE_TYPES}";
 #else
     Value = "${ORIGIN}/../share/misc/types.rdb ${URE_MORE_TYPES}";
commit c977e9c96a52eea3f58f3e3a233a2d34fcae8fa7
Author: Tor Lillqvist <t...@collabora.com>
Date:   Fri Sep 12 23:50:11 2014 +0300

    Put schema.xml in the correct place, and drop the empty English strings file
    
    Change-Id: Ic9d3894611eedcffa9ce79ae8b2745de72eb9117
    (cherry picked from commit 0b6555f594095ddc082d555852f7d8e9f7d7f266)

diff --git a/extensions/Package_mdibundle.mk b/extensions/Package_mdibundle.mk
index 3677116..88f70f2 100644
--- a/extensions/Package_mdibundle.mk
+++ b/extensions/Package_mdibundle.mk
@@ -11,7 +11,9 @@ $(eval $(call 
gb_Package_Package,extensions_mdibundle,$(SRCDIR)/extensions/sourc
 
 $(eval $(call 
gb_Package_add_files,extensions_mdibundle,Library/Spotlight/OOoSpotlightImporter.mdimporter/Contents,\
     Info.plist \
-    en.lproj/schema.strings \
+))
+
+$(eval $(call 
gb_Package_add_files,extensions_mdibundle,Library/Spotlight/OOoSpotlightImporter.mdimporter/Contents/Resources,\
     schema.xml \
 ))
 
commit 67e8cdbf5079cc7943dce1e3d4aee51c521815c5
Author: Tor Lillqvist <t...@collabora.com>
Date:   Fri Sep 12 20:03:54 2014 +0300

    Use $(LIBO_SHARE_FOLDER) instead of hardcoded 'share'
    
    Change-Id: I073d44c0e3e8c6eff0e885f827fa661e3c8e5206
    (cherry picked from commit af90ec3e7751f2f4f27428f580bbc487fd7ce7db)

diff --git a/solenv/gbuild/Dictionary.mk b/solenv/gbuild/Dictionary.mk
index 651d5ae9..8b8c8c5 100644
--- a/solenv/gbuild/Dictionary.mk
+++ b/solenv/gbuild/Dictionary.mk
@@ -185,7 +185,7 @@ endef
 # all installed files of the dictionary.
 
 gb_Dictionary_ALL_LANGS := $(filter-out en-US,$(gb_WITH_LANG))
-gb_Dictionary_INSTDIR := share/extensions
+gb_Dictionary_INSTDIR := $(LIBO_SHARE_FOLDER)/extensions
 
 $(dir $(call gb_Dictionary_get_target,%)).dir :
        $(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
diff --git a/solenv/gbuild/Extension.mk b/solenv/gbuild/Extension.mk
index a908006..ee3841f 100644
--- a/solenv/gbuild/Extension.mk
+++ b/solenv/gbuild/Extension.mk
@@ -151,7 +151,7 @@ endef
 # gb_Extension__Extension_deliver extension package-name
 define gb_Extension__Extension_deliver
 $(call gb_GeneratedPackage_GeneratedPackage,$(2),$(dir $(call 
gb_Extension_get_rootdir,$(1))))
-$(call 
gb_GeneratedPackage_add_dir,$(2),$(INSTROOT)/share/extensions/$(1),$(notdir 
$(call gb_Extension_get_rootdir,$(1))))
+$(call 
gb_GeneratedPackage_add_dir,$(2),$(INSTROOT)/$(LIBO_SHARE_FOLDER)/extensions/$(1),$(notdir
 $(call gb_Extension_get_rootdir,$(1))))
 
 $(call gb_GeneratedPackage_get_target,$(2)) : $(call 
gb_Extension_get_target,$(1))
 $(call gb_Extension__get_final_target,$(1)) : $(call 
gb_GeneratedPackage_get_target,$(2))
commit fcc56e342ffdd20908c1e9fb426f3c8d47e0a240
Author: Tor Lillqvist <t...@collabora.com>
Date:   Fri Sep 12 12:09:17 2014 +0300

    Handle LIBO_SHARE_HELP_FOLDER
    
    Change-Id: I4f004321c58da1d81a2cc3c80504347db583d86a
    (cherry picked from commit fa2801f2c349811e00c3f2f19f9ce62a68daa4dc)

diff --git a/officecfg/registry/data/org/openoffice/Office/Paths.xcu 
b/officecfg/registry/data/org/openoffice/Office/Paths.xcu
index 7568f4d..6d739e6 100644
--- a/officecfg/registry/data/org/openoffice/Office/Paths.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/Paths.xcu
@@ -98,7 +98,7 @@
     </node>
     <node oor:name="Help" oor:op="fuse" oor:mandatory="true">
       <node oor:name="InternalPaths">
-        <node oor:name="$(instpath)/help" oor:op="fuse"/>
+        <node oor:name="$(instpath)/@LIBO_SHARE_HELP_FOLDER@" oor:op="fuse"/>
       </node>
     </node>
     <node oor:name="Linguistic" oor:op="fuse" oor:mandatory="true">
diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs 
b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
index 9bc6076..54707b2 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
@@ -1613,7 +1613,7 @@
           <info>
             <desc>Specifies the path to the Office help files.</desc>
           </info>
-          <value>$(instpath)/help</value>
+          <value>$(instpath)/@LIBO_SHARE_HELP_FOLDER@</value>
         </prop>
         <prop oor:name="Linguistic" oor:type="xs:string" oor:nillable="false">
           <info>
@@ -1808,7 +1808,7 @@
             <desc>Specifies the default directory where Office help files are
             located.</desc>
           </info>
-          <value>$(instpath)/help</value>
+          <value>$(instpath)/@LIBO_SHARE_HELP_FOLDER@</value>
         </prop>
         <prop oor:name="Linguistic" oor:type="xs:string" oor:nillable="false">
           <info>
diff --git a/officecfg/util/alllang.xsl b/officecfg/util/alllang.xsl
index 31b53bc..f5d9ae1 100644
--- a/officecfg/util/alllang.xsl
+++ b/officecfg/util/alllang.xsl
@@ -35,6 +35,7 @@
 <xsl:param name="fallback-locale">en-US</xsl:param>
 
 <xsl:param name="LIBO_SHARE_FOLDER"/>
+<xsl:param name="LIBO_SHARE_HELP_FOLDER"/>
 
 <xsl:variable name="schemaRootURL">
     <xsl:value-of select="$schemaRoot"/>
@@ -341,19 +342,23 @@
 
         <xsl:template match="@oor:name">
           <xsl:attribute name="oor:name">
-            <xsl:call-template name="replace">
+            <xsl:call-template name="replacetwo">
               <xsl:with-param name="input" select="current()"/>
-              <xsl:with-param name="pattern" select="'@LIBO_SHARE_FOLDER@'"/>
-              <xsl:with-param name="replace" select="$LIBO_SHARE_FOLDER"/>
+              <xsl:with-param name="pattern1" select="'@LIBO_SHARE_FOLDER@'"/>
+              <xsl:with-param name="replace1" select="$LIBO_SHARE_FOLDER"/>
+              <xsl:with-param name="pattern2" 
select="'@LIBO_SHARE_HELP_FOLDER@'"/>
+              <xsl:with-param name="replace2" 
select="$LIBO_SHARE_HELP_FOLDER"/>
             </xsl:call-template>
           </xsl:attribute>
         </xsl:template>
 
         <xsl:template match="text()">
-          <xsl:call-template name="replace">
+          <xsl:call-template name="replacetwo">
             <xsl:with-param name="input" select="current()"/>
-            <xsl:with-param name="pattern" select="'@LIBO_SHARE_FOLDER@'"/>
-            <xsl:with-param name="replace" select="$LIBO_SHARE_FOLDER"/>
+            <xsl:with-param name="pattern1" select="'@LIBO_SHARE_FOLDER@'"/>
+            <xsl:with-param name="replace1" select="$LIBO_SHARE_FOLDER"/>
+            <xsl:with-param name="pattern2" 
select="'@LIBO_SHARE_HELP_FOLDER@'"/>
+            <xsl:with-param name="replace2" select="$LIBO_SHARE_HELP_FOLDER"/>
           </xsl:call-template>
         </xsl:template>
 
@@ -378,4 +383,39 @@
           </xsl:choose>
         </xsl:template>
 
+        <xsl:template name="replacetwo">
+          <xsl:param name="input"/>
+          <xsl:param name="pattern1"/>
+          <xsl:param name="replace1"/>
+          <xsl:param name="pattern2"/>
+          <xsl:param name="replace2"/>
+          <xsl:choose>
+            <xsl:when test="contains($input, $pattern1)">
+             <xsl:call-template name="replace">
+               <xsl:with-param
+                   name="input" select="substring-before($input, $pattern1)"/>
+               <xsl:with-param name="pattern" select="$pattern2"/>
+               <xsl:with-param name="replace" select="$replace2"/>
+             </xsl:call-template>
+              <xsl:value-of select="$replace1"/>
+              <xsl:call-template name="replacetwo">
+                <xsl:with-param
+                    name="input" select="substring-after($input, $pattern1)"/>
+                <xsl:with-param name="pattern1" select="$pattern1"/>
+                <xsl:with-param name="replace1" select="$replace1"/>
+                <xsl:with-param name="pattern2" select="$pattern2"/>
+                <xsl:with-param name="replace2" select="$replace2"/>
+              </xsl:call-template>
+            </xsl:when>
+            <xsl:otherwise>
+             <xsl:call-template name="replace">
+               <xsl:with-param
+                   name="input" select="$input"/>
+               <xsl:with-param name="pattern" select="$pattern2"/>
+               <xsl:with-param name="replace" select="$replace2"/>
+             </xsl:call-template>
+            </xsl:otherwise>
+          </xsl:choose>
+        </xsl:template>
+
 </xsl:transform>
diff --git a/officecfg/util/schema_trim.xsl b/officecfg/util/schema_trim.xsl
index 79b3c5c..4ebac1c 100644
--- a/officecfg/util/schema_trim.xsl
+++ b/officecfg/util/schema_trim.xsl
@@ -24,6 +24,7 @@
                version="1.0">
 
         <xsl:param name="LIBO_SHARE_FOLDER"/>
+        <xsl:param name="LIBO_SHARE_HELP_FOLDER"/>
 
 <!-- Get the correct format -->
        <xsl:output method="xml" indent="yes"/>
@@ -81,10 +82,12 @@
         </xsl:template>
 
         <xsl:template match="text()">
-          <xsl:call-template name="replace">
+          <xsl:call-template name="replacetwo">
             <xsl:with-param name="input" select="current()"/>
-            <xsl:with-param name="pattern" select="'@LIBO_SHARE_FOLDER@'"/>
-            <xsl:with-param name="replace" select="$LIBO_SHARE_FOLDER"/>
+            <xsl:with-param name="pattern1" select="'@LIBO_SHARE_FOLDER@'"/>
+            <xsl:with-param name="replace1" select="$LIBO_SHARE_FOLDER"/>
+            <xsl:with-param name="pattern2" 
select="'@LIBO_SHARE_HELP_FOLDER@'"/>
+            <xsl:with-param name="replace2" select="$LIBO_SHARE_HELP_FOLDER"/>
           </xsl:call-template>
         </xsl:template>
 
@@ -109,4 +112,39 @@
           </xsl:choose>
         </xsl:template>
 
+        <xsl:template name="replacetwo">
+          <xsl:param name="input"/>
+          <xsl:param name="pattern1"/>
+          <xsl:param name="replace1"/>
+          <xsl:param name="pattern2"/>
+          <xsl:param name="replace2"/>
+          <xsl:choose>
+            <xsl:when test="contains($input, $pattern1)">
+             <xsl:call-template name="replace">
+               <xsl:with-param
+                   name="input" select="substring-before($input, $pattern1)"/>
+               <xsl:with-param name="pattern" select="$pattern2"/>
+               <xsl:with-param name="replace" select="$replace2"/>
+             </xsl:call-template>
+              <xsl:value-of select="$replace1"/>
+              <xsl:call-template name="replacetwo">
+                <xsl:with-param
+                    name="input" select="substring-after($input, $pattern1)"/>
+                <xsl:with-param name="pattern1" select="$pattern1"/>
+                <xsl:with-param name="replace1" select="$replace1"/>
+                <xsl:with-param name="pattern2" select="$pattern2"/>
+                <xsl:with-param name="replace2" select="$replace2"/>
+              </xsl:call-template>
+            </xsl:when>
+            <xsl:otherwise>
+             <xsl:call-template name="replace">
+               <xsl:with-param
+                   name="input" select="$input"/>
+               <xsl:with-param name="pattern" select="$pattern2"/>
+               <xsl:with-param name="replace" select="$replace2"/>
+             </xsl:call-template>
+            </xsl:otherwise>
+          </xsl:choose>
+        </xsl:template>
+
 </xsl:transform>
diff --git a/solenv/gbuild/Configuration.mk b/solenv/gbuild/Configuration.mk
index 06aa8a1..e5b8a9a 100644
--- a/solenv/gbuild/Configuration.mk
+++ b/solenv/gbuild/Configuration.mk
@@ -85,6 +85,7 @@ $(call gb_Helper_abbreviate_dirs,\
        $(gb_Configuration_XSLTCOMMAND) --nonet \
                -o $(1) \
                --stringparam LIBO_SHARE_FOLDER $(LIBO_SHARE_FOLDER) \
+               --stringparam LIBO_SHARE_HELP_FOLDER $(LIBO_SHARE_HELP_FOLDER) \
                $(gb_XcsTarget_XSLT_SchemaTrim) \
                $(3))
 endef
@@ -122,6 +123,7 @@ $(call gb_Helper_abbreviate_dirs,\
                --stringparam xcs $(call gb_XcsTarget_for_XcuTarget,$(XCUFILE)) 
\
                $(gb_Configuration__stringparam_schemaRoot) \
                --stringparam LIBO_SHARE_FOLDER $(LIBO_SHARE_FOLDER) \
+               --stringparam LIBO_SHARE_HELP_FOLDER $(LIBO_SHARE_HELP_FOLDER) \
                --path $(SRCDIR)/officecfg/registry \
                $(gb_XcuTarget_XSLT_AllLang) \
                $(3))
@@ -158,6 +160,7 @@ $(call gb_Helper_abbreviate_dirs,\
                $(gb_Configuration__stringparam_schemaRoot) \
                --stringparam module $(notdir $(subst -,/,$(basename $(notdir 
$(2))))) \
                --stringparam LIBO_SHARE_FOLDER $(LIBO_SHARE_FOLDER) \
+               --stringparam LIBO_SHARE_HELP_FOLDER $(LIBO_SHARE_HELP_FOLDER) \
                $(gb_XcuTarget_XSLT_AllLang) \
                $(3))
 endef
@@ -255,6 +258,7 @@ $(call gb_Helper_abbreviate_dirs,\
                $(gb_Configuration__stringparam_schemaRoot) \
                --stringparam locale $(word 2,$(subst /, ,$(2))) \
                --stringparam LIBO_SHARE_FOLDER $(LIBO_SHARE_FOLDER) \
+               --stringparam LIBO_SHARE_HELP_FOLDER $(LIBO_SHARE_HELP_FOLDER) \
                --path $(SRCDIR)/officecfg/registry \
                $(gb_XcuTarget_XSLT_AllLang) \
                $(3))
diff --git a/solenv/gbuild/HelpTarget.mk b/solenv/gbuild/HelpTarget.mk
index 142f00e..a541a47 100644
--- a/solenv/gbuild/HelpTarget.mk
+++ b/solenv/gbuild/HelpTarget.mk
@@ -656,7 +656,7 @@ endef
 
 # gb_HelpTarget__add_file target file
 define gb_HelpTarget__add_file
-$(call gb_Package_add_file,$(call 
gb_HelpTarget_get_packagename,$(1)),help/$(call 
gb_HelpTarget__get_lang,$(1))/$(2),$(2))
+$(call gb_Package_add_file,$(call 
gb_HelpTarget_get_packagename,$(1)),$(LIBO_SHARE_HELP_FOLDER)/$(call 
gb_HelpTarget__get_lang,$(1))/$(2),$(2))
 
 endef
 
commit 39409db7cde46d0aad9e0f61dfda085cff1235a0
Author: Tor Lillqvist <t...@collabora.com>
Date:   Wed Sep 3 19:01:30 2014 +0200

    What is a ridiculous size in 32-bit code is also ridiculous in 64-bit code
    
    Avoids the CppunitTest_vcl_filters_test allocating an insane amount of
    memory when run as 64-bit on OS X.
    
    Change-Id: I978347849c2cf5fd1663e5a85a788b736e239e94
    (cherry picked from commit 633e5e16cd233cbb28b24527bb27bf5463ea7276)

diff --git a/vcl/quartz/salbmp.cxx b/vcl/quartz/salbmp.cxx
index 2704dc4..a980510 100644
--- a/vcl/quartz/salbmp.cxx
+++ b/vcl/quartz/salbmp.cxx
@@ -303,7 +303,7 @@ bool QuartzSalBitmap::AllocateUserData()
 
     bool alloc = false;
     if (mnBytesPerRow != 0
-        && mnBytesPerRow <= std::numeric_limits<std::size_t>::max() / mnHeight)
+        && mnBytesPerRow <= std::numeric_limits<sal_uInt32>::max() / mnHeight)
     {
         try
         {
commit 7923c53ac55976fb5c176ece77163963a452d520
Author: Tor Lillqvist <t...@collabora.com>
Date:   Fri Aug 15 09:01:00 2014 +0300

    Typo
    
    Change-Id: I9ba1a5679eb636103ccf7b34f120ed0d03903e76
    (cherry picked from commit 5794fcad10df4d6ac8388627662ea830dde7e629)

diff --git a/scp2/source/ooo/ure.scp b/scp2/source/ooo/ure.scp
index 173e669..26d7dba 100644
--- a/scp2/source/ooo/ure.scp
+++ b/scp2/source/ooo/ure.scp
@@ -91,7 +91,7 @@ Directory gid_Dir_Ure_Share_Misc
 #if defined ENABLE_MACOSX_MACLIKE_APP_STRUCTURE
     ParentID = gid_Brand_Dir_Share_Ure_Share;
 #else
-    ParentID = gir_Dir_Ure_Share;
+    ParentID = gid_Dir_Ure_Share;
 #endif
     DosName = "misc";
 End
commit 669f899dbc1852811a52b7e52c7b14398a42bdda
Author: Tor Lillqvist <t...@collabora.com>
Date:   Fri Aug 15 08:39:49 2014 +0300

    When ENABLE_MACOSX_MACLIKE_APP_STRUCTURE put only binaries in the MacOS dir
    
    The new code signing is more strict and enforces bundle structure
    harder, it seems.
    
    When ENABLE_MACOSX_MACLIKE_APP_STRUCTURE bypass the unoinfo and python
    shell scripts. If they actually are needed, will have to put them
    somewhere under Resources.
    
    Change-Id: I14a34936b78195746d2b88d25603952ce5309380
    (cherry picked from commit 26cfc797fa0b1809cd0c01d5546ba97856bc8143)

diff --git a/scp2/source/ooo/common_brand.scp b/scp2/source/ooo/common_brand.scp
index 365fb7b..935238e 100644
--- a/scp2/source/ooo/common_brand.scp
+++ b/scp2/source/ooo/common_brand.scp
@@ -560,12 +560,14 @@ File gid_Brand_File_Desktophelper_Txt
 End
 #endif
 
+#if !defined ENABLE_MACOSX_MACLIKE_APP_STRUCTURE
 File gid_Brand_File_Bin_Unoinfo
     BIN_FILE_BODY;
     Dir = gid_Brand_Dir_Program;
     Name = EXENAME(unoinfo);
     Styles = (PACKED);
 End
+#endif
 
 #ifdef WNT
 File gid_Brand_File_Bin_Unopkgcom
diff --git a/scp2/source/python/file_python.scp 
b/scp2/source/python/file_python.scp
index 43a8316..5d341a6 100644
--- a/scp2/source/python/file_python.scp
+++ b/scp2/source/python/file_python.scp
@@ -57,6 +57,8 @@ File gid_File_Pyuno_Rdb
 End
 
 #ifndef SYSTEM_PYTHON
+
+#if !defined ENABLE_MACOSX_MACLIKE_APP_STRUCTURE
 File gid_File_Py_Bin_Python
     BIN_FILE_BODY;
 #ifdef WNT
@@ -69,6 +71,7 @@ File gid_File_Py_Bin_Python
     Styles = (FILELIST, PACKED);
 #endif
 End
+#endif
 
 #ifndef MACOSX
 Directory gid_Dir_Py_PythonCore
commit ae1f006ecbb041bba42ef51857a8ba2daa3068b2
Author: Tor Lillqvist <t...@collabora.com>
Date:   Fri Aug 15 01:52:17 2014 +0300

    The --resource-rules option in being deprecated
    
    The documentation is a bit unclear yet, but I think it is safe to
    assume that Apple strongly wants sandboxed apps to have what we call
    ENABLE_MACOSX_MACLIKE_APP_STRUCTURE and to be signed without any
    special resource rules.
    
    Change-Id: I1409ccb6a3f9086d01af6ff318fe28536c1cebef
    (cherry picked from commit 41f2ebfbaa9fb06f56530b4a330fc029df87ecfd)

diff --git a/solenv/bin/macosx-codesign-app-bundle 
b/solenv/bin/macosx-codesign-app-bundle
index 2f22618..cdaa8e8 100755
--- a/solenv/bin/macosx-codesign-app-bundle
+++ b/solenv/bin/macosx-codesign-app-bundle
@@ -89,11 +89,14 @@ done
 # (bootstraprc and similar that the user might adjust and image files)
 # See also https://developer.apple.com/library/mac/technotes/tn2206/
 
-if test "$ENABLE_MACOSX_SANDBOX" = "TRUE"; then
+id=`echo ${MACOSX_APP_NAME} | tr ' ' '-'`
+
+if test -n "$ENABLE_MACOSX_SANDBOX"; then
     entitlements="--entitlements $BUILDDIR/lo.xcent"
+else
+    resource_rules="--resource-rules 
$SRCDIR/setup_native/source/mac/CodesignRules.plist"
 fi
 
-id=`echo ${MACOSX_APP_NAME} | tr ' ' '-'`
-codesign --force --verbose --identifier="${MACOSX_BUNDLE_IDENTIFIER}.$id" 
--resource-rules "$SRCDIR/setup_native/source/mac/CodesignRules.plist" --sign 
"$MACOSX_CODESIGNING_IDENTITY" $entitlements $APP_BUNDLE
+codesign --force --verbose --identifier="${MACOSX_BUNDLE_IDENTIFIER}.$id" 
$resource_rules --sign "$MACOSX_CODESIGNING_IDENTITY" $entitlements $APP_BUNDLE
 
 exit 0
commit 9fcdd030db7ec2585c9ec69a7bef9ccf542373c5
Author: Tor Lillqvist <t...@collabora.com>
Date:   Fri Aug 15 01:51:05 2014 +0300

    Fixes for the ENABLE_MACOSX_MACLIKE_APP_STRUCTURE case
    
    Change-Id: Ic3d27298264df9aa4e3e976fbca477106dbe180a
    (cherry picked from commit 88be7b54c5be57c7ecabe200731262e24c0ca0a4)

diff --git a/scp2/inc/macros.inc b/scp2/inc/macros.inc
index 12545aa..f1fb75b 100755
--- a/scp2/inc/macros.inc
+++ b/scp2/inc/macros.inc
@@ -83,7 +83,6 @@
     #define GID_DIR_URE_JAVA gid_Dir_Classes
     #define GID_DIR_URE_LIB gid_Dir_Frameworks
     #define GID_DIR_URE_SHARE gid_Brand_Dir_Share_Ure
-    #define GID_DIR_URE_SHARE_MISC gid_Brand_Dir_Share_Ure
 #else
     #define GID_BRAND_DIR_ETC gid_Brand_Dir_Program
     #define GID_DIR_PY gid_Brand_Dir_Program
@@ -92,7 +91,6 @@
     #define GID_DIR_URE_JAVA gid_Dir_Ure_Java
     #define GID_DIR_URE_LIB gid_Dir_Ure_Lib
     #define GID_DIR_URE_SHARE gid_Dir_Ure_Share
-    #define GID_DIR_URE_SHARE_MISC gid_Dir_Ure_Misc
 #endif
 
 #define RESFILENAME(name,lang)                STRING(CONCAT3(name,lang,.res))
diff --git a/scp2/source/ooo/common_brand.scp b/scp2/source/ooo/common_brand.scp
index 562cad7..365fb7b 100644
--- a/scp2/source/ooo/common_brand.scp
+++ b/scp2/source/ooo/common_brand.scp
@@ -45,6 +45,7 @@ Module gid_Module_Root_Brand
             gid_Brand_Dir_Share_Uno_Packages,
             gid_Brand_Dir_Share_Uno_Packages_Cache,
             gid_Brand_Dir_Share_Ure,
+            gid_Brand_Dir_Share_Ure_Share,
             gid_Brand_Dir_Share_Glade,
             gid_Brand_Dir_Share_Labels,
             gid_Brand_Dir_Share_Registry,
@@ -452,6 +453,11 @@ Directory gid_Brand_Dir_Share_Ure
     DosName = "ure";
 End
 
+Directory gid_Brand_Dir_Share_Ure_Share
+    ParentID = gid_Brand_Dir_Share_Ure;
+    DosName = "share";
+End
+
 #endif
 
 Directory gid_Brand_Dir_Share_Registry
diff --git a/scp2/source/ooo/ure.scp b/scp2/source/ooo/ure.scp
index fb5aaba..173e669 100644
--- a/scp2/source/ooo/ure.scp
+++ b/scp2/source/ooo/ure.scp
@@ -85,13 +85,17 @@ Directory gid_Dir_Ure_Java
 End
 #endif
 
-Directory gid_Dir_Ure_Misc
-    ParentID = SCP2_URE_SHARE_DIR;
+#endif // !ENABLE_MACOSX_MACLIKE_APP_STRUCTURE
+
+Directory gid_Dir_Ure_Share_Misc
+#if defined ENABLE_MACOSX_MACLIKE_APP_STRUCTURE
+    ParentID = gid_Brand_Dir_Share_Ure_Share;
+#else
+    ParentID = gir_Dir_Ure_Share;
+#endif
     DosName = "misc";
 End
 
-#endif // !ENABLE_MACOSX_MACLIKE_APP_STRUCTURE
-
 // Public Dynamic Libraries:
 
 #ifdef AIX
@@ -220,9 +224,7 @@ ProfileItem gid_Profileitem_Dl_Uno_Uno_Services
     ProfileID = gid_Profile_Dl_Uno_Ini;
     Section = "Bootstrap";
     Key = "UNO_SERVICES";
-#if defined ENABLE_MACOSX_MACLIKE_APP_STRUCTURE
-    Value = "${ORIGIN}/services.rdb ${URE_MORE_SERVICES}";
-#elif defined WNT
+#if defined WNT
     Value = "${ORIGIN}/../misc/services.rdb ${URE_MORE_SERVICES}";
 #else
     Value = "${ORIGIN}/../share/misc/services.rdb ${URE_MORE_SERVICES}";
@@ -410,14 +412,14 @@ End
 
 File gid_File_Misc_TypesRdb
     TXT_FILE_BODY;
-    Dir = GID_DIR_URE_SHARE_MISC;
+    Dir = gid_Dir_Ure_Share_Misc;
     Name = "types.rdb";
     Styles = (PACKED);
 End
 
 File gid_File_Misc_ServicesRdb
     TXT_FILE_BODY;
-    Dir = GID_DIR_URE_SHARE_MISC;
+    Dir = gid_Dir_Ure_Share_Misc;
     Name = "services.rdb";
     Styles = (PACKED);
 End
@@ -437,7 +439,7 @@ Module gid_Module_Root_Ure_Hidden
             gid_Dir_Ure_Lib,
             gid_Dir_Ure_Share,
             gid_Dir_Ure_Java,
-            gid_Dir_Ure_Misc);
+            gid_Dir_Ure_Share_Misc);
     Files = (auto_ure_ALL,
             gid_File_ThirdpartylicensereadmeHtml_Ure,
             gid_File_Readme_Ure,
commit afd359844f30b6432150b781ee634f1e3dcda88a
Author: Tor Lillqvist <t...@collabora.com>
Date:   Fri Aug 15 01:39:49 2014 +0300

    Don't do the security scope bookmark dance if not in a sandboxed process
    
    No point in doing it in build-time tools like cppumaker which don't
    run as sandboxed processes. Just slows them down a lot, while cfprefsd
    consumes lots of CPU doing user preference lookups in vain for every
    file accessed through the uunxapi functions.
    
    Change-Id: I83e55a8e8d0c4f2c60c60ecad2c831e42c9e5bfd
    (cherry picked from commit 8e279c79f88608a4ab4dfc74c0a66a7947ea1482)

diff --git a/sal/Library_sal.mk b/sal/Library_sal.mk
index 16c4876..77d4176 100644
--- a/sal/Library_sal.mk
+++ b/sal/Library_sal.mk
@@ -81,6 +81,7 @@ $(eval $(call gb_Library_use_system_darwin_frameworks,sal,\
        Carbon \
        CoreFoundation \
        Foundation \
+       $(if $(ENABLE_MACOSX_SANDBOX),Security) \
 ))
 endif
 
diff --git a/sal/osl/unx/uunxapi.cxx b/sal/osl/unx/uunxapi.cxx
index 6fb75a1..8690c4d 100644
--- a/sal/osl/unx/uunxapi.cxx
+++ b/sal/osl/unx/uunxapi.cxx
@@ -37,11 +37,36 @@ inline rtl::OString OUStringToOString(const rtl_uString* s)
 
 #if defined(MACOSX) && MAC_OS_X_VERSION_MIN_REQUIRED >= 1070 && 
HAVE_FEATURE_MACOSX_SANDBOX
 
+#include <Foundation/Foundation.h>
+#include <Security/Security.h>
+#include <mach-o/dyld.h>
+
 static NSUserDefaults *userDefaults = NULL;
+static bool isSandboxed = false;
 
-static void get_user_defaults()
+static void do_once()
 {
-    userDefaults = [NSUserDefaults standardUserDefaults];
+    SecCodeRef code;
+    OSStatus rc = SecCodeCopySelf(kSecCSDefaultFlags, &code);
+
+    SecStaticCodeRef staticCode;
+    if (rc == errSecSuccess)
+        rc = SecCodeCopyStaticCode(code, kSecCSDefaultFlags, &staticCode);
+
+    CFDictionaryRef signingInformation;
+    if (rc == errSecSuccess)
+        rc = SecCodeCopySigningInformation(staticCode, 
kSecCSRequirementInformation, &signingInformation);
+
+    CFDictionaryRef entitlements = NULL;
+    if (rc == errSecSuccess)
+        entitlements = (CFDictionaryRef) 
CFDictionaryGetValue(signingInformation, kSecCodeInfoEntitlementsDict);
+
+    if (entitlements != NULL)
+        if (CFDictionaryGetValue(entitlements, 
CFSTR("com.apple.security.app-sandbox")) != NULL)
+            isSandboxed = true;
+
+    if (isSandboxed)
+        userDefaults = [NSUserDefaults standardUserDefaults];
 }
 
 typedef struct {
@@ -53,12 +78,15 @@ static accessFilePathState *
 prepare_to_access_file_path( const char *cpFilePath )
 {
     static pthread_once_t once = PTHREAD_ONCE_INIT;
-    pthread_once(&once, &get_user_defaults);
+    pthread_once(&once, &do_once);
     NSURL *fileURL = nil;
     NSData *data = nil;
     BOOL stale;
     accessFilePathState *state;
 
+    if (!isSandboxed)
+        return NULL;
+
     // If malloc() fails we are screwed anyway
     state = (accessFilePathState*) malloc(sizeof(accessFilePathState));
 
@@ -86,6 +114,9 @@ prepare_to_access_file_path( const char *cpFilePath )
 static void
 done_accessing_file_path( const char * /*cpFilePath*/, accessFilePathState 
*state )
 {
+    if (!isSandboxed)
+        return;
+
     int saved_errno = errno;
 
     if (state->scopeURL != nil)
@@ -259,7 +290,7 @@ int open_c(const char *cpPath, int oflag, int mode)
     int result = open(cpPath, oflag, mode);
 
 #if defined(MACOSX) && MAC_OS_X_VERSION_MIN_REQUIRED >= 1070 && 
HAVE_FEATURE_MACOSX_SANDBOX
-    if (result != -1 && (oflag & O_CREAT) && (oflag & O_EXCL))
+    if (isSandboxed && result != -1 && (oflag & O_CREAT) && (oflag & O_EXCL))
     {
         // A new file was created. Check if it is outside the sandbox.
         // (In that case it must be one the user selected as export or
commit 089b1f663707218e997a3ff13326e6f18cb8b2c4
Author: Tor Lillqvist <t...@collabora.com>
Date:   Tue Feb 25 16:26:30 2014 +0200

    Don't do the annoying restart thing when sandboxed on OS X, ignore risks...
    
    So far we have just displayed a hugely annoying dialog "sorry, but we
    suck, you need to start LibreOffice again". But that sucks. So just
    try to do without restart then, and let's see what happens. At least
    in trivial testing, no crash.
    
    Change-Id: I475fe49a0fdb8086bb33a165a08b32ac46548857
    (cherry picked from commit 59ddf7216d52dd5492ffe1362174518dc2f5e0ce)

diff --git a/desktop/source/app/check_ext_deps.cxx 
b/desktop/source/app/check_ext_deps.cxx
index 4bdde01..32e280c 100644
--- a/desktop/source/app/check_ext_deps.cxx
+++ b/desktop/source/app/check_ext_deps.cxx
@@ -18,6 +18,7 @@
  */
 
 #include <config_folders.h>
+#include <config_features.h>
 
 #include "osl/file.hxx"
 #include "osl/mutex.hxx"
@@ -420,8 +421,10 @@ void Desktop::SynchronizeExtensionRepositories()
     if (m_bCleanedExtensionCache) {
         
deployment::ExtensionManager::get(context)->reinstallDeployedExtensions(
             true, "user", Reference<task::XAbortChannel>(), silent);
+#if !HAVE_FEATURE_MACOSX_SANDBOX
         task::OfficeRestartManager::get(context)->requestRestart(
             silent->getInteractionHandler());
+#endif
     } else {
         // reinstallDeployedExtensions above already calls syncRepositories
         // internally:
diff --git a/desktop/source/deployment/misc/dp_misc.cxx 
b/desktop/source/deployment/misc/dp_misc.cxx
index 14e2c4c..b58f78c 100644
--- a/desktop/source/deployment/misc/dp_misc.cxx
+++ b/desktop/source/deployment/misc/dp_misc.cxx
@@ -18,6 +18,7 @@
  */
 
 #include <config_folders.h>
+#include <config_features.h>
 
 #include "dp_misc.h"
 #include "dp_version.hxx"
@@ -560,7 +561,7 @@ void syncRepositories(
                 Reference<task::XAbortChannel>(), xCmdEnv);
         }
     }
-
+#if !HAVE_FEATURE_MACOSX_SANDBOX
     if (bModified)
     {
         Reference<task::XRestartManager> 
restarter(task::OfficeRestartManager::get(comphelper::getProcessComponentContext()));
@@ -571,6 +572,7 @@ void syncRepositories(
                                       Reference<task::XInteractionHandler>());
         }
      }
+#endif
 }
 
 void disposeBridges(Reference<css::uno::XComponentContext> const & ctx)
commit 72d591dc81ce85b47a8e5d0d4b2835ebcf533540
Author: Tor Lillqvist <t...@collabora.com>
Date:   Mon Aug 11 18:31:36 2014 +0300

    Add ure/source/unorc
    
    Change-Id: I9439a00d2186696a4891e5eefad066d50917f9c7
    (cherry picked from commit 835d3e818f4d27ecf34aca268e5300ac58cc92c5)

diff --git a/.gitignore b/.gitignore
index 93031b4..374edb5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -48,6 +48,7 @@
 /config_build.mk
 /configure
 /lo.xcent
+/ure/source/unorc
 /Makefile
 /NEWS
 /TODO
commit dfe051805fdd13ca4ca405e9494b1c8cd0ff2f33
Author: Tor Lillqvist <t...@collabora.com>
Date:   Mon Aug 11 08:10:38 2014 +0300

    "fixes" needed because ure/source/unorc is now expanded at configure time
    
    Argh, this is getting even uglier.
    
    We cheerfully ignore for now the theoretical possibility that the URE
    unorc used by build-time tools (i.e. the configure-expanded
    ure/source/unorc) could be different for HOST and BUILD (in case they
    use different --enable-canonical-installation-tree-structure), and use
    the HOST one for the BUILD tools.
    
    The right thing would probably be to construct the URE unorc in the
    relevant Makefile, like we do for fundamentalrc? Or then to just
    re-design the whole mess of rc files into some simpler (good luck).
    
    Change-Id: I654309503d0e696778910acadcbf2f6b90ffa02a
    (cherry picked from commit ad85ce18d3939170e5ef7b1a1f8e5dda2c8aeb9c)

diff --git a/Repository.mk b/Repository.mk
index 326c2f1..afd7cb8 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -713,6 +713,7 @@ endif
 
 $(eval $(call gb_Helper_register_packages_for_install,ure,\
        ure_install \
+       ure_builddir_install \
        $(if $(ENABLE_JAVA),\
                jvmfwk_javavendors \
                jvmfwk_jreproperties \
diff --git a/configure.ac b/configure.ac
index b383227..b8160fb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4678,7 +4678,8 @@ if test "$cross_compiling" = "yes"; then
         instsetoo_native/util/openoffice.lst.in \
         config_host/*.in \
         sysui/desktop/macosx/Info.plist.in \
-        ios/lo.xcconfig.in) \
+        ios/lo.xcconfig.in \
+        ure/source/unorc.in) \
     | (cd CONF-FOR-BUILD && tar xf -)
     cp configure CONF-FOR-BUILD
     test -d config_build && cp -p config_build/*.h CONF-FOR-BUILD/config_host 
2>/dev/null
diff --git a/sal/Library_sal.mk b/sal/Library_sal.mk
index 122b95f..16c4876 100644
--- a/sal/Library_sal.mk
+++ b/sal/Library_sal.mk
@@ -36,6 +36,7 @@ $(eval $(call gb_Library_add_defs,sal,\
 # need the "ure-link" symlink to exist in INSTDIR so it's possible to link sal
 # FIXME: this creates cyclic dependency between ure and sal modules
 $(eval $(call gb_Library_use_package,sal,ure_install))
+$(eval $(call gb_Library_use_package,sal,ure_builddir_install))
 
 $(eval $(call gb_Library_use_libraries,sal,\
        $(if $(filter $(OS),ANDROID), \
commit 42456b972db31451b9035972a321c7c1b2978ebe
Author: Tor Lillqvist <t...@collabora.com>
Date:   Sun Aug 10 19:41:24 2014 +0300

    Ugly hack to fix build when srcdir!=builddir
    
    The problem is that the ure/source/unorc file is now expanded by the 
configure
    script, and thus exists only in builddir. But a further complication is that
    the uno.ini file is in srcdir. This is one way to handle it. Seems to work 
for
    me, let's see what the srcdir!=builddir tinderbox slaves say.
    
    Change-Id: I6fb456cf849ce5077e2c5bd25dc9149096aab241
    (cherry picked from commit 8e9487cf97d944b202d4406561b88068aaf8e386)

diff --git a/ure/Module_ure.mk b/ure/Module_ure.mk
index 88cbc71..4d8c2c0 100644
--- a/ure/Module_ure.mk
+++ b/ure/Module_ure.mk
@@ -11,6 +11,7 @@ $(eval $(call gb_Module_Module,ure))
 
 $(eval $(call gb_Module_add_targets,ure,\
        Package_install \
+       Package_builddir_install \
        Rdb_ure \
 ))
 
diff --git a/ure/Package_builddir_install.mk b/ure/Package_builddir_install.mk
new file mode 100644
index 0000000..c109bd4
--- /dev/null
+++ b/ure/Package_builddir_install.mk
@@ -0,0 +1,16 @@
+# -*- 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_Package_Package,ure_builddir_install,$(BUILDDIR)/ure/source))
+
+$(eval $(call 
gb_Package_add_files,ure_builddir_install,$(LIBO_URE_ETC_FOLDER),\
+       $(if $(filter unorc,$(call gb_Helper_get_rcfile,uno)),$(call 
gb_Helper_get_rcfile,uno)) \
+))
+
+# vim:set noet sw=4 ts=4:
diff --git a/ure/Package_install.mk b/ure/Package_install.mk
index 19f5492..a5460c9 100644
--- a/ure/Package_install.mk
+++ b/ure/Package_install.mk
@@ -26,7 +26,7 @@ endif
 
 $(eval $(call gb_Package_add_files,ure_install,$(LIBO_URE_ETC_FOLDER),\
        $(call gb_Helper_get_rcfile,jvmfwk3) \
-       $(call gb_Helper_get_rcfile,uno) \
+       $(if $(filter unorc,$(call gb_Helper_get_rcfile,uno)),,$(call 
gb_Helper_get_rcfile,uno)) \
 ))
 
 # vim:set noet sw=4 ts=4:
commit 40182723bce4d4a69c7d4805f9d13cb39412f477
Author: Tor Lillqvist <t...@collabora.com>
Date:   Fri Aug 8 11:28:49 2014 +0300

    javaldx is not built for WNT or MACOSX so no point in the uno wrapper script
    
    Change-Id: I127205ebf6fb3fe01de6803a989e970f46df22bb
    (cherry picked from commit 59622dabdec080c2a720a17987dceba2c03afe90)

diff --git a/RepositoryFixes.mk b/RepositoryFixes.mk
index cc37c50..6023b04 100644
--- a/RepositoryFixes.mk
+++ b/RepositoryFixes.mk
@@ -22,7 +22,9 @@
 gb_Executable_FILENAMES := $(foreach group,$(gb_Executable_VALIDGROUPS),\
        $(foreach 
exe,$(gb_Executable_$(group)),$(exe):$(exe)$(gb_Executable_EXT)))
 
+ifneq (,$(filter-out MACOSX WNT,$(OS)))
 gb_Executable_FILENAMES := $(patsubst 
uno:uno,uno:uno.bin,$(gb_Executable_FILENAMES))
+endif
 gb_Executable_FILENAMES := $(patsubst 
unopkg_bin:unopkg_bin%,unopkg_bin:unopkg.bin,$(gb_Executable_FILENAMES))
 gb_Executable_FILENAMES := $(patsubst 
unopkg_com:unopkg_com%,unopkg_com:unopkg.com,$(gb_Executable_FILENAMES))
 gb_Executable_FILENAMES := $(patsubst 
crashrep_com:crashrep_com%,crashrep_com:crashrep.com,$(gb_Executable_FILENAMES))
diff --git a/ure/Package_install.mk b/ure/Package_install.mk
index 44b5d7c..19f5492 100644
--- a/ure/Package_install.mk
+++ b/ure/Package_install.mk
@@ -9,7 +9,7 @@
 
 $(eval $(call gb_Package_Package,ure_install,$(SRCDIR)/ure/source))
 
-ifneq (WNT,$(OS))
+ifneq (,$(filter-out MACOSX WNT,$(OS)))
 $(eval $(call 
gb_Package_add_file,ure_install,$(LIBO_URE_BIN_FOLDER)/startup.sh,startup.sh))
 $(eval $(call 
gb_Package_add_symbolic_link,ure_install,$(LIBO_URE_BIN_FOLDER)/uno,startup.sh))
 endif
commit d38ca60679915e9361fdfb83ba888a577cf247bb
Author: Tor Lillqvist <t...@collabora.com>
Date:   Fri Aug 8 00:33:26 2014 +0300

    Use LIBO_URE_BIN_FOLDER and LIBO_SHARE_JAVA_FOLDER
    
    Needed in case of --enable-canonical-installation-tree-structure.
    
    Change-Id: I965ebd9b89e1b9f7bb6534e3c25d29d3b470acf4
    (cherry picked from commit 5e5aa9b08a39530b0b117141f0f65d1dc2dad84e)

diff --git a/instsetoo_native/CustomTarget_setup.mk 
b/instsetoo_native/CustomTarget_setup.mk
index 0270ec8..48c264b 100644
--- a/instsetoo_native/CustomTarget_setup.mk
+++ b/instsetoo_native/CustomTarget_setup.mk
@@ -60,12 +60,12 @@ $(call 
gb_CustomTarget_get_workdir,instsetoo_native/setup)/$(call gb_Helper_get_
                && echo 'UNO_SHARED_PACKAGES_CACHE=$${$$ORIGIN/$(call 
gb_Helper_get_rcfile,uno):UNO_SHARED_PACKAGES_CACHE}' \
                && echo 'TMP_EXTENSIONS=$${$$ORIGIN/$(call 
gb_Helper_get_rcfile,uno):TMP_EXTENSIONS}' \
                && echo 'UNO_USER_PACKAGES_CACHE=$${$$ORIGIN/$(call 
gb_Helper_get_rcfile,uno):UNO_USER_PACKAGES_CACHE}' \
-               && echo 'URE_BIN_DIR=$(if $(filter 
WNT,$(OS)),$${.link:$${BRAND_BASE_DIR}/ure-link}/bin,$${BRAND_BASE_DIR}/ure-link/bin)'
 \
+               && echo 'URE_BIN_DIR=$(if $(filter 
WNT,$(OS)),$${.link:$${BRAND_BASE_DIR}/ure-link}/bin,$${BRAND_BASE_DIR}/$(LIBO_URE_BIN_FOLDER))'
 \
                && echo 'URE_MORE_JAVA_CLASSPATH_URLS=$(if 
$(SYSTEM_HSQLDB),$(HSQLDB_JAR))' \
                && echo 
'URE_OVERRIDE_JAVA_JFW_SHARED_DATA=$${BRAND_BASE_DIR}/$(LIBO_SHARE_FOLDER)/config/javasettings_$${_OS}_$${_ARCH}.xml'
 \
                && echo 
'URE_OVERRIDE_JAVA_JFW_USER_DATA=$${$${BRAND_BASE_DIR}/$(LIBO_ETC_FOLDER)/$(call
 
gb_Helper_get_rcfile,bootstrap):UserInstallation}/user/config/javasettings_$${_OS}_$${_ARCH}.xml'
 \
                && echo 'URE_LIB_DIR=$(if $(filter 
WNT,$(OS)),$${.link:$${BRAND_BASE_DIR}/ure-link}/bin,$${BRAND_BASE_DIR}/ure-link/lib)'
 \
-               && echo 'URE_MORE_JAVA_TYPES=$$ORIGIN/classes/unoil.jar 
$$ORIGIN/classes/ScriptFramework.jar $${$${$$ORIGIN/$(call 
gb_Helper_get_rcfile,uno):PKG_UserUnoFile}:UNO_JAVA_CLASSPATH} 
$${$${$$ORIGIN/$(call 
gb_Helper_get_rcfile,uno):PKG_SharedUnoFile}:UNO_JAVA_CLASSPATH} 
$${$${$$ORIGIN/$(call 
gb_Helper_get_rcfile,uno):PKG_BundledUnoFile}:UNO_JAVA_CLASSPATH}' \
+               && echo 
'URE_MORE_JAVA_TYPES=$${BRAND_BASE_DIR}/$(LIBO_SHARE_JAVA_FOLDER)/unoil.jar 
$${BRAND_BASE_DIR}/$(LIBO_SHARE_JAVA_FOLDER)/ScriptFramework.jar 
$${$${$$ORIGIN/$(call 
gb_Helper_get_rcfile,uno):PKG_UserUnoFile}:UNO_JAVA_CLASSPATH} 
$${$${$$ORIGIN/$(call 
gb_Helper_get_rcfile,uno):PKG_SharedUnoFile}:UNO_JAVA_CLASSPATH} 
$${$${$$ORIGIN/$(call 
gb_Helper_get_rcfile,uno):PKG_BundledUnoFile}:UNO_JAVA_CLASSPATH}' \
                && echo 'URE_MORE_SERVICES=$${$${$$ORIGIN/$(call 
gb_Helper_get_rcfile,uno):PKG_UserUnoFile}:UNO_SERVICES} $${$${$$ORIGIN/$(call 
gb_Helper_get_rcfile,uno):PKG_SharedUnoFile}:UNO_SERVICES} 
$${$${$$ORIGIN/$(call 
gb_Helper_get_rcfile,uno):PKG_BundledUnoFile}:UNO_SERVICES} 
<$$ORIGIN/services>*' \
                && echo 'URE_MORE_TYPES=<$$ORIGIN/types>* $${$${$$ORIGIN/$(call 
gb_Helper_get_rcfile,uno):PKG_UserUnoFile}:UNO_TYPES} $${$${$$ORIGIN/$(call 
gb_Helper_get_rcfile,uno):PKG_SharedUnoFile}:UNO_TYPES} $${$${$$ORIGIN/$(call 
gb_Helper_get_rcfile,uno):PKG_BundledUnoFile}:UNO_TYPES}' \
        ) > $@
diff --git a/scp2/source/ooo/common_brand.scp b/scp2/source/ooo/common_brand.scp
index 323289d..562cad7 100644
--- a/scp2/source/ooo/common_brand.scp
+++ b/scp2/source/ooo/common_brand.scp
@@ -1185,7 +1185,7 @@ ProfileItem 
gid_Brand_Profileitem_Fundamental_Ure_More_Java_Types
     ProfileID = gid_Brand_Profile_Fundamental_Ini;
     Section = "Bootstrap";
     Key = "URE_MORE_JAVA_TYPES";
-    Value = "$ORIGIN/classes/unoil.jar $ORIGIN/classes/ScriptFramework.jar 
${${$ORIGIN/" PROFILENAME(uno) ":PKG_UserUnoFile}:UNO_JAVA_CLASSPATH} 
${${$ORIGIN/" PROFILENAME(uno) ":PKG_SharedUnoFile}:UNO_JAVA_CLASSPATH} 
${${$ORIGIN/" PROFILENAME(uno) ":PKG_BundledUnoFile}:UNO_JAVA_CLASSPATH}";
+    Value = "${BRAND_BASE_DIR}/" LIBO_SHARE_JAVA_FOLDER "/unoil.jar 
${BRAND_BASE_DIR}/" LIBO_SHARE_JAVA_FOLDER "/ScriptFramework.jar ${${$ORIGIN/" 
PROFILENAME(uno) ":PKG_UserUnoFile}:UNO_JAVA_CLASSPATH} ${${$ORIGIN/" 
PROFILENAME(uno) ":PKG_SharedUnoFile}:UNO_JAVA_CLASSPATH} ${${$ORIGIN/" 
PROFILENAME(uno) ":PKG_BundledUnoFile}:UNO_JAVA_CLASSPATH}";
 End
 
 ProfileItem gid_Brand_Profileitem_Fundamental_Ure_Java_Jfw_Shared_Data
@@ -1223,7 +1223,7 @@ ProfileItem gid_Brand_Profileitem_Fundamental_Ure_Bin_Dir
 #if defined WNT
     Value = "${.link:${BRAND_BASE_DIR}/ure-link}/bin";
 #else
-    Value = "${BRAND_BASE_DIR}/ure-link/bin";
+    Value = "${BRAND_BASE_DIR}/" LIBO_URE_BIN_FOLDER;
 #endif
 End
 
commit f5f1f8332584a1bbc1d1a8a688fb3d0bce24a5dd
Author: Tor Lillqvist <t...@collabora.com>
Date:   Fri Aug 8 00:31:29 2014 +0300

    Fixes for the --enable-canonical-installation-tree-structure case
    
    Do install the uno and startup.sh commands, smoketest needs them
    
    Change-Id: Ia530564e4b664881d730355a80e2af4476987e10
    (cherry picked from commit b6869717a389d65bd50e8096d033a689d9298e84)

diff --git a/ure/Package_install.mk b/ure/Package_install.mk
index 94156b8..44b5d7c 100644
--- a/ure/Package_install.mk
+++ b/ure/Package_install.mk
@@ -10,11 +10,9 @@
 $(eval $(call gb_Package_Package,ure_install,$(SRCDIR)/ure/source))
 
 ifneq (WNT,$(OS))
-ifeq ($(ENABLE_MACOSX_MACLIKE_APP_STRUCTURE),)
 $(eval $(call 
gb_Package_add_file,ure_install,$(LIBO_URE_BIN_FOLDER)/startup.sh,startup.sh))
 $(eval $(call 
gb_Package_add_symbolic_link,ure_install,$(LIBO_URE_BIN_FOLDER)/uno,startup.sh))
 endif
-endif
 
 ifeq (MACOSX,$(OS))
 ifeq ($(ENABLE_MACOSX_MACLIKE_APP_STRUCTURE),)
commit c5d65fe25f308eb4a96bf2f93a7d7b88bd94562f
Author: Tor Lillqvist <t...@collabora.com>
Date:   Thu Aug 7 23:26:10 2014 +0300

    Make this work better in the ENABLE_MACOSX_MACLIKE_APP_STRUCTURE case
    
    In that case the dylibs won't be in the parent directory of where the
    jars are (Resources), but in Frameworks.
    
    Change-Id: I628d828ca820d07724947050f54f9f5f9148e159
    (cherry picked from commit 6ac523554213f11838443de0cd9b62415f5d2ffd)

diff --git a/jurt/com/sun/star/lib/util/NativeLibraryLoader.java 
b/jurt/com/sun/star/lib/util/NativeLibraryLoader.java
index 749dcb1..a2f92e0 100644
--- a/jurt/com/sun/star/lib/util/NativeLibraryLoader.java
+++ b/jurt/com/sun/star/lib/util/NativeLibraryLoader.java
@@ -106,6 +106,16 @@ public final class NativeLibraryLoader {
                             if (path.exists()) {
                                 return path;
                             }
+                            // In case of ENABLE_MACOSX_MACLIKE_APP_STRUCTURE,
+                            // dir is now the Resources dir, we want to look 
in Frameworks
+                            if (System.getProperty("os.name").startsWith("Mac")
+                                && dir.getName().equals("Resources")) {
+                                dir = dir.getParentFile();
+                                path = new File(dir, "Frameworks/" + name);
+                                if (path.exists()) {
+                                    return path;
+                                }
+                            }
                         }
                     }
                 }
commit 1766aa619045306b3247aede7c718bef3dcffd0f
Author: Tor Lillqvist <t...@collabora.com>
Date:   Thu Aug 7 21:41:41 2014 +0300

    Use @LIBO_URE_LIB_FOLDER@ for URE_INTERNAL_LIB_DIR
    
    In the --enable-canonical-installation-tree-structure case (on OS X),
    the URE unorc is definitely not in the same place as any libs. Noticed
    in JunitTest_comphelper_complex.
    
    Change-Id: Ic6097021f9abc081e2a7c7aac25286ad2c4b75e5
    (cherry picked from commit e24d3ff2cd9e2da4c81105d2e9dbee6187fac55f)

diff --git a/ure/source/unorc.in b/ure/source/unorc.in
index 29f3ded..bc0ecbe 100644
--- a/ure/source/unorc.in
+++ b/ure/source/unorc.in
@@ -16,7 +16,7 @@
 #   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 #
 [Bootstrap]
-URE_INTERNAL_LIB_DIR=${ORIGIN}
+URE_INTERNAL_LIB_DIR=${BRAND_BASE_DIR}/@LIBO_URE_LIB_FOLDER@
 URE_INTERNAL_JAVA_DIR=${BRAND_BASE_DIR}/@LIBO_URE_SHARE_JAVA_FOLDER@
 URE_INTERNAL_JAVA_CLASSPATH=${URE_MORE_JAVA_TYPES}
 UNO_TYPES=${ORIGIN}/../share/misc/types.rdb ${URE_MORE_TYPES}
commit 65f9331ceeaff37dd48d2a1ffa788646b7ef57d0
Author: Tor Lillqvist <t...@collabora.com>
Date:   Thu Aug 7 21:08:15 2014 +0300

    Use @LIBO_URE_SHARE_JAVA_FOLDER@ instead of hardcoding ../share/java
    
    Makes CppunitTest_dbaccess_hsqldb_test work also in the
    --enable-canonical-installation-tree-structure (on OS X), otherwise
    the use of $URE_INTERNAL_JAVA_CLASSPATH (looked up from the URE unorc)
    in stoc/source/javavm/javavm.cxx fails.
    
    Change-Id: I5ea045594c32e6a1398b73cff1e4aa8bbe1aa265
    (cherry picked from commit d83f28a2505923a4f01237f7587bf8ede57d0bed)

diff --git a/configure.ac b/configure.ac
index 7aaa5d0..b383227 100644
--- a/configure.ac
+++ b/configure.ac
@@ -13022,7 +13022,8 @@ AC_CONFIG_FILES([config_host.mk
                  lo.xcent
                  instsetoo_native/util/openoffice.lst
                  sysui/desktop/macosx/Info.plist
-                 ios/lo.xcconfig])
+                 ios/lo.xcconfig
+                 ure/source/unorc])
 AC_CONFIG_HEADERS([config_host/config_buildid.h])
 AC_CONFIG_HEADERS([config_host/config_clang.h])
 AC_CONFIG_HEADERS([config_host/config_eot.h])
diff --git a/ure/source/unorc b/ure/source/unorc.in
similarity index 93%
rename from ure/source/unorc
rename to ure/source/unorc.in
index 1efbfe2..29f3ded 100644
--- a/ure/source/unorc
+++ b/ure/source/unorc.in
@@ -17,7 +17,7 @@
 #
 [Bootstrap]
 URE_INTERNAL_LIB_DIR=${ORIGIN}
-URE_INTERNAL_JAVA_DIR=${ORIGIN}/../share/java
+URE_INTERNAL_JAVA_DIR=${BRAND_BASE_DIR}/@LIBO_URE_SHARE_JAVA_FOLDER@
 URE_INTERNAL_JAVA_CLASSPATH=${URE_MORE_JAVA_TYPES}
 UNO_TYPES=${ORIGIN}/../share/misc/types.rdb ${URE_MORE_TYPES}
 UNO_SERVICES=${ORIGIN}/../share/misc/services.rdb ${URE_MORE_SERVICES}
commit 4abbcf15e589344e2c5e25ba3f9f7fc4fc924755
Author: Tor Lillqvist <t...@collabora.com>
Date:   Thu Aug 7 17:47:25 2014 +0300

    Use $(LIBO_SHARE_FOLDER) instead of hardcoded "share"
    
    Change-Id: Ic97e51efaa280c64764b1c5f38c3b87af82a422b
    (cherry picked from commit 3369185bddc4ece889381511055917e58a42a837)

diff --git a/solenv/gbuild/CppunitTest.mk b/solenv/gbuild/CppunitTest.mk
index 7d2b602..500748f 100644
--- a/solenv/gbuild/CppunitTest.mk
+++ b/solenv/gbuild/CppunitTest.mk
@@ -43,7 +43,7 @@ gb_CppunitTest_CPPTESTCOMMAND := $(call 
gb_Executable_get_target_for_build,cppun
 define gb_CppunitTest__make_args
 $(HEADLESS) \
 "-env:BRAND_BASE_DIR=$(call gb_Helper_make_url,$(INSTROOT))" \
-"-env:BRAND_SHARE_SUBDIR=share" \
+"-env:BRAND_SHARE_SUBDIR=$(LIBO_SHARE_FOLDER)" \
 "-env:UserInstallation=$(call gb_Helper_make_url,$(call 
gb_CppunitTest_get_target,$*).user)" \
 $(if $(URE),\
     $(if $(strip $(CONFIGURATION_LAYERS)),\
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to