2024-06-11 16:10:06

by Masahiro Yamada

[permalink] [raw]
Subject: [PATCH 2/2] kbuild: package: add -e and -u options to shell scripts

Set -e to make these scripts fail on the first error.

Set -u because these scripts are invoked by Makefile, and do not work
properly without necessary variables defined.

Remove the explicit "test -n ..." from scripts/package/install-extmod-build.

Both options are described in POSIX. [1]

[1]: https://pubs.opengroup.org/onlinepubs/009604499/utilities/set.html

Signed-off-by: Masahiro Yamada <[email protected]>
---

scripts/package/builddeb | 2 +-
scripts/package/buildtar | 2 +-
scripts/package/gen-diff-patch | 2 ++
scripts/package/install-extmod-build | 5 +----
scripts/package/mkdebian | 2 +-
scripts/package/mkspec | 2 ++
6 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/scripts/package/builddeb b/scripts/package/builddeb
index e797ad360f7a..c1757db6aa8a 100755
--- a/scripts/package/builddeb
+++ b/scripts/package/builddeb
@@ -10,7 +10,7 @@
# specified in KDEB_HOOKDIR) that will be called on package install and
# removal.

-set -e
+set -eu

is_enabled() {
grep -q "^$1=y" include/config/auto.conf
diff --git a/scripts/package/buildtar b/scripts/package/buildtar
index eb67787f8673..cc87a473c01f 100755
--- a/scripts/package/buildtar
+++ b/scripts/package/buildtar
@@ -11,7 +11,7 @@
# Wichert Akkerman <[email protected]>.
#

-set -e
+set -eu

#
# Some variables and settings used throughout the script
diff --git a/scripts/package/gen-diff-patch b/scripts/package/gen-diff-patch
index 8a98b7bb78a0..f272f7770ea3 100755
--- a/scripts/package/gen-diff-patch
+++ b/scripts/package/gen-diff-patch
@@ -1,6 +1,8 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0-only

+set -eu
+
diff_patch=$1

mkdir -p "$(dirname "${diff_patch}")"
diff --git a/scripts/package/install-extmod-build b/scripts/package/install-extmod-build
index 76e0765dfcd6..8cc9e13403ae 100755
--- a/scripts/package/install-extmod-build
+++ b/scripts/package/install-extmod-build
@@ -1,13 +1,10 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0-only

-set -e
+set -eu

destdir=${1}

-test -n "${srctree}"
-test -n "${SRCARCH}"
-
is_enabled() {
grep -q "^$1=y" include/config/auto.conf
}
diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian
index 070149c985fe..ecfeb34b99aa 100755
--- a/scripts/package/mkdebian
+++ b/scripts/package/mkdebian
@@ -4,7 +4,7 @@
#
# Simple script to generate a debian/ directory for a Linux kernel.

-set -e
+set -eu

is_enabled() {
grep -q "^$1=y" include/config/auto.conf
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
index ce201bfa8377..cc046ac74bf9 100755
--- a/scripts/package/mkspec
+++ b/scripts/package/mkspec
@@ -9,6 +9,8 @@
# Patched for non-x86 by Opencon (L) 2002 <[email protected]>
#

+set -eu
+
output=$1

mkdir -p "$(dirname "${output}")"
--
2.43.0



2024-06-12 19:33:54

by Nicolas Schier

[permalink] [raw]
Subject: Re: [PATCH 2/2] kbuild: package: add -e and -u options to shell scripts

On Wed, Jun 12, 2024 at 01:08:06AM +0900, Masahiro Yamada wrote:
> Set -e to make these scripts fail on the first error.
>
> Set -u because these scripts are invoked by Makefile, and do not work
> properly without necessary variables defined.
>
> Remove the explicit "test -n ..." from scripts/package/install-extmod-build.
>
> Both options are described in POSIX. [1]
>
> [1]: https://pubs.opengroup.org/onlinepubs/009604499/utilities/set.html
>
> Signed-off-by: Masahiro Yamada <[email protected]>
> ---

Reviewed-by: Nicolas Schier <[email protected]>