Commit c0414419 authored by Masahiro Yamada's avatar Masahiro Yamada
Browse files

kbuild: package: add -e and -u options to some 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.

I tweaked mkdebian to cope with optional environment variables.

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

Both options are described in POSIX. [1]

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



Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
Reviewed-by: default avatarNicolas Schier <nicolas@fjasle.eu>
parent c5209080
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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
+1 −1
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@
# Wichert Akkerman <wichert@wiggy.net>.
#

set -e
set -eu

#
# Some variables and settings used throughout the script
+2 −0
Original line number Diff line number Diff line
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0-only

set -eu

diff_patch=$1

mkdir -p "$(dirname "${diff_patch}")"
+1 −4
Original line number Diff line number Diff line
#!/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
}
+15 −7
Original line number Diff line number Diff line
@@ -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
@@ -19,7 +19,7 @@ if_enabled_echo() {
}

set_debarch() {
	if [ -n "$KBUILD_DEBARCH" ] ; then
	if [ "${KBUILD_DEBARCH:+set}" ]; then
		debarch="$KBUILD_DEBARCH"
		return
	fi
@@ -135,13 +135,21 @@ else
fi
maintainer="${name} <${email}>"

if [ "$1" = --need-source ]; then
while [ $# -gt 0 ]; do
	case "$1" in
	--need-source)
		gen_source
fi
		shift
		;;
	*)
		break
		;;
	esac
done

# Some variables and settings used throughout the script
version=$KERNELRELEASE
if [ -n "$KDEB_PKGVERSION" ]; then
if [ "${KDEB_PKGVERSION:+set}" ]; then
	packageversion=$KDEB_PKGVERSION
else
	packageversion=$(${srctree}/scripts/setlocalversion --no-local ${srctree})-$($srctree/scripts/build-version)
@@ -158,7 +166,7 @@ debarch=
set_debarch

# Try to determine distribution
if [ -n "$KDEB_CHANGELOG_DIST" ]; then
if [ "${KDEB_CHANGELOG_DIST:+set}" ]; then
        distribution=$KDEB_CHANGELOG_DIST
# In some cases lsb_release returns the codename as n/a, which breaks dpkg-parsechangelog
elif distribution=$(lsb_release -cs 2>/dev/null) && [ -n "$distribution" ] && [ "$distribution" != "n/a" ]; then
Loading