Kaydet (Commit) ebdd6165 authored tarafından Tor Lillqvist's avatar Tor Lillqvist

Add option to set bundle identifier and use it when signing

Sign also all the dylibs and frameworks in the bundle.

Change-Id: I7f67b9d7eda0204b24e2ea2ef44a53fb8db0f8aa
üst b46e9640
......@@ -334,11 +334,36 @@ ifeq ($(OS_FOR_BUILD),WNT)
else
ifeq ($(DISABLE_LINKOO),TRUE)
@ooinstall $(DEVINSTALLDIR)/opt
ifeq ($(OS),MACOSX)
identity=`security find-identity -p codesigning -v | grep 'Mac Developer:' | awk '{print $$2}'`; \
if test -n "$$identity"; then \
codesign --verbose --sign $$identity $(DEVINSTALLDIR)/opt/LibreOffice.app; \
fi
ifneq ($(MACOSX_CODESIGNING_IDENTITY),)
#
# Sign dylibs
find $(DEVINSTALLDIR)/opt/LibreOffice.app \( -name '*.dylib' -or -name '*.dylib.*' \) ! -type l | \
while read dylib; do \
id=`basename "$$dylib"`; \
case $$id in \
*.dylib) \
;; \
*) \
id=`echo $$id | sed -e 's/dylib.*/dylib/'`; \
;; \
esac; \
codesign --verbose --identifier=$(MACOSX_BUNDLE_IDENTIFIER).$$id --sign $(MACOSX_CODESIGNING_IDENTITY) "$$dylib"; \
done
#
# Sign 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 $(DEVINSTALLDIR)/opt/LibreOffice.app -name '*.framework' -type d`; do \
for version in $$framework/Versions/*; do \
test -d $$version && codesign --force --verbose --prefix=$(MACOSX_BUNDLE_IDENTIFIER). --sign $(MACOSX_CODESIGNING_IDENTITY) $$version; \
done; \
done
#
# Sign the app bundle as a whole (will sign the soffice binary)
codesign --verbose --sign $(MACOSX_CODESIGNING_IDENTITY) $(DEVINSTALLDIR)/opt/LibreOffice.app
#
endif
@install-gdb-printers -L
else
......
......@@ -320,6 +320,7 @@ export LIBXSLT_LIBS=$(gb_SPACE)@LIBXSLT_LIBS@
export LINK_X64_BINARY=@LINK_X64_BINARY@
@x_Cygwin@ export LS=@WIN_LS@
export MANDIR=@MANDIR@
export MACOSX_BUNDLE_IDENTIFIER=@MACOSX_BUNDLE_IDENTIFIER@
export MACOSX_CODESIGNING_IDENTITY=@MACOSX_CODESIGNING_IDENTITY@
export MACOSX_DEPLOYMENT_TARGET=@MACOSX_DEPLOYMENT_TARGET@
export MACOSX_DEPLOYMENT_TARGET_FOR_BUILD=@MACOSX_DEPLOYMENT_TARGET_FOR_BUILD@
......
......@@ -1125,6 +1125,12 @@ AC_ARG_ENABLE(macosx-sandbox,
don't use unless you are working on this.]),
,)
AC_ARG_WITH(macosx-bundle-identifier,
AS_HELP_STRING([--with-macosx-bundle-identifier=tld.mumble.orifice.TheOffice],
[Define the OS X bundle identifier. Default is the somewhat weird
org.libreoffice.script ("script", huh?).]),
,with_macosx_bundle_identifier=org.libreoffice.script)
AC_ARG_ENABLE(postgresql-sdbc,
AS_HELP_STRING([--disable-postgresql-sdbc],
[Disable the build of the PostgreSQL-SDBC driver.])
......@@ -2743,6 +2749,12 @@ if test "$_os" = "Darwin"; then
else
AC_MSG_RESULT([no])
fi
AC_MSG_CHECKING([what OS X app bundle identifier to use])
MACOSX_BUNDLE_IDENTIFIER=$with_macosx_bundle_identifier
AC_MSG_RESULT([$MACOSX_BUNDLE_IDENTIFIER])
fi
AC_SUBST(FRAMEWORKSHOME)
AC_SUBST(MACOSX_SDK_PATH)
......@@ -2753,6 +2765,7 @@ AC_SUBST(MAC_OS_X_VERSION_MAX_ALLOWED)
AC_SUBST(XCRUN)
AC_SUBST(MACOSX_CODESIGNING_IDENTITY)
AC_SUBST(ENABLE_MACOSX_SANDBOX)
AC_SUBST(MACOSX_BUNDLE_IDENTIFIER)
dnl ===================================================================
dnl Windows specific tests and stuff
......
......@@ -47,6 +47,7 @@ LibreOffice
PRODUCTVERSION @LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@
PRODUCTEXTENSION .@LIBO_VERSION_MICRO@.@LIBO_VERSION_PATCH@@LIBO_VERSION_SUFFIX@
POSTVERSIONEXTENSION
BUNDLEIDENTIFIER @MACOSX_BUNDLE_IDENTIFIER@
BRANDPACKAGEVERSION @LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@
USERDIRPRODUCTVERSION @LIBO_VERSION_MAJOR@
ABOUTBOXPRODUCTVERSION @LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@.@LIBO_VERSION_MICRO@.@LIBO_VERSION_PATCH@@LIBO_VERSION_SUFFIX@
......@@ -97,6 +98,7 @@ LibreOffice_Dev
PRODUCTEXTENSION .@LIBO_VERSION_MICRO@.@LIBO_VERSION_PATCH@@LIBO_VERSION_SUFFIX@
UNIXBASISROOTNAME lodev@LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@
POSTVERSIONEXTENSION
BUNDLEIDENTIFIER @MACOSX_BUNDLE_IDENTIFIER@
BRANDPACKAGEVERSION @LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@
USERDIRPRODUCTVERSION @LIBO_VERSION_MAJOR@
ABOUTBOXPRODUCTVERSION @LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@.@LIBO_VERSION_MICRO@.@LIBO_VERSION_PATCH@@LIBO_VERSION_SUFFIX@
......@@ -153,6 +155,7 @@ LibreOffice_SDK
PRODUCTVERSION @LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@
PRODUCTEXTENSION .@LIBO_VERSION_MICRO@.@LIBO_VERSION_PATCH@@LIBO_VERSION_SUFFIX@
POSTVERSIONEXTENSION SDK
BUNDLEIDENTIFIER @MACOSX_BUNDLE_IDENTIFIER@.SDK
BRANDPACKAGEVERSION @LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@
PACKAGEVERSION @LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@.@LIBO_VERSION_MICRO@.@LIBO_VERSION_PATCH@@LIBO_VERSION_SUFFIX@
PACKAGEREVISION {buildid}
......@@ -192,6 +195,7 @@ LibreOffice_Dev_SDK
PRODUCTEXTENSION .@LIBO_VERSION_MICRO@.@LIBO_VERSION_PATCH@@LIBO_VERSION_SUFFIX@
UNIXBASISROOTNAME lodev@LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@
POSTVERSIONEXTENSION SDK
BUNDLEIDENTIFIER @MACOSX_BUNDLE_IDENTIFIER@.SDK
BRANDPACKAGEVERSION @LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@
PACKAGEVERSION @LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@.@LIBO_VERSION_MICRO@.@LIBO_VERSION_PATCH@@LIBO_VERSION_SUFFIX@
PACKAGEREVISION {buildid}
......@@ -235,6 +239,7 @@ LibreOffice_Test
PRODUCTVERSION @LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@
PRODUCTEXTENSION .@LIBO_VERSION_MICRO@.@LIBO_VERSION_PATCH@@LIBO_VERSION_SUFFIX@
POSTVERSIONEXTENSION TEST
BUNDLEIDENTIFIER @MACOSX_BUNDLE_IDENTIFIER@.Test
BRANDPACKAGEVERSION @LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@
PACKAGEVERSION @LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@.@LIBO_VERSION_MICRO@.@LIBO_VERSION_PATCH@@LIBO_VERSION_SUFFIX@
PACKAGEREVISION {buildid}
......@@ -274,6 +279,7 @@ LibreOffice_Dev_Test
PRODUCTEXTENSION .@LIBO_VERSION_MICRO@.@LIBO_VERSION_PATCH@@LIBO_VERSION_SUFFIX@
UNIXBASISROOTNAME lodev@LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@
POSTVERSIONEXTENSION TEST
BUNDLEIDENTIFIER @MACOSX_BUNDLE_IDENTIFIER@.Test
BRANDPACKAGEVERSION @LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@
PACKAGEVERSION @LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@.@LIBO_VERSION_MICRO@.@LIBO_VERSION_PATCH@@LIBO_VERSION_SUFFIX@
PACKAGEREVISION {buildid}
......
......@@ -35,7 +35,7 @@
<key>CFBundleShortVersionString</key>
<string>9</string>
<key>CFBundleIdentifier</key>
<string>org.libreoffice.script</string>
<string>${BUNDLEIDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
......
......@@ -223,8 +223,7 @@ sub replace_variables_in_scriptfile
replace_one_variable_in_shellscript($scriptfile, $allvariables->{'PRODUCTNAME'}, "PRODUCTNAME" );
replace_one_variable_in_shellscript($scriptfile, $allvariables->{'PRODUCTVERSION'}, "PRODUCTVERSION" );
my $scriptname = lc($allvariables->{'PRODUCTNAME'}) . "\.script";
if ( $allvariables->{'PRODUCTNAME'} eq "LibreOffice" ) { $scriptname = "org.libreoffice.script"; }
my $scriptname = $allvariables->{'BUNDLEIDENTIFIER'};
replace_one_variable_in_shellscript($scriptfile, $scriptname, "SEARCHSCRIPTNAME" );
}
......
......@@ -1407,7 +1407,7 @@
<key>CFBundleShortVersionString</key>
<string>${ABOUTBOXPRODUCTVERSION}</string>
<key>CFBundleIdentifier</key>
<string>org.libreoffice.script</string>
<string>${BUNDLEIDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment