Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1725466 > unrolled thread

[PATCH 1/2] kbuild: buildtar: fix tar error when CONFIG_MODULES is disabled

Started byMasahiro Yamada <yamada.masahiro@socionext.com>
First post2017-09-02 10:10 +0200
Last post2017-09-02 10:10 +0200
Articles 2 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [PATCH 1/2] kbuild: buildtar: fix tar error when CONFIG_MODULES is disabled Masahiro Yamada <yamada.masahiro@socionext.com> - 2017-09-02 10:10 +0200
    [PATCH 2/2] kbuild: buildtar: do not print successful message if tar returns error Masahiro Yamada <yamada.masahiro@socionext.com> - 2017-09-02 10:10 +0200

#1725466 — [PATCH 1/2] kbuild: buildtar: fix tar error when CONFIG_MODULES is disabled

FromMasahiro Yamada <yamada.masahiro@socionext.com>
Date2017-09-02 10:10 +0200
Subject[PATCH 1/2] kbuild: buildtar: fix tar error when CONFIG_MODULES is disabled
Message-ID<ulbF7-uX-7@gated-at.bofh.it>
$tmpdir/lib is created by "make modules_install".  It does not exist
if CONFIG_MODULES is disabled, then tar reports the following messages:

tar: lib: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

 scripts/package/buildtar | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/scripts/package/buildtar b/scripts/package/buildtar
index 483ba00524d5..60dd836a0214 100755
--- a/scripts/package/buildtar
+++ b/scripts/package/buildtar
@@ -51,13 +51,14 @@ esac
 #
 rm -rf -- "${tmpdir}"
 mkdir -p -- "${tmpdir}/boot"
-
+dirs=boot
 
 #
 # Try to install modules
 #
 if grep -q '^CONFIG_MODULES=y' "${KCONFIG_CONFIG}"; then
 	make ARCH="${ARCH}" O="${objtree}" KBUILD_SRC= INSTALL_MOD_PATH="${tmpdir}" modules_install
+	dirs="$dirs lib"
 fi
 
 
@@ -129,7 +130,7 @@ esac
 	if tar --owner=root --group=root --help >/dev/null 2>&1; then
 		opts="--owner=root --group=root"
 	fi
-	tar cf - -C "$tmpdir" boot/ lib/ $opts | ${compress} > "${tarball}${file_ext}"
+	tar cf - -C "$tmpdir" $dirs $opts | ${compress} > "${tarball}${file_ext}"
 )
 
 echo "Tarball successfully created in ${tarball}${file_ext}"
-- 
2.7.4

[toc] | [next] | [standalone]


#1725467 — [PATCH 2/2] kbuild: buildtar: do not print successful message if tar returns error

FromMasahiro Yamada <yamada.masahiro@socionext.com>
Date2017-09-02 10:10 +0200
Subject[PATCH 2/2] kbuild: buildtar: do not print successful message if tar returns error
Message-ID<ulbF7-uX-9@gated-at.bofh.it>
In reply to#1725466
The previous commit spotted that "Tarball successfully created ..."
is displayed even if the "tar" command returns error code because
it is followed by "| ${compress}".

Let the build fail instead of printing the successful message since
if the "tar" command fails, the output may not be what users expect.

Avoid the use of the pipe.  While we are here, refactor the script
removing the use of sub-shell, ${compress}, ${file_ext}.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

 scripts/package/buildtar | 29 +++++++++++++----------------
 1 file changed, 13 insertions(+), 16 deletions(-)

diff --git a/scripts/package/buildtar b/scripts/package/buildtar
index 60dd836a0214..51f947118256 100755
--- a/scripts/package/buildtar
+++ b/scripts/package/buildtar
@@ -24,20 +24,19 @@ tarball="${objtree}/linux-${KERNELRELEASE}-${ARCH}.tar"
 #
 case "${1}" in
 	tar-pkg)
-		compress="cat"
-		file_ext=""
+		opts=
 		;;
 	targz-pkg)
-		compress="gzip"
-		file_ext=".gz"
+		opts=--gzip
+		tarball=${tarball}.gz
 		;;
 	tarbz2-pkg)
-		compress="bzip2"
-		file_ext=".bz2"
+		opts=--bzip2
+		tarball=${tarball}.bz2
 		;;
 	tarxz-pkg)
-		compress="xz"
-		file_ext=".xz"
+		opts=--xz
+		tarball=${tarball}.xz
 		;;
 	*)
 		echo "Unknown tarball target \"${1}\" requested, please add it to ${0}." >&2
@@ -125,14 +124,12 @@ esac
 #
 # Create the tarball
 #
-(
-	opts=
-	if tar --owner=root --group=root --help >/dev/null 2>&1; then
-		opts="--owner=root --group=root"
-	fi
-	tar cf - -C "$tmpdir" $dirs $opts | ${compress} > "${tarball}${file_ext}"
-)
+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}${file_ext}"
+echo "Tarball successfully created in $tarball"
 
 exit 0
-- 
2.7.4

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web