2019-10-09 15:12:52

by Matteo Croce

[permalink] [raw]
Subject: [PATCH] kbuild: Add make dir-pkg build option

Add a 'dir-pkg' target which just creates the same directory structures
as in tar-pkg, but doesn't package anything.
Useful when the user wants to copy the kernel tree on a machine using
ssh, rsync or whatever.

Signed-off-by: Matteo Croce <[email protected]>
---
scripts/Makefile.package | 3 ++-
scripts/package/buildtar | 9 +++++++--
2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/scripts/Makefile.package b/scripts/Makefile.package
index 56eadcc48d46..36600ad1d5e6 100644
--- a/scripts/Makefile.package
+++ b/scripts/Makefile.package
@@ -103,7 +103,7 @@ snap-pkg:

# tarball targets
# ---------------------------------------------------------------------------
-tar-pkgs := tar-pkg targz-pkg tarbz2-pkg tarxz-pkg
+tar-pkgs := dir-pkg tar-pkg targz-pkg tarbz2-pkg tarxz-pkg
PHONY += $(tar-pkgs)
$(tar-pkgs):
$(MAKE) -f $(srctree)/Makefile
@@ -147,6 +147,7 @@ help:
@echo ' deb-pkg - Build both source and binary deb kernel packages'
@echo ' bindeb-pkg - Build only the binary kernel deb package'
@echo ' snap-pkg - Build only the binary kernel snap package (will connect to external hosts)'
+ @echo ' dir-pkg - Build the kernel as a plain directory structure'
@echo ' tar-pkg - Build the kernel as an uncompressed tarball'
@echo ' targz-pkg - Build the kernel as a gzip compressed tarball'
@echo ' tarbz2-pkg - Build the kernel as a bzip2 compressed tarball'
diff --git a/scripts/package/buildtar b/scripts/package/buildtar
index 2f66c81e4021..ca283079f652 100755
--- a/scripts/package/buildtar
+++ b/scripts/package/buildtar
@@ -2,7 +2,7 @@
# SPDX-License-Identifier: GPL-2.0

#
-# buildtar 0.0.4
+# buildtar 0.0.5
#
# (C) 2004-2006 by Jan-Benedict Glaw <[email protected]>
#
@@ -24,7 +24,7 @@ tarball="${objtree}/linux-${KERNELRELEASE}-${ARCH}.tar"
# Figure out how to compress, if requested at all
#
case "${1}" in
- tar-pkg)
+ dir-pkg|tar-pkg)
opts=
;;
targz-pkg)
@@ -133,6 +133,11 @@ if tar --owner=root --group=root --help >/dev/null 2>&1; then
opts="$opts --owner=root --group=root"
fi

+if [ "${1}" = dir-pkg ]; then
+ echo "Kernel tree successfully created in $tmpdir"
+ exit 0
+fi
+
tar cf $tarball -C $tmpdir $opts $dirs

echo "Tarball successfully created in $tarball"
--
2.21.0


2019-11-03 15:13:59

by Matteo Croce

[permalink] [raw]
Subject: Re: [PATCH] kbuild: Add make dir-pkg build option

On Wed, Oct 9, 2019 at 5:10 PM Matteo Croce <[email protected]> wrote:
>
> Add a 'dir-pkg' target which just creates the same directory structures
> as in tar-pkg, but doesn't package anything.
> Useful when the user wants to copy the kernel tree on a machine using
> ssh, rsync or whatever.
>
> Signed-off-by: Matteo Croce <[email protected]>

Hi,

any comment on this?

--
Matteo Croce
per aspera ad upstream

2019-11-04 01:53:23

by Masahiro Yamada

[permalink] [raw]
Subject: Re: [PATCH] kbuild: Add make dir-pkg build option

On Mon, Nov 4, 2019 at 12:11 AM Matteo Croce <[email protected]> wrote:
>
> On Wed, Oct 9, 2019 at 5:10 PM Matteo Croce <[email protected]> wrote:
> >
> > Add a 'dir-pkg' target which just creates the same directory structures
> > as in tar-pkg, but doesn't package anything.
> > Useful when the user wants to copy the kernel tree on a machine using
> > ssh, rsync or whatever.
> >
> > Signed-off-by: Matteo Croce <[email protected]>
>
> Hi,
>
> any comment on this?
>


Sorry for the late reply.
One nit.


> @@ -133,6 +133,11 @@ if tar --owner=root --group=root --help >/dev/null 2>&1; then
> opts="$opts --owner=root --group=root"
> fi
>
> +if [ "${1}" = dir-pkg ]; then
> + echo "Kernel tree successfully created in $tmpdir"
> + exit 0
> +fi
> +

The 'opts' assignment is unneeded for dir-pkg.
You can exit before the "# Create the tarball" comment line.






--
Best Regards
Masahiro Yamada