diff mbox

kbuild: rpm-pkg: Support GNU tar >= 1.29

Message ID 20180323175936.GA18412@ziepe.ca (mailing list archive)
State New, archived
Headers show

Commit Message

Jason Gunthorpe March 23, 2018, 5:59 p.m. UTC
There is a change in how command line parsing is done in this version.
Excludes and includes are now ordered with the file list. Since
the spec file puts the file list before the exclude list it means newer
tar ignores the excludes and packs all the build output into the
kernel-devel RPM resulting in a huge package.

Simple argument re-ordering fixes the problem.

Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
---
 scripts/package/mkspec | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

At the very least this effects FC27.

Comments

Masahiro Yamada March 26, 2018, 3:22 p.m. UTC | #1
2018-03-24 2:59 GMT+09:00 Jason Gunthorpe <jgg@mellanox.com>:
> There is a change in how command line parsing is done in this version.
> Excludes and includes are now ordered with the file list. Since
> the spec file puts the file list before the exclude list it means newer
> tar ignores the excludes and packs all the build output into the
> kernel-devel RPM resulting in a huge package.
>
> Simple argument re-ordering fixes the problem.
>
> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
> ---

Applied to linux-kbuild/fixes. Thanks!
diff mbox

Patch

diff --git a/scripts/package/mkspec b/scripts/package/mkspec
index 280027fad991c1..61427c6f220922 100755
--- a/scripts/package/mkspec
+++ b/scripts/package/mkspec
@@ -98,7 +98,7 @@  $M	make %{?_smp_mflags} INSTALL_MOD_PATH=%{buildroot} KBUILD_SRC= modules_instal
 $S$M	rm -f %{buildroot}/lib/modules/$KERNELRELEASE/build
 $S$M	rm -f %{buildroot}/lib/modules/$KERNELRELEASE/source
 $S$M	mkdir -p %{buildroot}/usr/src/kernels/$KERNELRELEASE
-$S$M	tar cf - . $EXCLUDES | tar xf - -C %{buildroot}/usr/src/kernels/$KERNELRELEASE
+$S$M	tar cf - $EXCLUDES . | tar xf - -C %{buildroot}/usr/src/kernels/$KERNELRELEASE
 $S$M	cd %{buildroot}/lib/modules/$KERNELRELEASE
 $S$M	ln -sf /usr/src/kernels/$KERNELRELEASE build
 $S$M	ln -sf /usr/src/kernels/$KERNELRELEASE source