This is everything that shellcheck reported as an error. They are not
as serious as the globbing issue, but it would be a good idea to
change them. They are generally "type" issues (e.g. ">" instead of
"-gt").

Some changes are shellcheck annotations. Very interesting was:

eval "$x=(\"\${$x[@]}\" ${QA_PREBUILT//\*/.*})"

Which looks like a bad array expansion ("$x[@]").

Cheers,
     R0b0t1


---
 bin/ebuild-helpers/newins | 2 +-
 bin/ebuild.sh             | 2 +-
 bin/etc-update            | 6 +++---
 bin/isolated-functions.sh | 6 +++---
 bin/phase-functions.sh    | 1 +
 5 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/bin/ebuild-helpers/newins b/bin/ebuild-helpers/newins
index 8032a8f2f..30e54b7e5 100755
--- a/bin/ebuild-helpers/newins
+++ b/bin/ebuild-helpers/newins
@@ -12,7 +12,7 @@ if [[ -z ${T} ]] || [[ -z ${2} ]] ; then
 fi

 (($#>2)) && \
-    eqawarn "QA Notice: ${helper} called with more than 2 arguments: ${@:3}"
+    eqawarn "QA Notice: ${helper} called with more than 2 arguments: ${*:3}"

 stdin=
 if ___eapi_newins_supports_reading_from_standard_input && [[ $1 == "-" ]]; then
diff --git a/bin/ebuild.sh b/bin/ebuild.sh
index 94a44d534..4a80fdd06 100755
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@ -232,7 +232,7 @@ debug-print-section() {
 declare -ix ECLASS_DEPTH=0
 inherit() {
     ECLASS_DEPTH=$(($ECLASS_DEPTH + 1))
-    if [[ ${ECLASS_DEPTH} > 1 ]]; then
+    if [[ ${ECLASS_DEPTH} -gt 1 ]]; then
         debug-print "*** Multiple Inheritence (Level: ${ECLASS_DEPTH})"
     fi

diff --git a/bin/etc-update b/bin/etc-update
index ea69f1478..cbca8217e 100755
--- a/bin/etc-update
+++ b/bin/etc-update
@@ -767,7 +767,7 @@ portage_vars=(
 )

 if type -P portageq > /dev/null; then
-    eval $(${PORTAGE_PYTHON:+"${PORTAGE_PYTHON}"} "$(type -P
portageq)" envvar -v ${portage_vars[@]})
+    eval $(${PORTAGE_PYTHON:+"${PORTAGE_PYTHON}"} "$(type -P
portageq)" envvar -v "${portage_vars[@]}")
 else
     [[ $OS_FAMILY == 'gentoo' ]] && die "missing portageq"
 fi
@@ -801,7 +801,7 @@ cfg_vars=(
     mode
 )
 # default them all to ""
-eval ${cfg_vars[@]/%/=}
+eval "${cfg_vars[@]/%/=}"
 # then extract them all from the conf in one shot
 # (ugly var at end is due to printf appending a '|' to last item)
 get_config "($(printf '%s|' "${cfg_vars[@]}")NOVARFOROLDMEN)"
@@ -846,7 +846,7 @@ if ${NONINTERACTIVE_MV} ; then
 fi

 if ${VERBOSE} ; then
-    for v in ${portage_vars[@]} ${cfg_vars[@]} TMP SCAN_PATHS ; do
+    for v in "${portage_vars[@]} ${cfg_vars[@]} TMP SCAN_PATHS" ; do
         echo "${v}=${!v}"
     done
 fi
diff --git a/bin/isolated-functions.sh b/bin/isolated-functions.sh
index b28e44f18..377b32d90 100644
--- a/bin/isolated-functions.sh
+++ b/bin/isolated-functions.sh
@@ -82,7 +82,7 @@ __dump_trace() {
         lineno=${BASH_LINENO[${n} - 1]}
         # Display function arguments
         args=
-        if [[ -n "${BASH_ARGV[@]}" ]]; then
+        if [[ -n "${BASH_ARGV[*]}" ]]; then
             for (( j = 1 ; j <= ${BASH_ARGC[${n} - 1]} ; ++j )); do
                 newarg=${BASH_ARGV[$(( p - j - 1 ))]}
                 args="${args:+${args} }'${newarg}'"
@@ -550,13 +550,13 @@ __eqatag() {

     (
         echo "- tag: ${tag}"
-        if [[ ${data[@]} ]]; then
+        if [[ ${data[*]} ]]; then
             echo "  data:"
             for i in "${data[@]}"; do
                 echo "    ${i%%=*}: \"$(__eqaquote "${i#*=}")\""
             done
         fi
-        if [[ ${filenames[@]} ]]; then
+        if [[ ${filenames[*]} ]]; then
             echo "  files:"
             for i in "${filenames[@]}"; do
                 echo "    - \"$(__eqaquote "${i}")\""
diff --git a/bin/phase-functions.sh b/bin/phase-functions.sh
index 10d54ca74..469715f7f 100644
--- a/bin/phase-functions.sh
+++ b/bin/phase-functions.sh
@@ -541,6 +541,7 @@ __dyn_install() {
         # fnmatch patterns to regular expressions
         for x in QA_DT_NEEDED QA_FLAGS_IGNORED QA_PRESTRIPPED QA_SONAME ; do
             if [[ $(declare -p $x 2>/dev/null) = declare\ -a* ]] ; then
+                # shellcheck disable=1087
                 eval "$x=(\"\${$x[@]}\" ${QA_PREBUILT//\*/.*})"
             else
                 eval "$x+=\" ${QA_PREBUILT//\*/.*}\""
-- 
2.14.1
From 2111073648d3e33f49ceaaca971f8cff9e5e6b0e Mon Sep 17 00:00:00 2001
From: Sid Spry <r03...@gmail.com>
Date: Sun, 4 Feb 2018 19:11:32 -0800
Subject: [PATCH] Fix all misc. bash errors.

---
 bin/ebuild-helpers/newins | 2 +-
 bin/ebuild.sh             | 2 +-
 bin/etc-update            | 6 +++---
 bin/isolated-functions.sh | 6 +++---
 bin/phase-functions.sh    | 1 +
 5 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/bin/ebuild-helpers/newins b/bin/ebuild-helpers/newins
index 8032a8f2f..30e54b7e5 100755
--- a/bin/ebuild-helpers/newins
+++ b/bin/ebuild-helpers/newins
@@ -12,7 +12,7 @@ if [[ -z ${T} ]] || [[ -z ${2} ]] ; then
 fi
 
 (($#>2)) && \
-	eqawarn "QA Notice: ${helper} called with more than 2 arguments: ${@:3}"
+	eqawarn "QA Notice: ${helper} called with more than 2 arguments: ${*:3}"
 
 stdin=
 if ___eapi_newins_supports_reading_from_standard_input && [[ $1 == "-" ]]; then
diff --git a/bin/ebuild.sh b/bin/ebuild.sh
index 94a44d534..4a80fdd06 100755
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@ -232,7 +232,7 @@ debug-print-section() {
 declare -ix ECLASS_DEPTH=0
 inherit() {
 	ECLASS_DEPTH=$(($ECLASS_DEPTH + 1))
-	if [[ ${ECLASS_DEPTH} > 1 ]]; then
+	if [[ ${ECLASS_DEPTH} -gt 1 ]]; then
 		debug-print "*** Multiple Inheritence (Level: ${ECLASS_DEPTH})"
 	fi
 
diff --git a/bin/etc-update b/bin/etc-update
index ea69f1478..cbca8217e 100755
--- a/bin/etc-update
+++ b/bin/etc-update
@@ -767,7 +767,7 @@ portage_vars=(
 )
 
 if type -P portageq > /dev/null; then
-	eval $(${PORTAGE_PYTHON:+"${PORTAGE_PYTHON}"} "$(type -P portageq)" envvar -v ${portage_vars[@]})
+	eval $(${PORTAGE_PYTHON:+"${PORTAGE_PYTHON}"} "$(type -P portageq)" envvar -v "${portage_vars[@]}")
 else
 	[[ $OS_FAMILY == 'gentoo' ]] && die "missing portageq"
 fi
@@ -801,7 +801,7 @@ cfg_vars=(
 	mode
 )
 # default them all to ""
-eval ${cfg_vars[@]/%/=}
+eval "${cfg_vars[@]/%/=}"
 # then extract them all from the conf in one shot
 # (ugly var at end is due to printf appending a '|' to last item)
 get_config "($(printf '%s|' "${cfg_vars[@]}")NOVARFOROLDMEN)"
@@ -846,7 +846,7 @@ if ${NONINTERACTIVE_MV} ; then
 fi
 
 if ${VERBOSE} ; then
-	for v in ${portage_vars[@]} ${cfg_vars[@]} TMP SCAN_PATHS ; do
+	for v in "${portage_vars[@]} ${cfg_vars[@]} TMP SCAN_PATHS" ; do
 		echo "${v}=${!v}"
 	done
 fi
diff --git a/bin/isolated-functions.sh b/bin/isolated-functions.sh
index b28e44f18..377b32d90 100644
--- a/bin/isolated-functions.sh
+++ b/bin/isolated-functions.sh
@@ -82,7 +82,7 @@ __dump_trace() {
 		lineno=${BASH_LINENO[${n} - 1]}
 		# Display function arguments
 		args=
-		if [[ -n "${BASH_ARGV[@]}" ]]; then
+		if [[ -n "${BASH_ARGV[*]}" ]]; then
 			for (( j = 1 ; j <= ${BASH_ARGC[${n} - 1]} ; ++j )); do
 				newarg=${BASH_ARGV[$(( p - j - 1 ))]}
 				args="${args:+${args} }'${newarg}'"
@@ -550,13 +550,13 @@ __eqatag() {
 
 	(
 		echo "- tag: ${tag}"
-		if [[ ${data[@]} ]]; then
+		if [[ ${data[*]} ]]; then
 			echo "  data:"
 			for i in "${data[@]}"; do
 				echo "    ${i%%=*}: \"$(__eqaquote "${i#*=}")\""
 			done
 		fi
-		if [[ ${filenames[@]} ]]; then
+		if [[ ${filenames[*]} ]]; then
 			echo "  files:"
 			for i in "${filenames[@]}"; do
 				echo "    - \"$(__eqaquote "${i}")\""
diff --git a/bin/phase-functions.sh b/bin/phase-functions.sh
index 10d54ca74..469715f7f 100644
--- a/bin/phase-functions.sh
+++ b/bin/phase-functions.sh
@@ -541,6 +541,7 @@ __dyn_install() {
 		# fnmatch patterns to regular expressions
 		for x in QA_DT_NEEDED QA_FLAGS_IGNORED QA_PRESTRIPPED QA_SONAME ; do
 			if [[ $(declare -p $x 2>/dev/null) = declare\ -a* ]] ; then
+				# shellcheck disable=1087
 				eval "$x=(\"\${$x[@]}\" ${QA_PREBUILT//\*/.*})"
 			else
 				eval "$x+=\" ${QA_PREBUILT//\*/.*}\""
-- 
2.14.1

Attachment: portcheck.tar.xz
Description: application/xz

Reply via email to