[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-4.2' - 3 commits - postprocess/Rdb_services.mk shell/Module_shell.mk solenv/bin

Tor Lillqvist tml at collabora.com
Fri Mar 7 00:46:02 PST 2014


 postprocess/Rdb_services.mk           |    4 +-
 shell/Module_shell.mk                 |    9 +----
 solenv/bin/macosx-codesign-app-bundle |   55 ++++++++++++++++------------------
 3 files changed, 32 insertions(+), 36 deletions(-)

New commits:
commit c0b388b8a29c771dbb28dc67e6d2b1a7e5d60193
Author: Tor Lillqvist <tml at collabora.com>
Date:   Fri Mar 7 10:29:36 2014 +0200

    No cmdmail component on OS X now
    
    Change-Id: I693e529c4ef2846425db6ec6ffdfdfc0b1d09ffc

diff --git a/postprocess/Rdb_services.mk b/postprocess/Rdb_services.mk
index b72f4abc..b5eb781 100755
--- a/postprocess/Rdb_services.mk
+++ b/postprocess/Rdb_services.mk
@@ -328,8 +328,10 @@ $(eval $(call gb_Rdb_add_components,services,\
 	xmlhelp/source/treeview/tvhlp1 \
 	xmlhelp/util/ucpchelp1 \
 	xmlsecurity/util/xsec_xmlsec$(if $(filter WNT,$(OS)),.windows) \
-	$(if $(filter-out WNT,$(OS)),\
+	$(if $(filter-out MACOSX WNT,$(OS)),\
 		shell/source/cmdmail/cmdmail \
+	) \
+	$(if $(filter-out WNT,$(OS)),\
 		shell/source/unix/exec/syssh \
 	) \
 	$(if $(filter-out MACOSX WNT,$(OS)), \
commit 860973a6d08e3a80f88b0cef0691157bdcc00e79
Author: Tor Lillqvist <tml at collabora.com>
Date:   Fri Mar 7 10:20:49 2014 +0200

    Why would we need GNOME and KDE scripts on OS X?
    
    Also, the senddoc script seems fairly AIX/Linux/X11-specific.
    
    Change-Id: I5441996bc133dcc7f292803a22e050cc6c1e23fa

diff --git a/shell/Module_shell.mk b/shell/Module_shell.mk
index 3461381..40d7547 100644
--- a/shell/Module_shell.mk
+++ b/shell/Module_shell.mk
@@ -103,12 +103,13 @@ $(eval $(call gb_Module_add_targets,shell,\
 	Executable_lngconvex \
 ))
 
-ifneq ($(OS),WNT)
+ifneq ($(filter-out MACOSX WNT,$(OS)),)
 
 $(eval $(call gb_Module_add_targets,shell,\
 	Executable_gnome_open_url \
 	Executable_uri_encode \
 	Library_cmdmail \
+	Library_recentfile \
 	Library_syssh \
 	Package_scripts \
 	Package_scripts_gnome \
@@ -117,12 +118,6 @@ $(eval $(call gb_Module_add_targets,shell,\
 	StaticLibrary_xmlparser \
 ))
 
-ifneq ($(filter-out MACOSX IOS ANDROID,$(OS)),)
-$(eval $(call gb_Module_add_targets,shell,\
-	Library_recentfile \
-))
-endif
-
 endif
 
 endif
commit 925b96171dda2f0366f27fdc2a5c058d4461ec12
Author: Tor Lillqvist <tml at collabora.com>
Date:   Fri Mar 7 09:54:56 2014 +0200

    Merge macosx-codesign-app-bundle changes from cp-4.1
    
    Don't unintentionally drop a period, and actually simplify.
    
    Handle app bundles with space in name, also sign the mdimporter
    properly.
    
    Just like the Python framework, also the Spotlight importer needs to
    be signed specially, it seems.
    
    Include the directory names in the "ids" to make them unique. There
    are lots of files with the same name, especially in an app bundle that
    includes help in multiple languages.
    
    Change-Id: Idd8a19be0b6eba69c7086a7ba706f00521aa6ff6

diff --git a/solenv/bin/macosx-codesign-app-bundle b/solenv/bin/macosx-codesign-app-bundle
index e51c903..7ac93d4 100755
--- a/solenv/bin/macosx-codesign-app-bundle
+++ b/solenv/bin/macosx-codesign-app-bundle
@@ -19,8 +19,6 @@ for V in \
     fi
 done
 
-echo "codesigning using MACSOX_CODESIGNING_IDENTITY=[${MACOSX_CODESIGNING_IDENTITY?}]"
-
 APP_BUNDLE="$1"
 
 # Sign dylibs
@@ -32,46 +30,46 @@ APP_BUNDLE="$1"
 #
 # The dylibs in the Python framework are called *.so. Go figure
 #
-# First sign all files that can use the default identifier in the hope
-# that codesign will contact the timestamp server just once for all
-# mentioned on the command line.
-#
 # On Mavericks also would like to have data files signed...
 # add some where it makes sense. Make a depth-first search to sign the contents
 # of e.g. the spotlight plugin before attempting to sign the plugin itself
 
-find -d $APP_BUNDLE \( -name '*.dylib' -or -name '*.so' -or -name '*.fodt' \
-        -or -name 'schema.strings' -or -name 'schema.xml' -or -name '*.mdimporter' \
+find "$APP_BUNDLE" \( -name '*.dylib' -or -name '*.dylib.*' -or -name '*.so' \
+        -or -name '*.fodt' -or -name 'schema.strings' -or -name 'schema.xml' \
         -or -name '*.jar' -or -name '*.jnilib' -or -name 'LICENSE' -or -name 'LICENSE.html' \
-        -or -name '*.applescript' \) ! -type l | grep -v "LibreOfficePython\.framework" | \
-xargs codesign --verbose --prefix=$MACOSX_BUNDLE_IDENTIFIER. --sign "$MACOSX_CODESIGNING_IDENTITY"
-
-find $APP_BUNDLE -name '*.dylib.*' ! -type l | \
-while read dylib; do \
-    id=`basename "$dylib"`; \
-    id=`echo $id | sed -e 's/dylib.*/dylib/'`; \
-    codesign --verbose --identifier=$MACOSX_BUNDLE_IDENTIFIER.$id --sign "$MACOSX_CODESIGNING_IDENTITY" "$dylib"; \
+        -or -name '*.applescript' \) ! -type l | grep -v "LibreOfficePython\.framework" |
+while read dylib; do
+    id=`echo ${dylib#${APP_BUNDLE}/Contents/} | sed -e 's,/,.,g'`
+    codesign --verbose --identifier=$MACOSX_BUNDLE_IDENTIFIER.$id --sign "$MACOSX_CODESIGNING_IDENTITY" "$dylib"
 done
 
 # The executables have already been signed by
 # gb_LinkTarget__command_dynamiclink in
 # solenv/gbuild/platform/macosx.mk.
 
-# Sign frameworks.
-#
+# Sign included bundles. First frameworks.
+
 # Yeah, we don't bundle any other framework than our Python one, and
 # it has just one version, so this generic search is mostly for
 # completeness.
 
-for framework in `find $APP_BUNDLE -name '*.framework' -type d`; do \
-    fn="$(basename $framework)"
+find "$APP_BUNDLE" -name '*.framework' -type d |
+while read framework; do
+    fn=`basename "$framework"`
     fn=${fn%.*}
-    for version in $framework/Versions/*; do \
-        if test ! -L $version -a -d $version; then
-            codesign --force --verbose --prefix=$MACOSX_BUNDLE_IDENTIFIER. --sign "$MACOSX_CODESIGNING_IDENTITY" $version/$fn
-            codesign --force --verbose --prefix=$MACOSX_BUNDLE_IDENTIFIER. --sign "$MACOSX_CODESIGNING_IDENTITY" $version
-        fi; \
-    done; \
+    for version in "$framework"/Versions/*; do
+        if test ! -L "$version" -a -d "$version"; then
+            codesign --verbose --prefix=$MACOSX_BUNDLE_IDENTIFIER. --sign "$MACOSX_CODESIGNING_IDENTITY" "$version/$fn"
+            codesign --verbose --prefix=$MACOSX_BUNDLE_IDENTIFIER. --sign "$MACOSX_CODESIGNING_IDENTITY" "$version"
+        fi
+    done
+done
+
+# Then mdimporters
+
+find "$APP_BUNDLE" -name '*.mdimporter' -type d |
+while read bundle; do
+    codesign --verbose --prefix=$MACOSX_BUNDLE_IDENTIFIER. --sign "$MACOSX_CODESIGNING_IDENTITY" "$bundle"
 done
 
 # Sign the app bundle as a whole which means (re-)signing the
@@ -82,7 +80,7 @@ done
 #
 # At this stage we also attach the entitlements in the sandboxing case
 #
-# Also omit some files from the Bunlde's seal via the resource-rules
+# Also omit some files from the Bundle's seal via the resource-rules
 # (bootstraprc and similar that the user might adjust and image files)
 # See also https://developer.apple.com/library/mac/technotes/tn2206/
 
@@ -90,6 +88,7 @@ if test "$ENABLE_MACOSX_SANDBOX" = "TRUE"; then
     entitlements="--entitlements $BUILDDIR/lo.xcent"
 fi
 
-codesign --force --verbose --identifier="${MACOSX_BUNDLE_IDENTIFIER}.$(basename ${APP_BUNDLE})" --resource-rules "$SRCDIR/setup_native/source/mac/CodesignRules.plist" --sign "$MACOSX_CODESIGNING_IDENTITY" $entitlements $APP_BUNDLE
+id=`basename "$APP_BUNDLE"`
+codesign --force --verbose --identifier="${MACOSX_BUNDLE_IDENTIFIER}.$id" --resource-rules "$SRCDIR/setup_native/source/mac/CodesignRules.plist" --sign "$MACOSX_CODESIGNING_IDENTITY" $entitlements "$APP_BUNDLE"
 
 exit 0


More information about the Libreoffice-commits mailing list