[OS-BUILD PATCHv2 20/20] build_configs.sh: Fix syntax flagged by shellcheck

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Ben Crocker <bcrocker@xxxxxxxxxx>

SC2001: See if you can use ${variable//search/replace} instead.
SC2046: Quote this to prevent word splitting.
SC2086: Double quote to prevent globbing and word splitting.
SC2162: read without -r will mangle backslashes.
SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.

Disable:
SC2010: Don't use ls | grep. Use a glob or a for loop with a condition to allow non-alphanumeric filenames.
as any alternative is worse, i.e. harder to understand.  Filenames are known
to be well-formed (i.e. no blanks or special characters) in our situation.

Signed-off-by: Ben Crocker <bcrocker@xxxxxxxxxx>
---
 redhat/configs/build_configs.sh | 60 ++++++++++++++++-----------------
 1 file changed, 30 insertions(+), 30 deletions(-)

diff --git a/redhat/configs/build_configs.sh b/redhat/configs/build_configs.sh
index 90f2be85f49d..f2b9097c3d91 100755
--- a/redhat/configs/build_configs.sh
+++ b/redhat/configs/build_configs.sh
@@ -6,9 +6,9 @@
 
 PACKAGE_NAME="${1:-kernel}" # defines the package name used
 SUBARCH="${2:-}" # defines a specific arch
-SCRIPT="$(readlink -f $0)"
+SCRIPT=$(readlink -f "$0")
 OUTPUT_DIR="$PWD"
-SCRIPT_DIR="$(dirname $SCRIPT)"
+SCRIPT_DIR=$(dirname "$SCRIPT")
 
 if [ -z "$3" ]; then
 	cat flavors > .flavors
@@ -19,7 +19,7 @@ fi
 LANG=en_US.UTF-8
 
 # to handle this script being a symlink
-cd $SCRIPT_DIR
+cd "$SCRIPT_DIR"
 
 set errexit
 set nounset
@@ -40,14 +40,15 @@ die()
 function combine_config_layer()
 {
 	dir=$1
-	file="config-$(echo $dir | sed -e 's|/|-|g')"
+	file="config-${dir//\//-}"
 
-	if [ $(ls $dir/ | grep -c "^CONFIG_") -eq 0 ]; then
-		touch $file
+	# shellcheck disable=SC2010
+	if [ "$(ls "$dir"/ | grep -c "^CONFIG_")" -eq 0 ]; then
+		touch "$file"
 		return
 	fi
 
-	cat $dir/CONFIG_* > $file
+	cat "$dir"/CONFIG_* > "$file"
 }
 
 function merge_configs()
@@ -66,14 +67,13 @@ function merge_configs()
 	skip_if_missing=""
 	for o in $order
 	do
-		for config in $(echo $configs | sed -e 's/:/ /g')
+		for config in ${configs//:/ }
 		do
 			cfile="config-$o-$config"
 
-			test -n "$skip_if_missing" && test ! -e $cfile && continue
+			test -n "$skip_if_missing" && test ! -e "$cfile" && continue
 
-			perl merge.pl $cfile config-merging > config-merged
-			if [ ! $? -eq 0 ]; then
+			if ! perl merge.pl "$cfile" config-merging > config-merged; then
 				die "Failed to merge $cfile"
 			fi
 			mv config-merged config-merging
@@ -84,19 +84,19 @@ function merge_configs()
 		skip_if_missing="1"
 	done
 	if [ "x$arch" == "xaarch64" ]; then
-		echo "# arm64" > $name
+		echo "# arm64" > "$name"
 	elif [ "x$arch" == "xppc64le" ]; then
-		echo "# powerpc" > $name
+		echo "# powerpc" > "$name"
 	elif [ "x$arch" == "xs390x" ]; then
-		echo "# s390" > $name
+		echo "# s390" > "$name"
 	elif [ "x$arch" == "xarmv7hl" ]; then
-		echo "# arm" > $name
+		echo "# arm" > "$name"
 	elif [ "x$arch" == "xi686" ]; then
-		echo "# i386" > $name
+		echo "# i386" > "$name"
 	else
-		echo "# $arch" > $name
+		echo "# $arch" > "$name"
 	fi
-	sort config-merging >> $name
+	sort config-merging >> "$name"
 	rm -f config-merged config-merging
 	echo "done"
 }
@@ -105,27 +105,27 @@ function build_flavor()
 {
 	flavor=$1
 	control_file="priority".$flavor
-	while read line
+	while read -r line
 	do
-		if [ $(echo "$line" | grep -c "^#") -ne 0 ]; then
+		if [ "$(echo "$line" | grep -c "^#")" -ne 0 ]; then
 			continue
-		elif [ $(echo "$line" | grep -c "^$") -ne 0 ]; then
+		elif [ "$(echo "$line" | grep -c "^$")" -ne 0 ]; then
 			continue
-		elif [ $(echo "$line" | grep -c "^EMPTY") -ne 0 ]; then
+		elif [ "$(echo "$line" | grep -c "^EMPTY")" -ne 0 ]; then
 			empty=$(echo "$line" | cut -f2 -d"=")
 			for a in $empty
 			do
-				echo "# EMPTY" > $OUTPUT_DIR/$PACKAGE_NAME-$a-$flavor.config
+				echo "# EMPTY" > "$OUTPUT_DIR/$PACKAGE_NAME-$a-$flavor".config
 
 			done
-		elif [ $(echo "$line" | grep -c "^ORDER") -ne 0 ]; then
+		elif [ "$(echo "$line" | grep -c "^ORDER")" -ne 0 ]; then
 			order=$(echo "$line" | cut -f2 -d"=")
 			for o in $order
 			do
-				glist=$(find $o -type d)
+				glist=$(find "$o" -type d)
 				for d in $glist
 				do
-					combine_config_layer $d
+					combine_config_layer "$d"
 				done
 			done
 		else
@@ -141,14 +141,14 @@ function build_flavor()
 				esac
 			fi
 
-			merge_configs $arch $configs "$order" $flavor
+			merge_configs "$arch" "$configs" "$order" "$flavor"
 		fi
-	done < $control_file
+	done < "$control_file"
 }
 
-while read line
+while read -r line
 do
-	build_flavor $line
+	build_flavor "$line"
 done < .flavors
 
 cleanup
-- 
GitLab
_______________________________________________
kernel mailing list -- kernel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to kernel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/kernel@xxxxxxxxxxxxxxxxxxxxxxx




[Index of Archives]     [Fedora General Discussion]     [Older Fedora Users Archive]     [Fedora Advisory Board]     [Fedora Security]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Mentors]     [Fedora Package Announce]     [Fedora Package Review]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Coolkey]     [Yum Users]     [Tux]     [Yosemite News]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [USB]     [Asterisk PBX]

  Powered by Linux