[Libreoffice-commits] core.git: Branch 'libreoffice-4-3' - 2 commits - config_host.mk.in configure.ac Makefile.in solenv/bin

Tor Lillqvist tml at collabora.com
Tue Jun 10 04:20:43 PDT 2014


 Makefile.in          |   11 ++++++++++-
 config_host.mk.in    |    1 +
 configure.ac         |   38 +++++++++++++++++++++++++++++++++++++-
 solenv/bin/ooinstall |    2 +-
 4 files changed, 49 insertions(+), 3 deletions(-)

New commits:
commit 172bfad385f914a94ce22b4ba71ce23d8839aa16
Author: Tor Lillqvist <tml at collabora.com>
Date:   Tue Jun 10 12:34:10 2014 +0300

    Make test-install work also in the non-release-build case
    
    In the (default) --disable-release-build case the -p option to
    make_installer.pl should be "LibreOffice_Dev", not "LibreOffice". See
    instsetoo_native/util/openoffice.lst.in.
    
    Also, the pathname passed to solenv/bin/macosx-codesign-app-bundle
    needs to adapt to ENABLE_RELEASE_BUILD, either LibreOffice.app or
    LibreOfficeDev.app.
    
    Change-Id: If2b8efee096339f9c0cf52e663826d0086b1e35e

diff --git a/Makefile.in b/Makefile.in
index f3142be..09b9465 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -294,7 +294,7 @@ ifeq ($(OS_FOR_BUILD),WNT)
 else
 	@ooinstall $(TESTINSTALLDIR)
 ifneq ($(MACOSX_CODESIGNING_IDENTITY),)
-	@macosx-codesign-app-bundle $(TESTINSTALLDIR)/LibreOffice.app
+	@macosx-codesign-app-bundle $(TESTINSTALLDIR)/LibreOffice$(if $(ENABLE_RELASE_BUILD),,Dev).app
 endif
 endif
 	@$(call gb_Top_InstallFinished,Test Installation,$(TESTINSTALLDIR))
diff --git a/solenv/bin/ooinstall b/solenv/bin/ooinstall
index 70763c9..cf4d3db 100755
--- a/solenv/bin/ooinstall
+++ b/solenv/bin/ooinstall
@@ -98,7 +98,7 @@ system ("cd $ENV{SRC_ROOT}/instsetoo_native/util ; " .
         "perl " .
         (scalar keys(%DB::sub) ? "-d " : "") .
         "-w $ENV{SRCDIR}/solenv/bin/make_installer.pl " .
-        "-f $ENV{BUILDDIR}/instsetoo_native/util/openoffice.lst -l $langs -p LibreOffice " .
+        "-f $ENV{BUILDDIR}/instsetoo_native/util/openoffice.lst -l $langs -p LibreOffice" . ($ENV{ENABLE_RELEASE_BUILD} ? "" : "_Dev") . " " .
         "-u $tmp_dir " .
         "-buildid $BUILD $destdir $strip $msi " .
         "-simple $path") && die "Failed to install: $!";
commit e8f47c367a6ab9009bc758c9e0f3a14fdd473c1c
Author: Tor Lillqvist <tml at collabora.com>
Date:   Fri Jun 6 18:51:48 2014 +0300

    Add --enable-macosx-package-signing
    
    Change-Id: I355158f6cb584d252a21dfbce6e7cea6c70bba99

diff --git a/Makefile.in b/Makefile.in
index f63dbe0..f3142be 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -299,6 +299,15 @@ endif
 endif
 	@$(call gb_Top_InstallFinished,Test Installation,$(TESTINSTALLDIR))
 
+mac-app-store-package: test-install
+ifneq ($(MACOSX_PACKAGE_SIGNING_IDENTITY),)
+	mv "$(TESTINSTALLDIR)/$(PRODUCTNAME).app" "$(MACOSX_APP_NAME).app"
+	productbuild --component "$(MACOSX_APP_NAME).app" /Applications --sign $(MACOSX_PACKAGE_SIGNING_IDENTITY) $(shell echo "$(MACOSX_APP_NAME)" | tr ' ' '-').pkg
+else
+	@echo You did not provide an installer signing identity with --enable-macosx-package-signing
+	@exit 1
+endif
+
 distro-pack-install: install
 	$(SRCDIR)/bin/distro-install-clean-up
 	$(SRCDIR)/bin/distro-install-desktop-integration
diff --git a/config_host.mk.in b/config_host.mk.in
index 1bc0da0..b7e5b6c 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -362,6 +362,7 @@ export MACOSX_BUNDLE_IDENTIFIER=@MACOSX_BUNDLE_IDENTIFIER@
 export MACOSX_APP_NAME=@MACOSX_APP_NAME@
 export MACOSX_CODESIGNING_IDENTITY=@MACOSX_CODESIGNING_IDENTITY@
 export MACOSX_DEPLOYMENT_TARGET=@MACOSX_DEPLOYMENT_TARGET@
