From: Masahiro Yamada <masahiroy@kernel.org>
To: linux-kbuild@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, Ben Hutchings <ben@decadent.org.uk>,
Masahiro Yamada <masahiroy@kernel.org>,
Nathan Chancellor <nathan@kernel.org>,
Nick Desaulniers <ndesaulniers@google.com>,
Nicolas Schier <nicolas@fjasle.eu>
Subject: [PATCH v6 09/12] kbuild: tar-pkg: use tar rules in scripts/Makefile.package
Date: Wed, 15 Feb 2023 10:20:31 +0900 [thread overview]
Message-ID: <20230215012034.403356-9-masahiroy@kernel.org> (raw)
In-Reply-To: <20230215012034.403356-1-masahiroy@kernel.org>
Use %.tar, %.tar.gz, %.tar.bz2, %.tar.xz, %.tar.zst rules in
scripts/Makefile.package.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---
Changes in v6:
- New patch
scripts/Makefile.package | 29 +++++++++++++++++-----
scripts/package/buildtar | 52 +---------------------------------------
2 files changed, 24 insertions(+), 57 deletions(-)
diff --git a/scripts/Makefile.package b/scripts/Makefile.package
index 50b86b325d7a..b941e6341b36 100644
--- a/scripts/Makefile.package
+++ b/scripts/Makefile.package
@@ -145,13 +145,30 @@ snap-pkg:
cd $(objtree)/snap && \
snapcraft --target-arch=$(UTS_MACHINE)
-# tarball targets
+# dir-pkg tar*-pkg - tarball targets
# ---------------------------------------------------------------------------
-tar-pkgs := dir-pkg tar-pkg targz-pkg tarbz2-pkg tarxz-pkg tarzst-pkg
-PHONY += $(tar-pkgs)
-$(tar-pkgs):
- $(MAKE) -f $(srctree)/Makefile
- +$(CONFIG_SHELL) $(srctree)/scripts/package/buildtar $@
+
+tar-pkg-tarball = linux-$(KERNELRELEASE)-$(ARCH).$(1)
+tar-pkg-phony = $(subst .,,$(1))-pkg
+
+tar-install: FORCE
+ $(Q)$(MAKE) -f $(srctree)/Makefile
+ +$(Q)$(srctree)/scripts/package/buildtar $@
+
+PHONY += dir-pkg
+dir-pkg: tar-install
+ @echo "Kernel tree successfully created in $<"
+
+define tar-pkg-rule
+PHONY += $(tar-pkg-phony)
+$(tar-pkg-phony): $(tar-pkg-tarball)
+ @:
+
+$(tar-pkg-tarball): private tar-rootdir := tar-install
+$(tar-pkg-tarball): tar-install
+endef
+
+$(foreach x, tar tar.gz tar.bz2 tar.xz tar.zst, $(eval $(call tar-pkg-rule,$(x))))
# perf-tar*-src-pkg - generate a source tarball with perf source
# ---------------------------------------------------------------------------
diff --git a/scripts/package/buildtar b/scripts/package/buildtar
index 4d6f0b128efd..65b4ea502962 100755
--- a/scripts/package/buildtar
+++ b/scripts/package/buildtar
@@ -16,39 +16,7 @@ set -e
#
# Some variables and settings used throughout the script
#
-tmpdir="${objtree}/tar-install"
-tarball="${objtree}/linux-${KERNELRELEASE}-${ARCH}.tar"
-
-
-#
-# Figure out how to compress, if requested at all
-#
-case "${1}" in
- dir-pkg|tar-pkg)
- opts=
- ;;
- targz-pkg)
- opts="-I ${KGZIP}"
- tarball=${tarball}.gz
- ;;
- tarbz2-pkg)
- opts="-I ${KBZIP2}"
- tarball=${tarball}.bz2
- ;;
- tarxz-pkg)
- opts="-I ${XZ}"
- tarball=${tarball}.xz
- ;;
- tarzst-pkg)
- opts="-I ${ZSTD}"
- tarball=${tarball}.zst
- ;;
- *)
- echo "Unknown tarball target \"${1}\" requested, please add it to ${0}." >&2
- exit 1
- ;;
-esac
-
+tmpdir=$1
#
# Clean-up and re-create the temporary directory
@@ -148,21 +116,3 @@ case "${ARCH}" in
sleep 5
;;
esac
-
-if [ "${1}" = dir-pkg ]; then
- echo "Kernel tree successfully created in $tmpdir"
- exit 0
-fi
-
-#
-# Create the tarball
-#
-if tar --owner=root --group=root --help >/dev/null 2>&1; then
- opts="$opts --owner=root --group=root"
-fi
-
-tar cf $tarball -C $tmpdir $opts $dirs
-
-echo "Tarball successfully created in $tarball"
-
-exit 0
--
2.34.1
next prev parent reply other threads:[~2023-02-15 1:22 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-15 1:20 [PATCH v6 01/12] kbuild: add a tool to list files ignored by git Masahiro Yamada
2023-02-15 1:20 ` [PATCH v6 02/12] kbuild: deb-pkg: create source package without cleaning Masahiro Yamada
2023-02-24 22:28 ` Nicolas Schier
2023-02-15 1:20 ` [PATCH v6 03/12] kbuild: rpm-pkg: build binary packages from source rpm Masahiro Yamada
2023-02-15 1:20 ` [PATCH v6 04/12] kbuild: srcrpm-pkg: create source package without cleaning Masahiro Yamada
2023-02-15 1:20 ` [PATCH v6 05/12] kbuild: deb-pkg: hide KDEB_SOURCENAME from Makefile Masahiro Yamada
2023-02-24 22:33 ` Nicolas Schier
2023-02-15 1:20 ` [PATCH v6 06/12] kbuild: deb-pkg: make .orig tarball a hard link if possible Masahiro Yamada
2023-02-24 22:37 ` Nicolas Schier
2023-02-15 1:20 ` [PATCH v6 07/12] kbuild: deb-pkg: switch over to source format 3.0 (quilt) Masahiro Yamada
2023-02-24 22:42 ` Nicolas Schier
2023-02-25 8:54 ` Masahiro Yamada
2023-02-15 1:20 ` [PATCH v6 08/12] kbuild: make perf-tar*-src-pkg work without relying on git Masahiro Yamada
2023-02-15 1:20 ` Masahiro Yamada [this message]
2023-02-15 1:20 ` [PATCH v6 10/12] kbuild: deb-pkg: fix binary-arch and clean in debian/rules Masahiro Yamada
2023-02-15 1:20 ` [PATCH v6 11/12] kbuild: deb-pkg: improve the usability of source package Masahiro Yamada
2023-03-08 12:29 ` Péter Ujfalusi
2023-03-08 17:01 ` Masahiro Yamada
2023-02-15 1:20 ` [PATCH v6 12/12] kbuild: add srcdeb-pkg target Masahiro Yamada
2023-02-24 22:48 ` Nicolas Schier
2023-02-25 10:14 ` Masahiro Yamada
2023-03-01 20:41 ` Nicolas Schier
2023-02-26 8:01 ` [PATCH v6 01/12] kbuild: add a tool to list files ignored by git Masahiro Yamada
2023-03-06 14:27 ` Nicolas Schier
2023-02-27 8:24 ` Rasmus Villemoes
2023-02-27 9:51 ` Masahiro Yamada
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230215012034.403356-9-masahiroy@kernel.org \
--to=masahiroy@kernel.org \
--cc=ben@decadent.org.uk \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nathan@kernel.org \
--cc=ndesaulniers@google.com \
--cc=nicolas@fjasle.eu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.