kbuild: do not create intermediate *.tar for tar packages
authorMasahiro Yamada <masahiroy@kernel.org>
Fri, 7 Apr 2023 10:16:29 +0000 (19:16 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Sun, 16 Apr 2023 08:38:41 +0000 (17:38 +0900)
Commit 05e96e96a315 ("kbuild: use git-archive for source package
creation") split the compression as a separate step to factor out
the common build rules.

With the previous commit, we got back to the situation where source
tarballs are compressed on-the-fly.
There is no reason to keep the separate compression rules.

Generate the comressed tar packages directly.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
scripts/Makefile.package

index ed1784be72ce97e67284c71ec578bd70b5d18b06..4d90691505b12f6b3bcfc050e56e5452ce45b0d4 100644 (file)
@@ -27,21 +27,6 @@ fi ; \
 tar -I $(KGZIP) -c $(RCS_TAR_IGNORE) -f $(2).tar.gz \
        --transform 's:^:$(2)/:S' $(TAR_CONTENT) $(3)
 
-# tarball compression
-# ---------------------------------------------------------------------------
-
-%.tar.gz: %.tar
-       $(call cmd,gzip)
-
-%.tar.bz2: %.tar
-       $(call cmd,bzip2)
-
-%.tar.xz: %.tar
-       $(call cmd,xzmisc)
-
-%.tar.zst: %.tar
-       $(call cmd,zstd)
-
 # Git
 # ---------------------------------------------------------------------------
 
@@ -154,10 +139,17 @@ tar-install: FORCE
        $(Q)$(MAKE) -f $(srctree)/Makefile
        +$(Q)$(srctree)/scripts/package/buildtar $@
 
+compress-tar.gz  = -I "$(KGZIP)"
+compress-tar.bz2 = -I "$(KBZIP2)"
+compress-tar.xz  = -I "$(XZ)"
+compress-tar.zst = -I "$(ZSTD)"
+
 quiet_cmd_tar = TAR     $@
-      cmd_tar = cd $<; tar cf ../$@ --owner=root --group=root --sort=name *
+      cmd_tar = cd $<; tar cf ../$@ $(compress-tar$(suffix $@)) --owner=root --group=root --sort=name *
+
+dir-tarballs := $(addprefix linux-$(KERNELRELEASE)-$(ARCH), .tar .tar.gz .tar.bz2 .tar.xz .tar.zst)
 
-linux-$(KERNELRELEASE)-$(ARCH).tar: tar-install
+$(dir-tarballs): tar-install
        $(call cmd,tar)
 
 PHONY += dir-pkg