Skip to content

Commit 3a24c91

Browse files
rvaggBridgeAR
authored andcommitted
build: make tar.xz creation opt-out, fail if no xz
PR-URL: #24551 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
1 parent c227b1b commit 3a24c91

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
@@ -851,13 +851,29 @@ BINARYNAME=$(TARNAME)-$(PLATFORM)-$(ARCH)
851851
endif
852852
BINARYTAR=$(BINARYNAME).tar
853853
# OSX doesn't have xz installed by default, http://macpkg.sourceforge.net/
854-
XZ=$(shell which xz > /dev/null 2>&1; echo $$?)
854+
HAS_XZ ?= $(shell which xz > /dev/null 2>&1; [[ $$? = 0 ]] && echo 1 || echo 0)
855+
# Supply SKIP_XZ=1 to explicitly skip .tar.xz creation
856+
SKIP_XZ ?= 0
857+
XZ = $(shell [[ $(HAS_XZ) = 1 && $(SKIP_XZ) = 0 ]] && echo 1 || echo 0)
855858
XZ_COMPRESSION ?= 9e
856859
PKG=$(TARNAME).pkg
857860
MACOSOUTDIR=out/macos
858861

862+
ifeq ($(SKIP_XZ), 1)
863+
check-xz:
864+
@echo "SKIP_XZ=1 supplied, skipping .tar.xz creation"
865+
else
866+
ifeq ($(HAS_XZ), 1)
867+
check-xz:
868+
else
869+
check-xz:
870+
@echo "No xz command, cannot continue"
871+
@exit 1
872+
endif
873+
endif
874+
859875
.PHONY: release-only
860-
release-only:
876+
release-only: check-xz
861877
@if [ "$(DISTTYPE)" = "release" ] && `grep -q REPLACEME doc/api/*.md`; then \
862878
echo 'Please update REPLACEME in Added: tags in doc/api/*.md (See doc/releases.md)' ; \
863879
exit 1 ; \
@@ -983,7 +999,7 @@ $(TARBALL): release-only $(NODE_EXE) doc
983999
tar -cf $(TARNAME).tar $(TARNAME)
9841000
$(RM) -r $(TARNAME)
9851001
gzip -c -f -9 $(TARNAME).tar > $(TARNAME).tar.gz
986-
ifeq ($(XZ), 0)
1002+
ifeq ($(XZ), 1)
9871003
xz -c -f -$(XZ_COMPRESSION) $(TARNAME).tar > $(TARNAME).tar.xz
9881004
endif
9891005
$(RM) $(TARNAME).tar
@@ -997,7 +1013,7 @@ tar-upload: tar
9971013
chmod 664 $(TARNAME).tar.gz
9981014
scp -p $(TARNAME).tar.gz $(STAGINGSERVER):nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME).tar.gz
9991015
ssh $(STAGINGSERVER) "touch nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME).tar.gz.done"
1000-
ifeq ($(XZ), 0)
1016+
ifeq ($(XZ), 1)
10011017
chmod 664 $(TARNAME).tar.xz
10021018
scp -p $(TARNAME).tar.xz $(STAGINGSERVER):nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME).tar.xz
10031019
ssh $(STAGINGSERVER) "touch nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME).tar.xz.done"
@@ -1023,7 +1039,7 @@ $(TARBALL)-headers: release-only
10231039
tar -cf $(TARNAME)-headers.tar $(TARNAME)
10241040
$(RM) -r $(TARNAME)
10251041
gzip -c -f -9 $(TARNAME)-headers.tar > $(TARNAME)-headers.tar.gz
1026-
ifeq ($(XZ), 0)
1042+
ifeq ($(XZ), 1)
10271043
xz -c -f -$(XZ_COMPRESSION) $(TARNAME)-headers.tar > $(TARNAME)-headers.tar.xz
10281044
endif
10291045
$(RM) $(TARNAME)-headers.tar
@@ -1035,7 +1051,7 @@ tar-headers-upload: tar-headers
10351051
chmod 664 $(TARNAME)-headers.tar.gz
10361052
scp -p $(TARNAME)-headers.tar.gz $(STAGINGSERVER):nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-headers.tar.gz
10371053
ssh $(STAGINGSERVER) "touch nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-headers.tar.gz.done"
1038-
ifeq ($(XZ), 0)
1054+
ifeq ($(XZ), 1)
10391055
chmod 664 $(TARNAME)-headers.tar.xz
10401056
scp -p $(TARNAME)-headers.tar.xz $(STAGINGSERVER):nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-headers.tar.xz
10411057
ssh $(STAGINGSERVER) "touch nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-headers.tar.xz.done"
@@ -1060,7 +1076,7 @@ endif
10601076
tar -cf $(BINARYNAME).tar $(BINARYNAME)
10611077
$(RM) -r $(BINARYNAME)
10621078
gzip -c -f -9 $(BINARYNAME).tar > $(BINARYNAME).tar.gz
1063-
ifeq ($(XZ), 0)
1079+
ifeq ($(XZ), 1)
10641080
xz -c -f -$(XZ_COMPRESSION) $(BINARYNAME).tar > $(BINARYNAME).tar.xz
10651081
endif
10661082
$(RM) $(BINARYNAME).tar
@@ -1075,7 +1091,7 @@ binary-upload: binary
10751091
chmod 664 $(TARNAME)-$(OSTYPE)-$(ARCH).tar.gz
10761092
scp -p $(TARNAME)-$(OSTYPE)-$(ARCH).tar.gz $(STAGINGSERVER):nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-$(OSTYPE)-$(ARCH).tar.gz
10771093
ssh $(STAGINGSERVER) "touch nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-$(OSTYPE)-$(ARCH).tar.gz.done"
1078-
ifeq ($(XZ), 0)
1094+
ifeq ($(XZ), 1)
10791095
chmod 664 $(TARNAME)-$(OSTYPE)-$(ARCH).tar.xz
10801096
scp -p $(TARNAME)-$(OSTYPE)-$(ARCH).tar.xz $(STAGINGSERVER):nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-$(OSTYPE)-$(ARCH).tar.xz
10811097
ssh $(STAGINGSERVER) "touch nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-$(OSTYPE)-$(ARCH).tar.xz.done"

0 commit comments

Comments
 (0)