Browse Source

OSX .pkg files must be signed with productsign and an installer cert.

Adam Ierymenko 10 years ago
parent
commit
3512402558
1 changed files with 10 additions and 5 deletions
  1. 10 5
      make-mac.mk

+ 10 - 5
make-mac.mk

@@ -11,13 +11,17 @@ OBJS+=osdep/OSXEthernetTap.o
 
 
 # Disable codesign since open source users will not have ZeroTier's certs
 # Disable codesign since open source users will not have ZeroTier's certs
 CODESIGN=echo
 CODESIGN=echo
-CODESIGN_CERT=
+PRODUCTSIGN=echo
+CODESIGN_APP_CERT=
+CODESIGN_INSTALLER_CERT=
 
 
 # For internal use only -- signs everything with ZeroTier's developer cert
 # For internal use only -- signs everything with ZeroTier's developer cert
 ifeq ($(ZT_OFFICIAL_RELEASE),1)
 ifeq ($(ZT_OFFICIAL_RELEASE),1)
 	DEFS+=-DZT_OFFICIAL_RELEASE -DZT_AUTO_UPDATE 
 	DEFS+=-DZT_OFFICIAL_RELEASE -DZT_AUTO_UPDATE 
 	CODESIGN=codesign
 	CODESIGN=codesign
-	CODESIGN_CERT="Developer ID Application: ZeroTier Networks LLC (8ZD9JUCZ4V)"
+	PRODUCTSIGN=productsign
+	CODESIGN_APP_CERT="Developer ID Application: ZeroTier Networks LLC (8ZD9JUCZ4V)"
+	CODESIGN_INSTALLER_CERT="Developer ID Installer: ZeroTier Networks LLC (8ZD9JUCZ4V)"
 endif
 endif
 
 
 ifeq ($(ZT_AUTO_UPDATE),1)
 ifeq ($(ZT_AUTO_UPDATE),1)
@@ -53,7 +57,7 @@ one:	$(OBJS) one.o
 	$(STRIP) zerotier-one
 	$(STRIP) zerotier-one
 	ln -sf zerotier-one zerotier-idtool
 	ln -sf zerotier-one zerotier-idtool
 	ln -sf zerotier-one zerotier-cli
 	ln -sf zerotier-one zerotier-cli
-	$(CODESIGN) -f -s $(CODESIGN_CERT) zerotier-one
+	$(CODESIGN) -f -s $(CODESIGN_APP_CERT) zerotier-one
 	$(CODESIGN) -vvv zerotier-one
 	$(CODESIGN) -vvv zerotier-one
 
 
 selftest: $(OBJS) selftest.o
 selftest: $(OBJS) selftest.o
@@ -63,8 +67,9 @@ selftest: $(OBJS) selftest.o
 # Requires Packages: http://s.sudre.free.fr/Software/Packages/about.html
 # Requires Packages: http://s.sudre.free.fr/Software/Packages/about.html
 mac-dist-pkg: FORCE
 mac-dist-pkg: FORCE
 	packagesbuild "ext/installfiles/mac/ZeroTier One.pkgproj"
 	packagesbuild "ext/installfiles/mac/ZeroTier One.pkgproj"
-	$(CODESIGN) -f -s $(CODESIGN_CERT) "ZeroTier One.pkg"
-	$(CODESIGN) -vvv "ZeroTier One.pkg"
+	rm -f "ZeroTier One Signed.pkg"
+	$(PRODUCTSIGN) --sign $(CODESIGN_INSTALLER_CERT) "ZeroTier One.pkg" "ZeroTier One Signed.pkg"
+	if [ -f "ZeroTier One Signed.pkg" ]; then mv -f "ZeroTier One Signed.pkg" "ZeroTier One.pkg"; fi
 
 
 # For internal use only
 # For internal use only
 official: FORCE
 official: FORCE