Skip to content

Commit 1fc9095

Browse files
committed
kbuild: tar-pkg: use tar rules in scripts/Makefile.package
Use %.tar, %.tar.gz, %.tar.bz2, %.tar.xz, %.tar.zst rules in scripts/Makefile.package. Signed-off-by: Masahiro Yamada <[email protected]>
1 parent e0ca167 commit 1fc9095

File tree

2 files changed

+24
-57
lines changed

2 files changed

+24
-57
lines changed

scripts/Makefile.package

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -145,13 +145,30 @@ snap-pkg:
145145
cd $(objtree)/snap && \
146146
snapcraft --target-arch=$(UTS_MACHINE)
147147

148-
# tarball targets
148+
# dir-pkg tar*-pkg - tarball targets
149149
# ---------------------------------------------------------------------------
150-
tar-pkgs := dir-pkg tar-pkg targz-pkg tarbz2-pkg tarxz-pkg tarzst-pkg
151-
PHONY += $(tar-pkgs)
152-
$(tar-pkgs):
153-
$(MAKE) -f $(srctree)/Makefile
154-
+$(CONFIG_SHELL) $(srctree)/scripts/package/buildtar $@
150+
151+
tar-pkg-tarball = linux-$(KERNELRELEASE)-$(ARCH).$(1)
152+
tar-pkg-phony = $(subst .,,$(1))-pkg
153+
154+
tar-install: FORCE
155+
$(Q)$(MAKE) -f $(srctree)/Makefile
156+
+$(Q)$(srctree)/scripts/package/buildtar $@
157+
158+
PHONY += dir-pkg
159+
dir-pkg: tar-install
160+
@echo "Kernel tree successfully created in $<"
161+
162+
define tar-pkg-rule
163+
PHONY += $(tar-pkg-phony)
164+
$(tar-pkg-phony): $(tar-pkg-tarball)
165+
@:
166+
167+
$(tar-pkg-tarball): private tar-rootdir := tar-install
168+
$(tar-pkg-tarball): tar-install
169+
endef
170+
171+
$(foreach x, tar tar.gz tar.bz2 tar.xz tar.zst, $(eval $(call tar-pkg-rule,$(x))))
155172

156173
# perf-tar*-src-pkg - generate a source tarball with perf source
157174
# ---------------------------------------------------------------------------

scripts/package/buildtar

Lines changed: 1 addition & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -16,39 +16,7 @@ set -e
1616
#
1717
# Some variables and settings used throughout the script
1818
#
19-
tmpdir="${objtree}/tar-install"
20-
tarball="${objtree}/linux-${KERNELRELEASE}-${ARCH}.tar"
21-
22-
23-
#
24-
# Figure out how to compress, if requested at all
25-
#
26-
case "${1}" in
27-
dir-pkg|tar-pkg)
28-
opts=
29-
;;
30-
targz-pkg)
31-
opts="-I ${KGZIP}"
32-
tarball=${tarball}.gz
33-
;;
34-
tarbz2-pkg)
35-
opts="-I ${KBZIP2}"
36-
tarball=${tarball}.bz2
37-
;;
38-
tarxz-pkg)
39-
opts="-I ${XZ}"
40-
tarball=${tarball}.xz
41-
;;
42-
tarzst-pkg)
43-
opts="-I ${ZSTD}"
44-
tarball=${tarball}.zst
45-
;;
46-
*)
47-
echo "Unknown tarball target \"${1}\" requested, please add it to ${0}." >&2
48-
exit 1
49-
;;
50-
esac
51-
19+
tmpdir=$1
5220

5321
#
5422
# Clean-up and re-create the temporary directory
@@ -148,21 +116,3 @@ case "${ARCH}" in
148116
sleep 5
149117
;;
150118
esac
151-
152-
if [ "${1}" = dir-pkg ]; then
153-
echo "Kernel tree successfully created in $tmpdir"
154-
exit 0
155-
fi
156-
157-
#
158-
# Create the tarball
159-
#
160-
if tar --owner=root --group=root --help >/dev/null 2>&1; then
161-
opts="$opts --owner=root --group=root"
162-
fi
163-
164-
tar cf $tarball -C $tmpdir $opts $dirs
165-
166-
echo "Tarball successfully created in $tarball"
167-
168-
exit 0

0 commit comments

Comments
 (0)