@@ -276,6 +276,9 @@ TARNAME=node-$(FULLVERSION)
276276TARBALL =$(TARNAME ) .tar
277277BINARYNAME =$(TARNAME ) -$(OSTYPE ) -$(ARCH )
278278BINARYTAR =$(BINARYNAME ) .tar
279+ # OSX doesn't have xz installed by default, http://macpkg.sourceforge.net/
280+ XZ =$(shell which xz > /dev/null 2>&1; echo $$? )
281+ XZ_COMPRESSION ?= 9
279282PKG =$(TARNAME ) .pkg
280283PACKAGEMAKER ?= /Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
281284PKGDIR =out/dist-osx
@@ -349,7 +352,11 @@ $(TARBALL): release-only node doc
349352 find $(TARNAME ) / -type l | xargs rm # annoying on windows
350353 tar -cf $(TARNAME ) .tar $(TARNAME )
351354 rm -rf $(TARNAME )
352- gzip -f -9 $(TARNAME ) .tar
355+ gzip -c -f -9 $(TARNAME ) .tar > $(TARNAME ) .tar.gz
356+ ifeq ($(XZ ) , 0)
357+ xz -c -f -$(XZ_COMPRESSION) $(TARNAME).tar > $(TARNAME).tar.xz
358+ endif
359+ rm $(TARNAME).tar
353360
354361tar : $(TARBALL )
355362
@@ -358,6 +365,11 @@ tar-upload: tar
358365 chmod 664 node-$(FULLVERSION ) .tar.gz
359366 scp -p node-$(FULLVERSION ) .tar.gz $(STAGINGSERVER ) :nodejs/$(DISTTYPEDIR ) /$(FULLVERSION ) /node-$(FULLVERSION ) .tar.gz
360367 ssh $(STAGINGSERVER ) " touch nodejs/$( DISTTYPEDIR) /$( FULLVERSION) /node-$( FULLVERSION) .tar.gz.done"
368+ ifeq ($(XZ ) , 0)
369+ chmod 664 node-$(FULLVERSION).tar.xz
370+ scp -p node-$(FULLVERSION).tar.xz $(STAGINGSERVER):nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/node-$(FULLVERSION).tar.xz
371+ ssh $(STAGINGSERVER) "touch nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/node-$(FULLVERSION).tar.xz.done"
372+ endif
361373
362374doc-upload : tar
363375 ssh $(STAGINGSERVER ) " mkdir -p nodejs/$( DISTTYPEDIR) /$( FULLVERSION) "
@@ -376,6 +388,9 @@ $(TARBALL)-headers: config.gypi release-only
376388 tar -cf $(TARNAME ) -headers.tar $(TARNAME )
377389 rm -rf $(TARNAME )
378390 gzip -c -f -9 $(TARNAME ) -headers.tar > $(TARNAME ) -headers.tar.gz
391+ ifeq ($(XZ ) , 0)
392+ xz -c -f -$(XZ_COMPRESSION) $(TARNAME)-headers.tar > $(TARNAME)-headers.tar.xz
393+ endif
379394 rm $(TARNAME)-headers.tar
380395
381396tar-headers : $(TARBALL ) -headers
@@ -385,6 +400,11 @@ tar-headers-upload: tar-headers
385400 chmod 664 $(TARNAME ) -headers.tar.gz
386401 scp -p $(TARNAME ) -headers.tar.gz $(STAGINGSERVER ) :nodejs/$(DISTTYPEDIR ) /$(FULLVERSION ) /$(TARNAME ) -headers.tar.gz
387402 ssh $(STAGINGSERVER ) " touch nodejs/$( DISTTYPEDIR) /$( FULLVERSION) /$( TARNAME) -headers.tar.gz.done"
403+ ifeq ($(XZ ) , 0)
404+ chmod 664 $(TARNAME)-headers.tar.xz
405+ scp -p $(TARNAME)-headers.tar.xz $(STAGINGSERVER):nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-headers.tar.xz
406+ ssh $(STAGINGSERVER) "touch nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-headers.tar.xz.done"
407+ endif
388408
389409$(BINARYTAR ) : release-only
390410 rm -rf $(BINARYNAME )
@@ -396,7 +416,11 @@ $(BINARYTAR): release-only
396416 cp ChangeLog $(BINARYNAME )
397417 tar -cf $(BINARYNAME ) .tar $(BINARYNAME )
398418 rm -rf $(BINARYNAME )
399- gzip -f -9 $(BINARYNAME ) .tar
419+ gzip -c -f -9 $(BINARYNAME ) .tar > $(BINARYNAME ) .tar.gz
420+ ifeq ($(XZ ) , 0)
421+ xz -c -f -$(XZ_COMPRESSION) $(BINARYNAME).tar > $(BINARYNAME).tar.xz
422+ endif
423+ rm $(BINARYNAME).tar
400424
401425binary : $(BINARYTAR )
402426
@@ -405,6 +429,11 @@ binary-upload-arch: binary
405429 chmod 664 node-$(FULLVERSION ) -$(OSTYPE ) -$(ARCH ) .tar.gz
406430 scp -p node-$(FULLVERSION ) -$(OSTYPE ) -$(ARCH ) .tar.gz $(STAGINGSERVER ) :nodejs/$(DISTTYPEDIR ) /$(FULLVERSION ) /node-$(FULLVERSION ) -$(OSTYPE ) -$(ARCH ) .tar.gz
407431 ssh $(STAGINGSERVER ) " touch nodejs/$( DISTTYPEDIR) /$( FULLVERSION) /node-$( FULLVERSION) -$( OSTYPE) -$( ARCH) .tar.gz.done"
432+ ifeq ($(XZ ) , 0)
433+ chmod 664 node-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.xz
434+ scp -p node-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.xz $(STAGINGSERVER):nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/node-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.xz
435+ ssh $(STAGINGSERVER) "touch nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/node-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.xz.done"
436+ endif
408437
409438ifeq ($(OSTYPE ) ,darwin)
410439binary-upload :
0 commit comments