summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authore5ten <e5ten.arch@gmail.com>2019-04-28 03:09:10 -0400
committere5ten <e5ten.arch@gmail.com>2019-05-03 14:09:38 -0400
commit7d9aaa82c18e15afcd1f9691480e441ad95a20ab (patch)
treea7ce4cfa0906dd3c663b87f7fcc49aad2e0d7851
parent72bfcd1d4e2dbeb536bfc120e9c371461842f09c (diff)
syntax changes, mostly in how arrays are assigned in some places
-rwxr-xr-xpacaur164
1 files changed, 74 insertions, 90 deletions
diff --git a/pacaur b/pacaur
index ba8cc57..2ea86b5 100755
--- a/pacaur
+++ b/pacaur
@@ -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