diff options
author | e5ten <e5ten.arch@gmail.com> | 2019-04-28 03:09:10 -0400 |
---|---|---|
committer | e5ten <e5ten.arch@gmail.com> | 2019-05-03 14:09:38 -0400 |
commit | 7d9aaa82c18e15afcd1f9691480e441ad95a20ab (patch) | |
tree | a7ce4cfa0906dd3c663b87f7fcc49aad2e0d7851 | |
parent | 72bfcd1d4e2dbeb536bfc120e9c371461842f09c (diff) |
syntax changes, mostly in how arrays are assigned in some places
-rwxr-xr-x | pacaur | 164 |
1 files changed, 74 insertions, 90 deletions
@@ -16,9 +16,9 @@ unset installpkg native needed noconfirm nodeps noedit noop operation pac pace p unset readline rebuild refresh repo search upgrade var vcs ver # internationalization -export LC_COLLATE=C -export TEXTDOMAIN='pacaur' -export TEXTDOMAINDIR='/usr/share/locale' +declare -xr LC_COLLATE=C +declare -xr TEXTDOMAIN='pacaur' +declare -xr TEXTDOMAINDIR='/usr/share/locale' # determine config location if [[ "${XDG_CONFIG_DIRS}" ]]; then @@ -111,13 +111,12 @@ ClassifyPkgs() { noaurpkgs+=("$i") done [[ "${noaurpkgs[*]}" ]] && - mapfile -t norepopkgs < <(expac -Sv '' -- "${noaurpkgs[@]}" 2>&1 >/dev/null) && + mapfile -t < <(expac -Sv '' -- "${noaurpkgs[@]}" 2>&1 >/dev/null) norepopkgs && norepopkgs=("${norepopkgs[@]#error: package \`}") && norepopkgs=("${norepopkgs[@]%\' not found}") for i in "${norepopkgs[@]}"; do # do not search repo/pkgs in AUR - [[ " ${noaurpkgs[*]} " =~ [a-zA-Z0-9\.\+-]+\/"$i"[^a-zA-Z0-9\.\+-] ]] || - aurpkgs+=("$i") # do not search repo/pkgs in AUR + [[ " ${noaurpkgs[*]} " =~ [a-zA-Z0-9\.\+-]+\/"$i"[^a-zA-Z0-9\.\+-] ]] || aurpkgs+=("$i") done repopkgs=($(CommArr 'aurpkgs' 'noaurpkgs' '-13')) fi @@ -154,7 +153,7 @@ UpgradeAur() { done # use auracle to find out of date AUR packages - mapfile -t aurpkgs < <(auracle sync -q) + mapfile -t < <(auracle sync -q) aurpkgs # add devel packages if [[ "$devel" ]]; then @@ -186,7 +185,7 @@ IgnoreChecks() { unset aurpkgsnover checkaurpkgsAver=($(GetJson "$json" "Version")) - mapfile -t checkaurpkgsQver < <(expac -Qv '%v' "${checkaurpkgs[@]}" 2>&1) + mapfile -t < <(expac -Qv '%v' "${checkaurpkgs[@]}" 2>&1) checkaurpkgsQver for i in "${!checkaurpkgs[@]}"; do [[ "${checkaurpkgs[$i]}" =~ $vcs ]] && checkaurpkgsAver[$i]=$"latest" unset isignored @@ -229,7 +228,7 @@ IgnoreChecks() { DepsSolver() { local i aurpkgsconflicts - # global aurpkgs aurpkgsnover aurpkgsproviders aurdeps deps json errdeps + # global aurpkgs aurpkgsnover aurpkgsproviders aurdeps deps errdeps json # global errdepsnover foreignpkgs repodeps depsAname depsAver depsAood depsQver Note "i" $"resolving dependencies..." @@ -440,7 +439,7 @@ FindDepsAur() { depspkgs=($(CommArr 'assumeinstalled' 'depspkgs' '-13')) fi if [[ "${depspkgs[*]}" ]]; then - mapfile -t depspkgsaur < <(expac -Sv '' -- "${depspkgs[@]%%[><=]*}" 2>&1) && + mapfile -t < <(expac -Sv '' -- "${depspkgs[@]%%[><=]*}" 2>&1) depspkgsaur && depspkgsaur=("${depspkgsaur[@]#error: package \`}") && depspkgsaur=("${depspkgsaur[@]%\' not found}") repodeps+=($(CommArr 'depspkgsaur' 'depspkgs' '-13')) @@ -468,7 +467,7 @@ FindDepsAur() { SortDepsAur() { local i j sortaurpkgs sortdepspkgs sortdepspkgsaur - # global checkedsortdepspkgsaur allcheckedsortdepspkgsaur json errdepsnover + # global checkedsortdepspkgsaur allcheckedsortdepspkgsaur errdepsnover json [[ "${checkedsortdepspkgsaur[*]}" ]] && sortaurpkgs=("${checkedsortdepspkgsaur[@]}") || sortaurpkgs=("${aurpkgs[@]}") @@ -520,8 +519,7 @@ FindDepsAurError() { # global errdepsnover errdepslist tsorterrdeps currenterrdep for i in "${tsorterrdeps[@]}"; do - [[ " ${errdepsnover[*]} " =~ " $i " || " ${errdepslist[*]} " =~ " $i " ]] || - nexterrdep="$i" && break + [[ " ${errdepsnover[*]} " =~ " $i " || " ${errdepslist[*]} " =~ " $i " ]] || nexterrdep="$i" && break done [[ "${currenterrdep[*]}" ]] || currenterrdep="${tsorterrdeps[0]}" @@ -566,13 +564,10 @@ FindDepsRepo() { unset allrepodepspkgs repodepspkgstmp # no version check needed as all deps are repo deps [[ "${repodeps[*]}" ]] && allrepodepspkgs=($(expac -S1 '%E' "${repodeps[@]}")) - [[ "${allrepodepspkgs[*]}" ]] && - repodepspkgstmp=($("$pacmanbin" -T -- "${allrepodepspkgs[@]}" | sort -u)) + [[ "${allrepodepspkgs[*]}" ]] && repodepspkgstmp=($("$pacmanbin" -T -- "${allrepodepspkgs[@]}" | sort -u)) # remove duplicate - [[ "${repodepspkgstmp[*]}" ]] && - repodepspkgstmp=($(CommArr 'repodepspkgs' 'repodepspkgstmp' '-13')) - + [[ "${repodepspkgstmp[*]}" ]] && repodepspkgstmp=($(CommArr 'repodepspkgs' 'repodepspkgstmp' '-13')) [[ "${repodepspkgstmp[*]}" ]] && repodepspkgs+=("${repodepspkgstmp[@]}") && repodeps=("${repodepspkgstmp[@]}") && FindDepsRepo "${repodeps[@]}" } @@ -587,8 +582,7 @@ FindDepsRepoProvider() { # get non installed repo deps unset allproviderrepodepspkgs providerrepodepspkgstmp - [[ "${providerspkgs[*]}" ]] && - allproviderrepodepspkgs=($(expac -S1 '%E' "${providerspkgs[@]}")) + [[ "${providerspkgs[*]}" ]] && allproviderrepodepspkgs=($(expac -S1 '%E' "${providerspkgs[@]}")) # no version check needed as all deps are binary [[ "${allproviderrepodepspkgs[*]}" ]] && providerrepodepspkgstmp=($("$pacmanbin" -T -- "${allproviderrepodepspkgs[@]}" | sort -u)) @@ -597,18 +591,14 @@ FindDepsRepoProvider() { [[ "${providerrepodepspkgstmp[*]}" ]] && providerrepodepspkgstmp=($(CommArr 'repodepspkgs' 'providerrepodepspkgstmp' '-13')) - if [[ "${providerrepodepspkgstmp[*]}" ]]; then - repodepspkgs+=("${providerrepodepspkgstmp[@]}") - providerspkgs=("${providerrepodepspkgstmp[@]}") - FindDepsRepoProvider "${providerspkgs[@]}" - fi + [[ "${providerrepodepspkgstmp[*]}" ]] && repodepspkgs+=("${providerrepodepspkgstmp[@]}") && + providerspkgs=("${providerrepodepspkgstmp[@]}") && FindDepsRepoProvider "${providerspkgs[@]}" } IgnoreDepsChecks() { local i - # global ignoredpkgs aurpkgs aurdepspkgs aurdepspkgsAgrp aurdepspkgsQgrp repodepspkgsSgrp - # global repodepspkgsQgrp rmaurpkgs deps repodepspkgs - [[ ! "${ignoredpkgs[*]}" && ! "${ignoredgrps[*]}" ]] && return + # global ignoredpkgs aurpkgs aurdepspkgs aurdepspkgsgrp repodepspkgsgrp rmaurpkgs deps repodepspkgs + [[ "${ignoredpkgs[*]}" || "${ignoredgrps[*]}" ]] || return # add checked targets and preserve tsorted order deps=("${deps[@]:0:${#aurpkgs[@]}}") @@ -620,9 +610,9 @@ IgnoreDepsChecks() { isignored=1 elif [[ "${ignoredgrps[*]}" ]]; then unset repodepspkgsSgrp repodepspkgsQgrp - repodepspkgsSgrp=($(expac -S1 '%G' "$i")) - repodepspkgsQgrp=($(expac -Q '%G' "$i")) - for j in "${repodepspkgsSgrp[@]}" "${repodepspkgsQgrp[@]}"; do + repodepspkgsgrp=($(expac -S1 '%G' "$i")) + repodepspkgsgrp+=($(expac -Q '%G' "$i")) + for j in "${repodepspkgsgrp[@]}"; do [[ " ${ignoredgrps[*]} " =~ " $j " ]] && isignored=1 done fi @@ -643,10 +633,10 @@ IgnoreDepsChecks() { if [[ " ${ignoredpkgs[*]} " =~ " $i " ]]; then isignored=1 elif [[ "${ignoredgrps[*]}" ]]; then - unset aurdepspkgsAgrp aurdepspkgsQgrp - aurdepspkgsAgrp=($(GetJson "$json" "Groups" "$i")) - aurdepspkgsQgrp=($(expac -Q '%G' "$i")) - for j in "${aurdepspkgsAgrp[@]}" "${aurdepspkgsQgrp[@]}"; do + unset aurdepspkgsgrp + aurdepspkgsgrp=($(GetJson "$json" "Groups" "$i")) + aurdepspkgsgrp+=($(expac -Q '%G' "$i")) + for j in "${aurdepspkgsgrp[@]}"; do [[ " ${ignoredgrps[*]} " =~ " $j " ]] && isignored=1 done fi @@ -671,7 +661,7 @@ ProviderChecks() { local providersdeps providersdepsnover providers repodepspkgsprovided providerspkgs provided local nb providersnb # global repodepspkgs repoprovidersconflictingpkgs repodepsSver repodepsSrepo repodepsQver - [[ ! "${repodepspkgs[*]}" ]] && return + [[ "${repodepspkgs[*]}" ]] || return # filter directly provided deps noprovidersdeps=($(expac -S1 '%n' "${repodepspkgs[@]}")) @@ -748,11 +738,9 @@ ProviderChecks() { esac case "$nb" in - [0-9]|[0-9][0-9]) - if [[ "$nb" -lt 0 || "$nb" -ge "${#providers[@]}" ]]; then + [0-9]|[0-9][0-9]) if [[ "$nb" -lt 0 || "$nb" -ge "${#providers[@]}" ]]; then printf '\n' - Note "f" $"invalid value: $nb is not between 0 and $providersnb" - ((i--)) + Note "f" $"invalid value: $nb is not between 0 and $providersnb" && ((i--)) else break fi;; @@ -787,8 +775,8 @@ ConflictChecks() { local allQprovides allQconflicts Aprovides Aconflicts aurconflicts aurAconflicts Qrequires i j local k l repodepsprovides repodepsconflicts checkedrepodepsconflicts repodepsconflictsname local repodepsconflictsver localver repoconflictingpkgs - # global deps depsAname json aurdepspkgs aurconflictingpkgs aurconflictingpkgsrm depsQver - # global repodepspkgs repoconflictingpkgsrm repoprovidersconflictingpkgs + # global deps depsAname aurdepspkgs aurconflictingpkgs aurconflictingpkgskeep aurconflictingpkgsrm json + # global depsQver repodepspkgs repoconflictingpkgskeep repoconflictingpkgsrm repoprovidersconflictingpkgs Note "i" $"looking for inter-conflicts..." allQprovides=($(expac -Q '%n')) @@ -823,16 +811,15 @@ ConflictChecks() { if [[ ! "$noconfirm" && ! " ${aurconflictingpkgs[*]} " =~ " $k " ]]; then if ! Proceed "n" $"$j and $k are in conflict ($i). Remove $k?"; then aurconflictingpkgs+=("$j" "$k") + aurconflictingpkgskeep+=("$j") aurconflictingpkgsrm+=("$k") for l in "${!depsAname[@]}"; do - [[ " ${depsAname[$l]} " =~ "$k" ]] && - read -rd' ' < <(expac -Qs '%v' "^$k$") depsQver[$l] + [[ " ${depsAname[$l]} " =~ "$k" ]] && read -rd' ' < <(expac -Qs '%v' "^$k$") depsQver[$l] done Aprovides+=($(GetJson "$json" "Provides" "$j")) # remove AUR versioning Aprovides=("${Aprovides[@]%%[><=]*}") - [[ ! " ${Aprovides[*]} ${aurconflictingpkgsrm[*]} " =~ " $k " ]] && - CheckRequires "$k" + [[ ! " ${Aprovides[*]} ${aurconflictingpkgsrm[*]} " =~ " $k " ]] && CheckRequires "$k" break else Note "f" $"unresolvable package conflicts detected" @@ -894,11 +881,11 @@ ConflictChecks() { if [[ ! "$noconfirm" && ! " ${repoconflictingpkgs[*]} " =~ " $k " ]]; then if ! Proceed "n" $"$j and $k are in conflict ($i). Remove $k?"; then repoconflictingpkgs+=("$j" "$k") + repoconflictingpkgskeep+=("$j") repoconflictingpkgsrm+=("$k") repoprovidersconflictingpkgs+=("$j") Qprovides=($(expac -Ss '%S' "^$k$")) - [[ ! " ${Qprovides[*]} ${repoconflictingpkgsrm[*]} " =~ " $k " ]] && - CheckRequires "$k" + [[ ! " ${Qprovides[*]} ${repoconflictingpkgsrm[*]} " =~ " $k " ]] && CheckRequires "$k" break else Note "f" $"unresolvable package conflicts detected" @@ -918,8 +905,7 @@ ConflictChecks() { ReinstallChecks() { local i depsAtmp - # global aurpkgs aurdepspkgs deps aurconflictingpkgs depsAname depsQver depsAver depsAood - # global depsAmain + # global aurpkgs aurdepspkgs deps aurconflictingpkgs depsAname depsQver depsAver depsAood depsAmain depsAtmp=("${depsAname[@]}") for i in "${!depsAtmp[@]}"; do [[ ! " ${aurpkgs[*]} " =~ " ${depsAname[$i]} " ]] || @@ -934,7 +920,7 @@ ReinstallChecks() { Note "w" $"${colorW}${depsAname[$i]}-${depsQver[$i]}${reset} is up to date -- reinstalling" else Note "w" $"${colorW}${depsAname[$i]}-${depsQver[$i]}${reset} is up to date -- skipping" - mapfile -t deps < <(printf ' %s \n' "${deps[@]}") + mapfile -t < <(printf ' %s \n' "${deps[@]}") deps deps=($(printf '%s\n' "${deps[@]// ${depsAname[$i]} /}")) unset "depsAname[$i]" "depsQver[$i]" "depsAver[$i]" "depsAood[$i]" "depsAmain[$i]" fi @@ -975,7 +961,7 @@ Prompt() { sumk=0 summ=0 for i in "${!repodepspkgs[@]}"; do - GetBuiltPkg "${repodepspkgs[$i]}-${repodepsSver[$i]}" '/var/cache/pacman/pkg' + GetBuiltPkg "${repodepspkgs[$i]}-${repodepsSver[$i]}" "$(pacman-conf CacheDir)" [[ "$builtpkg" ]] && binaryksize[$i]=0 sumk="$((sumk + "${binaryksize[$i]}"))" summ="$((summ + "${binarymsize[$i]}"))" @@ -988,8 +974,7 @@ Prompt() { for i in "${!depsAname[@]}"; do [[ ! "$PKGDEST" || "$rebuild" ]] && break GetBuiltPkg "${depsAname[$i]}-${depsAver[$i]}" "$PKGDEST" - [[ "$builtpkg" ]] && cachedpkgs+=("${depsAname[$i]}") && depsAcached[$i]=$"(cached)" || - depsAcached[$i]="" + [[ "$builtpkg" ]] && cachedpkgs+=("${depsAname[$i]}") && depsAcached[$i]=$"(cached)" || depsAcached[$i]="" unset builtpkg done @@ -1029,13 +1014,13 @@ Prompt() { repodepspkgsver="${repodepspkgsver}${repodepspkgs[$i]}-${repodepsSver[$i]} " done printf "\n${colorW}%-16s${reset} %s\n" $"AUR Packages (${#deps[@]})" "$depsver" - [[ "${repodepspkgs[*]}" ]] && printf "${colorW}%-16s${reset} %s\n" $"Repo Packages (${#repodepspkgs[@]})" "$repodepspkgsver" + [[ "${repodepspkgs[*]}" ]] && + printf "${colorW}%-16s${reset} %s\n" $"Repo Packages (${#repodepspkgs[@]})" "$repodepspkgsver" fi if [[ "${repodepspkgs[*]}" ]]; then - strrepodlsize=$"Repo Download Size:"; strrepoinsize=$"Repo Installed Size:" - strsumk=$"$sumk MiB"; strsumm=$"$summ MiB" - lreposizelabel="$(GetLength "$strrepodlsize" "$strrepoinsize")" + strrepodlsize=$"Repo Download Size:"; strrepoinsize=$"Repo Installed Size:"; strsumk=$"$sumk MiB" + strsumm=$"$summ MiB" lreposizelabel="$(GetLength "$strrepodlsize" "$strrepoinsize")" lreposize="$(GetLength "$strsumk" "$strsumm")" printf "\n${colorW}%-${lreposizelabel}s${reset} %${lreposize}s\n" "$strrepodlsize" "$strsumk" printf "${colorW}%-${lreposizelabel}s${reset} %${lreposize}s\n" "$strrepoinsize" "$strsumm" @@ -1185,8 +1170,8 @@ MakePkgs() { pkgsdeps+=("%") done deplist="${pkgsdeps[@]}"; deplist="${deplist// % /|}"; deplist="${deplist//%}" - deplist="${deplist// /,}"; deplist="${deplist//|/ }"; pkgsdeps=($(printf '%s\n' ${deplist%, })) - pkgsdeps=("${pkgsdeps[@]%,}") + deplist="${deplist// /,}"; deplist="${deplist//|/ }"; deplist="${deplist%, }" + pkgsdeps=($(printf '%s\n' ${deplist% ,})); pkgsdeps=("${pkgsdeps[@]%,}") # reverse deps order for i in "${!basepkgs[@]}"; do @@ -1207,8 +1192,7 @@ MakePkgs() { unset builtpkg if [[ ! "${basepkgs[$i]}" =~ $vcs ]]; then for j in "${pkgsdepslist[@]}"; do - [[ "$PKGDEST" && ! "$rebuild" ]] && - GetBuiltPkg "$j-$(GetJson "$json" "Version" "$j")" "$PKGDEST" + [[ "$PKGDEST" && ! "$rebuild" ]] && GetBuiltPkg "$j-$(GetJson "$json" "Version" "$j")" "$PKGDEST" done fi @@ -1216,8 +1200,8 @@ MakePkgs() { # commit into account) unset vcsclients makedeps=($(GetJson "$json" "MakeDepends" "${basepkgs[$i]}")) - for i in git subversion mercurial bzr cvs darcsl; do - [[ " ${makedeps[*]} " =~ " $i " ]] && vcsclients+=("$i") + for k in git subversion mercurial bzr cvs darcsl; do + [[ " ${makedeps[*]} " =~ " $k " ]] && vcsclients+=("$k") done unset makedeps for j in "${vcsclients[@]}"; do @@ -1228,7 +1212,7 @@ MakePkgs() { done if [[ ! "$builtpkg" || "$rebuild" ]]; then - cd_safe "$clonedir/${basepkgs[$i]}" + cd "${clonedir:?}/${basepkgs[$i]}" || exit "$E_MISSING_FILE" Note "i" $"Checking ${colorW}${pkgsdeps[$i]}${reset} integrity..." if [[ "$silent" = true ]]; then makepkg -f --verifysource "${makeopts[@]}" &>/dev/null @@ -1265,7 +1249,7 @@ MakePkgs() { # install provider packages and repo conflicting packages that makepkg --noconfirm cannot handle if [[ "${repoprovidersconflictingpkgs[*]}" ]]; then Note "i" $"Installing ${colorW}${repoprovidersconflictingpkgs[@]}${reset} dependencies..." - sudo "$pacmanbin" -S "${repoprovidersconflictingpkgs[@]}" --ask 36 --asdeps --noconfirm + sudo "$pacmanbin" -S ${repoprovidersconflictingpkgs[@]} --ask 36 --asdeps --noconfirm fi # main @@ -1273,10 +1257,9 @@ MakePkgs() { # get split packages list read -rd',' -a pkgsdepslist <<< "${pkgsdeps[$i]}" - cd_safe "$clonedir/${basepkgs[$i]}" + cd "$clonedir/${basepkgs[$i]}" || exit "$E_MISSING_FILE" # retrieve updated version - mapfile -t -d'-' k < <(makepkg --packagelist) && aurdevelpkgsAver="${k[-3]}-${k[-2]}" - unset k + mapfile -d'-' -t < <(makepkg --packagelist) k && aurdevelpkgsAver="${k[-3]}-${k[-2]}"; unset k # build devel if necessary only (supported protocols only) if [[ "${basepkgs[$i]}" =~ $vcs ]]; then # check split packages update @@ -1287,8 +1270,7 @@ MakePkgs() { [[ "$(vercmp "$aurdevelpkgsQver" "$aurdevelpkgsAver")" -ge 0 ]]; then Note "w" $"${colorW}$j${reset} is up-to-date -- skipping" && continue else - basepkgsupdate='true' - checkpkgsdepslist+=("$j") + basepkgsupdate='true'; checkpkgsdepslist+=("$j") fi done [[ "$basepkgsupdate" ]] && pkgsdepslist=("${checkpkgsdepslist[@]}") || continue @@ -1343,7 +1325,7 @@ MakePkgs() { if [[ "$PKGDEST" ]]; then GetBuiltPkg "$j-$aurdevelpkgsAver" "$PKGDEST" else - GetBuiltPkg "$j-$aurdevelpkgsAver" "$clonedir/${basepkgs[$i]}" + GetBuiltPkg "$j-$aurdevelpkgsAver" "${clonedir:?}/${basepkgs[$i]}" fi [[ " ${aurdepspkgs[*]} " =~ " $j " ]] && builtdepspkgs+=("$builtpkg") || builtpkgs+=("$builtpkg") done @@ -1351,7 +1333,7 @@ MakePkgs() { # install if [[ "$installpkg" || ! "${builtpkgs[*]}" ]]; then Note "i" $"Installing ${colorW}${pkgsdeps[$i]}${reset} package(s)..." - sudo "$pacmanbin" -U --ask 36 ${pacopts[@]/--quiet} --noconfirm -- ${builtdepspkgs[@]} ${builtpkgs[@]} + sudo "$pacmanbin" -U ${builtdepspkgs[@]} ${builtpkgs[@]} --ask 36 ${pacopts[@]/--quiet} --noconfirm fi # set dep status @@ -1365,15 +1347,15 @@ MakePkgs() { done # remove AUR deps - if [[ ! $installpkg ]]; then + if [[ ! "$installpkg" ]]; then [[ "${aurdepspkgs[*]}" ]] && aurdepspkgs=($(expac -Q '%n' "${aurdepspkgs[@]}")) [[ "${aurdepspkgs[*]}" ]] && Note "i" $"Removing installed AUR dependencies..." && sudo "$pacmanbin" -Rsn "${aurdepspkgs[@]}" --noconfirm # readd removed conflicting packages [[ "${aurconflictingpkgsrm[*]}" ]] && - sudo "$pacmanbin" -S "${aurconflictingpkgsrm[@]}" --ask 36 --asdeps --needed --noconfirm + sudo "$pacmanbin" -S ${aurconflictingpkgsrm[@]} --ask 36 --asdeps --needed --noconfirm [[ "${repoconflictingpkgsrm[*]}" ]] && - sudo "$pacmanbin" -S "${repoconflictingpkgsrm[@]}" --ask 36 --asdeps --needed --noconfirm + sudo "$pacmanbin" -S ${repoconflictingpkgsrm[@]} --ask 36 --asdeps --needed --noconfirm fi # remove locks @@ -1449,11 +1431,11 @@ CleanCache() { fi printf "\n%s %s\n" $"AUR clone directory:" "$clonedir" if [[ "$ccount" -eq 1 ]]; then - foreignpkgsbase=($(expac -Q '%n %e' $("$pacmanbin" -Qmq))) + mapfile -t < <(expac -Q '%e' $("$pacmanbin" -Qmq)) foreignpkgsbase # get target if [[ "${pkgs[*]}" ]]; then - pkgsbase=($(expac -Q '%e' "${pkgs[@]}")) - aurpkgsbase=($(CommArr 'pkgsbase' 'foreignpkgsbase' '-12')) + mapfile -t < <(expac -Q '%e' "${pkgs[@]}") pkgsbase + mapfile -t < <(CommArr 'pkgsbase' 'foreignpkgsbase' '-12') aurpkgsbase if Proceed "y" $"Do you want to remove ${aurpkgsbase[*]} clones from AUR clone directory?"; then printf "%s\n\n" $"removing uninstalled clones from AUR clone cache..." for i in "${aurpkgsbase[@]}"; do @@ -1507,8 +1489,10 @@ GetInstallScripts() { # global installscripts [[ ! -d "$clonedir/$1" ]] && return unset installscriptspath installscripts - installscriptspath=($(find "$clonedir/$1/" -maxdepth 1 -name "*.install")) - [[ "${installscriptspath[*]}" ]] && installscripts=($(basename -a "${installscriptspath[@]}")) + shopt -s nullglob + installscriptspath=($(printf '%s\n' "$clonedir/$1/"*'.install')) + shopt -u nullglob + [[ "${installscriptspath[*]}" ]] && installscripts=("${installscriptspath[@]##*/}") } GetBuiltPkg() { @@ -1518,15 +1502,15 @@ GetBuiltPkg() { # and lastly all remaining suffixes in case PKGEXT is locally overridden for ext in "$PKGEXT" .pkg.tar{.xz,,.gz,.bz2,.lzo,.lrz,.Z}; do builtpkg="$2/$1-${CARCH}${ext}" - [[ ! -f "$builtpkg" ]] && builtpkg="$2/$1-any${ext}" + [[ -f "$builtpkg" ]] || builtpkg="$2/$1-any${ext}" [[ -f "$builtpkg" ]] && break done - [[ ! -f "$builtpkg" ]] && unset builtpkg + [[ -f "$builtpkg" ]] || unset builtpkg } GetPkgbase() { local i - # global json pkgsbase basepkgs + # global pkgsbase basepkgs SetJson "$@" for i in "$@"; do pkgsbase+=($(GetJson "$json" "PackageBase" "$i")) @@ -1751,7 +1735,7 @@ pkgs=("$@") # color if [[ ! "$color" ]]; then - [[ ! "$(pacman-conf Color)" ]] || [[ "$quiet" && "$search" || "$operation" = upgrades ]] && + [[ ! "$(pacman-conf Color)" || "$operation" = upgrades || "$quiet" && "$search" ]] && color=never || color=auto fi pacopts+=("--color=$color") && auropts+=("--color=$color") @@ -1767,6 +1751,7 @@ fi [[ "$pac" -eq 0 && "$pace" ]] && operation=edit [[ "$pacQ" && "$pace" ]] && pacopts+=("-e") [[ "$pacQ" && "$upgrade" ]] && operation=upgrades +[[ "$pacQ" && "$native" ]] && repo=1 [[ "$pacS" && "$downloadonly" ]] && unset installpkg [[ "$pacS" && "$noop" ]] && unset operation [[ "$pacS" && "$cleancache" ]] && unset search info upgrade @@ -1783,7 +1768,7 @@ fi Note "e" $"${colorW}$clonedir${reset} does not have write permission" "$E_FS_PERMISSIONS" [[ ! "${pkgs[*]}" && ! "${refresh}${upgrade}${cleancache}" && "$operation" =~ (sync|edit) ]] && Note "e" $"no targets specified (use -h for help)" "$E_FAIL" -[[ ! "${pkgs[*]}" && " ${pacmanarg[*]} " =~ ' '-[RU]' ' && ! " ${pacmanarg[*]} " =~ ' -h ' ]] && +[[ ! "${pkgs[*]}" && " ${pacmanarg[*]} " =~ ' '-[RU]' ' && ! "$help" ]] && Note "e" $"no targets specified (use -h for help)" "$E_FAIL" [[ "$repo" && "$aur" ]] && unset aur repo && Note "w" $"invalid option: '-r/--repo' and '-a/--aur' may not be used together, disabling both" @@ -1806,8 +1791,7 @@ case "$operation" in exitrepo=$? fi if [[ ! "$repo" ]]; then - auracle search ${auropts[@]} -- ${pkgs[@]} - exitaur=$? + auracle search ${auropts[@]} -- ${pkgs[@]}; exitaur=$? fi # exit code [[ "$exitrepo" = 0 || "$exitaur" = 0 ]] && exit "$E_OK" || exit "$E_FAIL" @@ -1860,7 +1844,7 @@ case "$operation" in exit;; upgrades) # upgrades (-Qu) handling [[ "$aur" ]] || "$pacmanbin" ${pacmanarg[@]} ${pacopts[@]} -- ${pkgs[@]}; exitrepo=$? - if [[ ! "$repo" && ! "$native" ]]; then + if [[ ! "$repo" ]]; then if [[ ! "${pkgs[*]}" ]]; then auracle sync ${auropts[@]} $("$pacmanbin" -qm ${pacmanarg[@]//-u} ${pacopts[@]//--upgrades}) else @@ -1869,7 +1853,7 @@ case "$operation" in exitaur=$? fi [[ "$exitrepo" = 0 || "$exitaur" = 0 ]] && exit "$E_OK" || exit "$E_FAIL";; - *) if [[ " ${pacmanarg[*]} " =~ ' -F ' && " ${pacmanarg[*]} " =~ ' -y ' ]]; then + *) if [[ " ${pacmanarg[*]} " =~ ' -F ' && "$refresh" ]]; then sudo "$pacmanbin" ${pacmanarg[@]} ${pacopts[@]} -- ${pkgs[@]} elif [[ ! "${pkgs[*]}" ]] || [[ " ${pacmanarg[*]} " =~ ' '-[DFQTglp]' ' && ! "${asdeps}${asexplicit}" ]]; then |