Skip to content

Commit 920cab7

Browse files
rvaggBethGriggs
authored andcommitted
build: make tar.xz creation opt-out, fail if no xz
PR-URL: #24551 Reviewed-By: Refael Ackermann <[email protected]> Reviewed-By: Richard Lau <[email protected]>
1 parent 0a3c885 commit 920cab7

File tree

1 file changed

+24
-8
lines changed

1 file changed

+24
-8
lines changed

Makefile

+24-8
Original file line numberDiff line numberDiff line change
@@ -806,13 +806,29 @@ BINARYNAME=$(TARNAME)-$(PLATFORM)-$(ARCH)
806806
endif
807807
BINARYTAR=$(BINARYNAME).tar
808808
# OSX doesn't have xz installed by default, http://macpkg.sourceforge.net/
809-
XZ=$(shell which xz > /dev/null 2>&1; echo $$?)
809+
HAS_XZ ?= $(shell which xz > /dev/null 2>&1; [[ $$? = 0 ]] && echo 1 || echo 0)
810+
# Supply SKIP_XZ=1 to explicitly skip .tar.xz creation
811+
SKIP_XZ ?= 0
812+
XZ = $(shell [[ $(HAS_XZ) = 1 && $(SKIP_XZ) = 0 ]] && echo 1 || echo 0)
810813
XZ_COMPRESSION ?= 9e
811814
PKG=$(TARNAME).pkg
812815
MACOSOUTDIR=out/macos
813816

817+
ifeq ($(SKIP_XZ), 1)
818+
check-xz:
819+
@echo "SKIP_XZ=1 supplied, skipping .tar.xz creation"
820+
else
821+
ifeq ($(HAS_XZ), 1)
822+
check-xz:
823+
else
824+
check-xz:
825+
@echo "No xz command, cannot continue"
826+
@exit 1
827+
endif
828+
endif
829+
814830
.PHONY: release-only
815-
release-only:
831+
release-only: check-xz
816832
@if [ "$(DISTTYPE)" = "release" ] && `grep -q REPLACEME doc/api/*.md`; then \
817833
echo 'Please update REPLACEME in Added: tags in doc/api/*.md (See doc/releases.md)' ; \
818834
exit 1 ; \
@@ -938,7 +954,7 @@ $(TARBALL): release-only $(NODE_EXE) doc
938954
tar -cf $(TARNAME).tar $(TARNAME)
939955
$(RM) -r $(TARNAME)
940956
gzip -c -f -9 $(TARNAME).tar > $(TARNAME).tar.gz
941-
ifeq ($(XZ), 0)
957+
ifeq ($(XZ), 1)
942958
xz -c -f -$(XZ_COMPRESSION) $(TARNAME).tar > $(TARNAME).tar.xz
943959
endif
944960
$(RM) $(TARNAME).tar
@@ -952,7 +968,7 @@ tar-upload: tar
952968
chmod 664 $(TARNAME).tar.gz
953969
scp -p $(TARNAME).tar.gz $(STAGINGSERVER):nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME).tar.gz
954970
ssh $(STAGINGSERVER) "touch nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME).tar.gz.done"
955-
ifeq ($(XZ), 0)
971+
ifeq ($(XZ), 1)
956972
chmod 664 $(TARNAME).tar.xz
957973
scp -p $(TARNAME).tar.xz $(STAGINGSERVER):nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME).tar.xz
958974
ssh $(STAGINGSERVER) "touch nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME).tar.xz.done"
@@ -978,7 +994,7 @@ $(TARBALL)-headers: release-only
978994
tar -cf $(TARNAME)-headers.tar $(TARNAME)
979995
$(RM) -r $(TARNAME)
980996
gzip -c -f -9 $(TARNAME)-headers.tar > $(TARNAME)-headers.tar.gz
981-
ifeq ($(XZ), 0)
997+
ifeq ($(XZ), 1)
982998
xz -c -f -$(XZ_COMPRESSION) $(TARNAME)-headers.tar > $(TARNAME)-headers.tar.xz
983999
endif
9841000
$(RM) $(TARNAME)-headers.tar
@@ -990,7 +1006,7 @@ tar-headers-upload: tar-headers
9901006
chmod 664 $(TARNAME)-headers.tar.gz
9911007
scp -p $(TARNAME)-headers.tar.gz $(STAGINGSERVER):nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-headers.tar.gz
9921008
ssh $(STAGINGSERVER) "touch nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-headers.tar.gz.done"
993-
ifeq ($(XZ), 0)
1009+
ifeq ($(XZ), 1)
9941010
chmod 664 $(TARNAME)-headers.tar.xz
9951011
scp -p $(TARNAME)-headers.tar.xz $(STAGINGSERVER):nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-headers.tar.xz
9961012
ssh $(STAGINGSERVER) "touch nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-headers.tar.xz.done"
@@ -1015,7 +1031,7 @@ endif
10151031
tar -cf $(BINARYNAME).tar $(BINARYNAME)
10161032
$(RM) -r $(BINARYNAME)
10171033
gzip -c -f -9 $(BINARYNAME).tar > $(BINARYNAME).tar.gz
1018-
ifeq ($(XZ), 0)
1034+
ifeq ($(XZ), 1)
10191035
xz -c -f -$(XZ_COMPRESSION) $(BINARYNAME).tar > $(BINARYNAME).tar.xz
10201036
endif
10211037
$(RM) $(BINARYNAME).tar
@@ -1030,7 +1046,7 @@ binary-upload: binary
10301046
chmod 664 $(TARNAME)-$(OSTYPE)-$(ARCH).tar.gz
10311047
scp -p $(TARNAME)-$(OSTYPE)-$(ARCH).tar.gz $(STAGINGSERVER):nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-$(OSTYPE)-$(ARCH).tar.gz
10321048
ssh $(STAGINGSERVER) "touch nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-$(OSTYPE)-$(ARCH).tar.gz.done"
1033-
ifeq ($(XZ), 0)
1049+
ifeq ($(XZ), 1)
10341050
chmod 664 $(TARNAME)-$(OSTYPE)-$(ARCH).tar.xz
10351051
scp -p $(TARNAME)-$(OSTYPE)-$(ARCH).tar.xz $(STAGINGSERVER):nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-$(OSTYPE)-$(ARCH).tar.xz
10361052
ssh $(STAGINGSERVER) "touch nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-$(OSTYPE)-$(ARCH).tar.xz.done"

0 commit comments

Comments
 (0)