Makefile.in | 17 +++++++++++++---- solenv/gbuild/platform/macosx.mk | 3 +++ 2 files changed, 16 insertions(+), 4 deletions(-)
New commits: commit 3dfd5c926848b336be34a34fe04d8da60912998b Author: Tor Lillqvist <t...@iki.fi> Date: Sat Feb 2 10:07:10 2013 +0200 Sign executables right after linking Change-Id: I27c929deffeb803e103609634b501622e04da033 diff --git a/Makefile.in b/Makefile.in index f9e38dd7..2b43f04 100644 --- a/Makefile.in +++ b/Makefile.in @@ -337,13 +337,21 @@ ifeq ($(DISABLE_LINKOO),TRUE) ifneq ($(MACOSX_CODESIGNING_IDENTITY),) # # Sign dylibs - find $(DEVINSTALLDIR)/opt/LibreOffice.app \( -name '*.dylib' -or -name '*.dylib.*' \) ! -type l | \ +# +# Executables get signed right after linking, see +# solenv/gbuild/platform/macosx.mk. But many of our dylibs are built +# by ad-hoc or 3rd-party mechanisms, so we can't easily sign them +# right after linking. So do it here. +# +# The dylibs in the Python framework are called *.so. Go figure +# + find $(DEVINSTALLDIR)/opt/LibreOffice.app \( -name '*.dylib' -or -name '*.dylib.*' -or -name '*.so' \) ! -type l | \ while read dylib; do \ id=`basename "$$dylib"`; \ case $$id in \ - *.dylib) \ + *.dylib|*.so) \ ;; \ - *) \ + *.dylib.*) \ id=`echo $$id | sed -e 's/dylib.*/dylib/'`; \ ;; \ esac; \ @@ -362,7 +370,8 @@ ifneq ($(MACOSX_CODESIGNING_IDENTITY),) done # # Sign the app bundle as a whole (will sign the soffice binary) - codesign --verbose --sign $(MACOSX_CODESIGNING_IDENTITY) $(DEVINSTALLDIR)/opt/LibreOffice.app +# Not necessary as the soffice binary will have been signed after linking. +# codesign --verbose --sign $(MACOSX_CODESIGNING_IDENTITY) $(DEVINSTALLDIR)/opt/LibreOffice.app # endif @install-gdb-printers -L diff --git a/solenv/gbuild/platform/macosx.mk b/solenv/gbuild/platform/macosx.mk index 8ac274a..29e3549 100644 --- a/solenv/gbuild/platform/macosx.mk +++ b/solenv/gbuild/platform/macosx.mk @@ -174,6 +174,9 @@ $(call gb_Helper_abbreviate_dirs,\ $(if $(filter Library Bundle CppunitTest,$(TARGETTYPE)),\ $(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl shl $(LAYER) $(if $(SOVERSION),$(1).$(SOVERSION),$(1)) && \ ln -sf $(notdir $(1)) $(basename $(1)).jnilib &&) \ + $(if $(MACOSX_CODESIGNING_IDENTITY), \ + $(if $(filter Executable,$(TARGETTYPE)), \ + codesign --identifier=$(MACOSX_BUNDLE_IDENTIFIER).$(notdir $(1)) --sign $(MACOSX_CODESIGNING_IDENTITY) $(1) &&)) \ rm -f $${DYLIB_FILE}) endef _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits