summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorisaacs <i@izs.me>2012-08-02 13:35:41 -0700
committerisaacs <i@izs.me>2012-08-02 13:56:50 -0700
commit2dd710e7ea5163af3573d7d53c64858aaa88cf58 (patch)
treed358226f026edad2f047ab36ae2cf62564fb5a13
parent37537d5720a563cb63929a0f4014491467767874 (diff)
downloadandroid-node-v8-2dd710e7ea5163af3573d7d53c64858aaa88cf58.tar.gz
android-node-v8-2dd710e7ea5163af3573d7d53c64858aaa88cf58.tar.bz2
android-node-v8-2dd710e7ea5163af3573d7d53c64858aaa88cf58.zip
build: Sign pkg installer for OS X
This makes the installer work on Mountain Lion.
-rw-r--r--Makefile5
-rw-r--r--tools/osx-codesign.sh12
-rw-r--r--tools/osx-productsign.sh12
3 files changed, 28 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 15546d06d5..19dfa82c96 100644
--- a/Makefile
+++ b/Makefile
@@ -3,6 +3,7 @@
BUILDTYPE ?= Release
PYTHON ?= python
DESTDIR ?=
+SIGN ?=
# Default to verbose builds.
# To do quiet/pretty builds, run `make V=` to set V to an empty string,
@@ -210,6 +211,7 @@ $(PKG):
rm -rf out/deps out/Release
./configure --prefix=$(PKGDIR)/usr/local --without-snapshot --dest-cpu=x64
$(MAKE) install V=$(V)
+ SIGN="$(SIGN)" PKGDIR="$(PKGDIR)" bash tools/osx-codesign.sh
lipo $(PKGDIR)/32/usr/local/bin/node \
$(PKGDIR)/usr/local/bin/node \
-output $(PKGDIR)/usr/local/bin/node-universal \
@@ -217,9 +219,10 @@ $(PKG):
mv $(PKGDIR)/usr/local/bin/node-universal $(PKGDIR)/usr/local/bin/node
rm -rf $(PKGDIR)/32
$(packagemaker) \
- --id "org.nodejs.NodeJS-$(VERSION)" \
+ --id "org.nodejs.Node" \
--doc tools/osx-pkg.pmdoc \
--out $(PKG)
+ SIGN="$(SIGN)" PKG="$(PKG)" bash tools/osx-productsign.sh
$(TARBALL): node doc
@if [ "$(shell git status --porcelain | egrep -v '^\?\? ')" = "" ]; then \
diff --git a/tools/osx-codesign.sh b/tools/osx-codesign.sh
new file mode 100644
index 0000000000..65a8d48b8a
--- /dev/null
+++ b/tools/osx-codesign.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+set -x
+set -e
+
+if ! [ -n "$SIGN" ] && [ $STEP -eq 1 ]; then
+ echo "No SIGN environment var. Skipping codesign." >&2
+ exit 0
+fi
+
+codesign -s "$SIGN" "$PKGDIR"/usr/local/bin/node
+codesign -s "$SIGN" "$PKGDIR"/32/usr/local/bin/node
diff --git a/tools/osx-productsign.sh b/tools/osx-productsign.sh
new file mode 100644
index 0000000000..4834c9bbb8
--- /dev/null
+++ b/tools/osx-productsign.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+set -x
+set -e
+
+if ! [ -n "$SIGN" ]; then
+ echo "No SIGN environment var. Skipping codesign." >&2
+ exit 0
+fi
+
+productsign --sign "$SIGN" "$PKG" "$PKG"-SIGNED
+mv "$PKG"-SIGNED "$PKG"