+export MACOSX_PACKAGE_SIGNING_IDENTITY=@MACOSX_PACKAGE_SIGNING_IDENTITY@
 export MACOSX_SDK_PATH=@MACOSX_SDK_PATH@
 export MACOSX_SDK_VERSION=@MACOSX_SDK_VERSION@
 export MAC_OS_X_VERSION_MAX_ALLOWED=@MAC_OS_X_VERSION_MAX_ALLOWED@
diff --git a/configure.ac b/configure.ac
index 785fc52..7d27e92 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1280,12 +1280,19 @@ AC_ARG_ENABLE(macosx-retina,
 ,)
 
 AC_ARG_ENABLE(macosx-code-signing,
-    AS_HELP_STRING([--enable-macosx-code-signing<=identity>],
+    AS_HELP_STRING([--enable-macosx-code-signing=<identity>],
         [Sign executables, dylibs, frameworks and the app bundle. If you
          don't provide an identity the first suitable certificate
          in your keychain is used.]),
 ,)
 
+AC_ARG_ENABLE(macosx-package-signing,
+    AS_HELP_STRING([--enable-macosx-package-signing=<identity>],
+        [Create a .pkg suitable for uploading to the Mac App Store and sign
+         it. If you don't provide an identity the first suitable certificate
+         in your keychain is used.]),
+,)
+
 AC_ARG_ENABLE(macosx-sandbox,
     AS_HELP_STRING([--enable-macosx-sandbox],
         [Make the app bundle run in a sandbox. Requires code signing.
@@ -3004,6 +3011,34 @@ if test $_os = Darwin; then
         AC_MSG_RESULT([no])
     fi
 
+    AC_MSG_CHECKING([whether to create a Mac App Store package])
+
+    if test -n "$enable_macosx_package_signing" -a -z "$MACOSX_CODESIGNING_IDENTITY"; then
+        AC_MSG_ERROR([You forgot --enable-macosx-code-signing])
+    elif test "$enable_macosx_package_signing" = yes; then
+        # By default use the first suitable certificate.
+        # It should be a "3rd Party Mac Developer Installer" one
+
+        identity=`security find-identity -v 2>/dev/null | grep '3rd Party Mac Developer Installer:' | awk '{print $2}' |head -1`
+        if test -n "$identity"; then
+            MACOSX_PACKAGE_SIGNING_IDENTITY=$identity
+            pretty_name=`security find-identity -v | grep "$MACOSX_PACKAGE_SIGNING_IDENTITY" | sed -e 's/^[[^"]]*"//' -e 's/"//'`
+            AC_MSG_RESULT([yes, using the identity $MACOSX_PACKAGE_SIGNING_IDENTITY for $pretty_name])
+        else
+            AC_MSG_ERROR([Could not find any suitable '3rd Party Mac Developer Installer' certificate])
+        fi
+    elif test -n "$enable_macosx_package_signing"; then
+        MACOSX_PACKAGE_SIGNING_IDENTITY=$enable_macosx_package_signing
+        pretty_name=`security find-identity -v | grep "$MACOSX_PACKAGE_SIGNING_IDENTITY" | sed -e 's/^[[^"]]*"//' -e 's/"//'`
+        AC_MSG_RESULT([yes, using the identity $MACOSX_PACKAGE_SIGNING_IDENTITY for $pretty_name])
+    else
+        AC_MSG_RESULT([no])
+    fi
+
+    if test -n "$MACOSX_CODESIGNING_IDENTITY" -a -n "$MACOSX_PACKAGE_SIGNING_IDENTITY" -a "$MACOSX_CODESIGNING_IDENTITY" = "$MACOSX_PACKAGE_SIGNING_IDENTITY"; then
+        AC_MSG_ERROR([You should not use the same identity for code and package signing])
+    fi
+
     AC_MSG_CHECKING([whether to sandbox the application])
 
     if test -z "$MACOSX_CODESIGNING_IDENTITY" -a "$enable_macosx_sandbox" = yes; then
@@ -3042,6 +3077,7 @@ AC_SUBST(MAC_OS_X_VERSION_MAX_ALLOWED)
 AC_SUBST(INSTALL_NAME_TOOL)
 AC_SUBST(LIBTOOL) # Note that the OS X libtool command is unrelated to GNU libtool
 AC_SUBST(MACOSX_CODESIGNING_IDENTITY)
+AC_SUBST(MACOSX_PACKAGE_SIGNING_IDENTITY)
 AC_SUBST(ENABLE_MACOSX_SANDBOX)
 AC_SUBST(MACOSX_BUNDLE_IDENTIFIER)
 AC_SUBST(MACOSX_APP_NAME)


More information about the Libreoffice-commits mailing list