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
portcheck.tar.xz
Description: application/xz