From e94e0a22876c3f7327ecd7e5bfd89f63e3b7b39c Mon Sep 17 00:00:00 2001 From: Ian Kelling Date: Sat, 27 Apr 2024 19:25:17 -0400 Subject: [PATCH] shellcheck fixes, including real bug --- src/identify-distros | 26 ++++++++++++++++---------- src/package-manager-abstractions | 12 ++++++++---- 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/src/identify-distros b/src/identify-distros index 4e461b0..fa66172 100644 --- a/src/identify-distros +++ b/src/identify-distros @@ -36,19 +36,20 @@ distro-name() { } distro-name-compat() { - local x=$(distro-name) + local x + x=$(distro-name) case $x in trisquel) echo ubuntu ;; *) - echo $x + printf "%s\n" "$x" ;; esac } distro-name-ver() { - echo $(distro-name)$(debian-archive) + printf "%s\n" "$(distro-name)$(debian-archive)" } distro-num() { @@ -72,7 +73,8 @@ debian-archive() { # o = origin # c = component (licensing component) # l = label (Debian{,-Security,-Updates}) - local d=$(distro-name) + local d + d=$(distro-name) # goto b for archive lines we are interested in, a for lines we arent # print priority + archive name. priority is in # the previous line from the archive line. @@ -90,7 +92,7 @@ EOF shortest=$name continue fi - if [[ $pri != $highpri ]]; then + if [[ $pri != "$highpri" ]]; then break fi if (( ${#shortest} > ${#name} )); then @@ -103,8 +105,10 @@ EOF # formatted for use in pfile() in package-manager-abstractions positive-origins() { isdeb || return 0 - local archive expression pri name highpri shortest - local policy="${1:-$(apt-cache policy)}" || return $? + local archive expression pri name highpri shortest policy + # In theory we might want a policy subset, we could alter this to pass + # it in. + policy="(apt-cache policy)" # a = archive # n = codename # o = origin @@ -137,12 +141,14 @@ isdebian-stable() { debian-codename() { isdeb || return 0 - local policy="$(apt-cache policy)" || return $? + local policy + policy="$(apt-cache policy)" archive=$(debian-archive "$policy") - echo "$policy" | sed -rn "s/^.*a=$archive,n=([a-z]+).*/\1/p;T;q" || [[ $? == 141 ]] + printf "%s\n" "$policy" | sed -rn "s/^.*a=$archive,n=([a-z]+).*/\1/p;T;q" || [[ $? == 141 ]] } debian-codename-compat() { - local n=$(debian-codename) + local n + n=$(debian-codename) case $n in flidas) echo xenial diff --git a/src/package-manager-abstractions b/src/package-manager-abstractions index 81940bb..aa14875 100644 --- a/src/package-manager-abstractions +++ b/src/package-manager-abstractions @@ -42,6 +42,7 @@ if command -v yum &> /dev/null; then local s; [[ $EUID != 0 ]] && s=sudo $s yum autoremove "$@" } + # shellcheck disable=SC2120 pup() { # upgrade local s; [[ $EUID != 0 ]] && s=sudo $s yum -y distro-sync full "$@" @@ -113,7 +114,7 @@ elif command -v apt-get &>/dev/null; then fi fi done - if (( cachtime > limittime )); then + if (( cachetime > limittime )); then $s apt-get update fi } @@ -190,6 +191,7 @@ EOF # seems slightly redundant, but it removes more stuff sometimes. $s apt-get -y autoremove } + # shellcheck disable=SC2120 pup() { # upgrade plock-wait pupdate @@ -266,14 +268,15 @@ elif command -v pacman &>/dev/null; then aurex() { p="$1" aur='https://aur.archlinux.org' - curl -s $aur/$(curl -s "$aur/rpc.php?type=info&arg=$p" \ - | jq -r .results.URLPath) | tar xz + curl -s $aur/"$(curl -s "$aur/rpc.php?type=info&arg=$p" \ + | jq -r .results.URLPath)" | tar xz cd "$p" } pmirror() { local s; [[ $EUID != 0 ]] && s=sudo - local x=$(mktemp) + local x + x=$(mktemp) curl -s "https://www.archlinux.org/mirrorlist/\ ?country=US&protocol=https&ip_version=4&ip_version=6&use_mirror_status=on" \ | sed -r 's/^[ #]*(Server *=)/\1/' > $x @@ -282,6 +285,7 @@ elif command -v pacman &>/dev/null; then rm $x fi } + # shellcheck disable=SC2120 pup() { # upgrade local s; [[ $EUID != 0 ]] && s=sudo # file_time + 24 hours > current_time -- 2.30.2