@@ -673,8 +673,7 @@ BINARYTAR=$(BINARYNAME).tar
673
673
XZ =$(shell which xz > /dev/null 2>&1; echo $$? )
674
674
XZ_COMPRESSION ?= 9e
675
675
PKG =$(TARNAME ) .pkg
676
- PACKAGEMAKER ?= /Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
677
- PKGDIR =out/dist-osx
676
+ MACOSOUTDIR =out/macos
678
677
679
678
release-only :
680
679
@if [ " $( DISTTYPE) " != " nightly" ] && [ " $( DISTTYPE) " != " next-nightly" ] && \
@@ -709,24 +708,54 @@ release-only:
709
708
fi
710
709
711
710
$(PKG ) : release-only
712
- $(RM ) -r $(PKGDIR )
713
- $(RM ) -r out/deps out/Release
711
+ $(RM ) -r $(MACOSOUTDIR )
712
+ mkdir -p $(MACOSOUTDIR ) /installer/productbuild
713
+ cat tools/macos-installer/productbuild/distribution.xml.tmpl \
714
+ | sed -E " s/\\ {nodeversion\\ }/$( FULLVERSION) /g" \
715
+ | sed -E " s/\\ {npmversion\\ }/$( NPMVERSION) /g" \
716
+ > $(MACOSOUTDIR ) /installer/productbuild/distribution.xml ; \
717
+
718
+ @for dirname in tools/macos-installer/productbuild/Resources/*/; do \
719
+ lang=$$(basename $$dirname) ; \
720
+ mkdir -p $(MACOSOUTDIR)/installer/productbuild/Resources/$$lang ; \
721
+ printf "Found localization directory $$dirname\n" ; \
722
+ cat $$dirname/welcome.html.tmpl \
723
+ | sed -E "s/\\{nodeversion\\}/$(FULLVERSION)/g" \
724
+ | sed -E "s/\\{npmversion\\}/$(NPMVERSION)/g" \
725
+ >$(MACOSOUTDIR)/installer/productbuild/Resources/$$lang/welcome.html ; \
726
+ cat $$dirname/conclusion.html.tmpl \
727
+ | sed -E "s/\\{nodeversion\\}/$(FULLVERSION)/g" \
728
+ | sed -E "s/\\{npmversion\\}/$(NPMVERSION)/g" \
729
+ >$(MACOSOUTDIR)/installer/productbuild/Resources/$$lang/conclusion.html ; \
730
+ done
714
731
$(PYTHON) ./configure \
715
732
--dest-cpu=x64 \
716
733
--tag=$(TAG) \
717
734
--release-urlbase=$(RELEASE_URLBASE) \
718
735
$(CONFIG_FLAGS) $(BUILD_RELEASE_FLAGS)
719
- $(MAKE ) install V=$(V ) DESTDIR=$(PKGDIR )
720
- SIGN=" $( CODESIGN_CERT) " PKGDIR=" $( PKGDIR ) /usr/local" bash \
736
+ $(MAKE) install V=$(V) DESTDIR=$(MACOSOUTDIR)/dist/node
737
+ SIGN="$(CODESIGN_CERT)" PKGDIR="$(MACOSOUTDIR)/dist/node /usr/local" bash \
721
738
tools/osx-codesign.sh
722
- cat tools/osx-pkg.pmdoc/index.xml.tmpl \
723
- | sed -E " s/\\ {nodeversion\\ }/$( FULLVERSION) /g" \
724
- | sed -E " s/\\ {npmversion\\ }/$( NPMVERSION) /g" \
725
- > tools/osx-pkg.pmdoc/index.xml
726
- $(PACKAGEMAKER ) \
727
- --id " org.nodejs.pkg" \
728
- --doc tools/osx-pkg.pmdoc \
729
- --out $(PKG )
739
+ mkdir -p $(MACOSOUTDIR)/dist/npm/usr/local/lib/node_modules
740
+ mkdir -p $(MACOSOUTDIR)/pkgs
741
+ mv $(MACOSOUTDIR)/dist/node/usr/local/lib/node_modules/npm \
742
+ $(MACOSOUTDIR)/dist/npm/usr/local/lib/node_modules
743
+ unlink $(MACOSOUTDIR)/dist/node/usr/local/bin/npm
744
+ unlink $(MACOSOUTDIR)/dist/node/usr/local/bin/npx
745
+ $(NODE) tools/license2rtf.js < LICENSE > \
746
+ $(MACOSOUTDIR)/installer/productbuild/Resources/license.rtf
747
+ cp doc/osx_installer_logo.png $(MACOSOUTDIR)/installer/productbuild/Resources
748
+ pkgbuild --version $(FULLVERSION) \
749
+ --identifier org.nodejs.node.pkg \
750
+ --root $(MACOSOUTDIR)/dist/node $(MACOSOUTDIR)/pkgs/node-$(FULLVERSION).pkg
751
+ pkgbuild --version $(NPMVERSION) \
752
+ --identifier org.nodejs.npm.pkg \
753
+ --root $(MACOSOUTDIR)/dist/npm \
754
+ --scripts ./tools/macos-installer/pkgbuild/npm/scripts \
755
+ $(MACOSOUTDIR)/pkgs/npm-$(NPMVERSION).pkg
756
+ productbuild --distribution $(MACOSOUTDIR)/installer/productbuild/distribution.xml \
757
+ --resources $(MACOSOUTDIR)/installer/productbuild/Resources \
758
+ --package-path $(MACOSOUTDIR)/pkgs ./$(PKG)
730
759
SIGN="$(PRODUCTSIGN_CERT)" PKG="$(PKG)" bash tools/osx-productsign.sh
731
760
732
761
pkg : $(PKG )
0 commit comments