summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authore5ten <e5ten.arch@gmail.com>2019-04-21 16:51:06 -0400
committere5ten <e5ten.arch@gmail.com>2019-05-03 14:01:17 -0400
commit3fc28e198f7f3696ab907588e459ded9e6653bd0 (patch)
tree202090002455342e1c16bb4f81a580a968d73493
parente9485c251053a04b5d34cc68202b405f77e8cce7 (diff)
simpify a lot of conditional checks to not use if, add a lot of line breaks to try to keep line size down
-rwxr-xr-xpacaur441
1 files changed, 213 insertions, 228 deletions
diff --git a/pacaur b/pacaur
index cb2e370..5e2f970 100755
--- a/pacaur
+++ b/pacaur
@@ -33,8 +33,8 @@ usercachedir="${XDG_CACHE_HOME:-${HOME}/.cache}/pacaur"
tmpdir="${XDG_RUNTIME_DIR:-/tmp}"
# preserve environment variables
-vars=('PACMAN' 'PKGDEST' 'SRCDEST' 'SRCPKGDEST' 'LOGDEST' 'BUILDDIR' 'PKGEXT'
- 'SRCEXT' 'GPGKEY' 'PACKAGER' 'CARCH')
+vars=('PACMAN' 'PKGDEST' 'SRCDEST' 'SRCPKGDEST' 'LOGDEST' 'BUILDDIR' 'PKGEXT' 'SRCEXT' 'GPGKEY'
+ 'PACKAGER' 'CARCH')
for i in "${vars[@]}"; do
[[ "${!i}" ]] && declare _"$i"="${!i}"
done
@@ -110,10 +110,12 @@ ClassifyPkgs() {
[[ "$i" = aur/* ]] && aurpkgs+=("${i:4}") && continue # search aur/pkgs in AUR
noaurpkgs+=("$i")
done
- [[ "${noaurpkgs[*]}" ]] && norepopkgs=($(LC_ALL=C "$pacmanbin" -Sp -- "${noaurpkgs[@]}" 2>&1 >/dev/null | awk '{print $NF}'))
+ [[ "${noaurpkgs[*]}" ]] &&
+ norepopkgs=($(LC_ALL=C "$pacmanbin" -Sp -- "${noaurpkgs[@]}" 2>&1 >/dev/null |
+ awk '{print $NF}'))
for i in "${norepopkgs[@]}"; do
- [[ ! " ${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") # do not search repo/pkgs in AUR
done
repopkgs=($(DiffArr 'aurpkgs' 'noaurpkgs' -v))
fi
@@ -145,7 +147,8 @@ UpgradeAur() {
allaurpkgsAver=($(GetJson "$json" "Version"))
allaurpkgsQver=($(expac -Q '%v' "${allaurpkgs[@]}"))
for i in "${!allaurpkgs[@]}"; do
- [[ "$(vercmp "${allaurpkgsAver[$i]}" "${allaurpkgsQver[$i]}")" -gt 0 ]] && aurpkgs+=("${allaurpkgs[$i]}");
+ [[ "$(vercmp "${allaurpkgsAver[$i]}" "${allaurpkgsQver[$i]}")" -gt 0 ]] &&
+ aurpkgs+=("${allaurpkgs[$i]}");
done
# foreign packages check
@@ -305,10 +308,12 @@ DepsSolver() {
[[ " $j " = " ${errdepsnover[$i]} " ]] && break
done
# reverse deps order
- tsorterrdeps=($(awk '{for (i=NF;i>=1;i--) print $i}' <<< "${tsorterrdeps[@]}" | awk -F "\n" '{print}'))
+ tsorterrdeps=($(awk '{for (i=NF;i>=1;i--) print $i}' <<< "${tsorterrdeps[@]}" |
+ awk -F "\n" '{print}'))
errdepslist+=("${tsorterrdeps[0]}")
FindDepsAurError "${tsorterrdeps[@]}"
- errdepslist=($(awk '{for (i=NF;i>=1;i--) print $i}' <<< "${errdepslist[@]}" | awk -F "\n" '{print}'))
+ errdepslist=($(awk '{for (i=NF;i>=1;i--) print $i}' <<< "${errdepslist[@]}" |
+ awk -F "\n" '{print}'))
Note "f" $"no results found for ${errdeps[$i]} (dependency tree: ${errdepslist[*]})"
fi
done
@@ -324,7 +329,7 @@ DepsSolver() {
FindDepsAur() {
local depspkgs depspkgstmp depspkgsaurtmp builtpkg vcsdepspkgs assumedepspkgs aurversionpkgs
- local aurversionpkgsname aurversionpkgsver aurversionpkgsaurver i j json
+ local aurversionpkgsname aurversionpkgsver aurversionpkgsaurver aurversionpkgsverdiff i j json
# global aurpkgsnover depspkgsaur errdeps repodeps aurdepspkgs prevdepspkgsaur foreignpkgs
[[ "$nodeps" && "$dcount" -ge 2 ]] && return
@@ -341,28 +346,28 @@ FindDepsAur() {
# versioning check
if [[ "${aurversionpkgs[*]}" ]]; then
for i in "${!aurversionpkgs[@]}"; do
- unset aurversionpkgsname aurversionpkgsver aurversionpkgsaurver
+ unset aurversionpkgsname aurversionpkgsver aurversionpkgsaurver aurversionpkgsverdiff
aurversionpkgsname="${aurversionpkgs[$i]%%[><=]*}"
aurversionpkgsver="${aurversionpkgs[$i]##*[><=]}"
aurversionpkgsaurver="$(GetJson "$json" "Version" "$aurversionpkgsname")"
+ aurversionpkgsverdiff="$(vercmp "$aurversionpkgsaurver" "$aurversionpkgsver")"
# not found in AUR nor repo
- if [[ ! "$aurversionpkgsaurver" ]]; then
- [[ ! " ${errdeps[*]} " =~ " ${aurversionpkgs[$i]} " ]] && errdeps+=("${aurversionpkgs[$i]}")
- continue
- fi
+ [[ ! "$aurversionpkgsaurver" && ! " ${errdeps[*]} " =~ " ${aurversionpkgs[$i]} " ]] &&
+ errdeps+=("${aurversionpkgs[$i]}") && continue
case "${aurversionpkgs[$i]}" in
*">"*|*"<"*|*"="*)
# found in AUR but version not correct
case "${aurversionpkgs[$i]}" in
- *">="*) [[ "$(vercmp "$aurversionpkgsaurver" "$aurversionpkgsver")" -ge 0 ]] && continue;;
- *"<="*) [[ "$(vercmp "$aurversionpkgsaurver" "$aurversionpkgsver")" -le 0 ]] && continue;;
- *">"*) [[ "$(vercmp "$aurversionpkgsaurver" "$aurversionpkgsver")" -gt 0 ]] && continue;;
- *"<"*) [[ "$(vercmp "$aurversionpkgsaurver" "$aurversionpkgsver")" -lt 0 ]] && continue;;
- *"="*) [[ "$(vercmp "$aurversionpkgsaurver" "$aurversionpkgsver")" -eq 0 ]] && continue;;
+ *">="*) [[ "$aurversionpkgsverdiff" -ge 0 ]] && continue;;
+ *"<="*) [[ "$aurversionpkgsverdiff" -le 0 ]] && continue;;
+ *">"*) [[ "$aurversionpkgsverdiff" -gt 0 ]] && continue;;
+ *"<"*) [[ "$aurversionpkgsverdiff" -lt 0 ]] && continue;;
+ *"="*) [[ "$aurversionpkgsverdiff" -eq 0 ]] && continue;;
esac
- [[ ! " ${errdeps[*]} " =~ " ${aurversionpkgs[$i]} " ]] && errdeps+=("${aurversionpkgs[$i]}")
+ [[ ! " ${errdeps[*]} " =~ " ${aurversionpkgs[$i]} " ]] &&
+ errdeps+=("${aurversionpkgs[$i]}")
;;
*) continue;;
esac
@@ -376,9 +381,12 @@ FindDepsAur() {
depspkgs+=($(GetJson "$json" "MakeDepends"))
[[ "$checkdeps" ]] && depspkgs+=($(GetJson "$json" "CheckDepends"))
else
- [[ ! "${depspkgsaur[*]}" ]] && depspkgsaurtmp=("${aurpkgs[@]}") || depspkgsaurtmp=("${depspkgsaur[@]}")
+ [[ ! "${depspkgsaur[*]}" ]] && depspkgsaurtmp=("${aurpkgs[@]}") ||
+ depspkgsaurtmp=("${depspkgsaur[@]}")
for i in "${!depspkgsaurtmp[@]}"; do
- GetBuiltPkg "$(GetJson "$json" "Name" "${depspkgsaurtmp[$i]}")-$(GetJson "$json" "Version" "${depspkgsaurtmp[$i]}")" "$PKGDEST"
+ local depAname="$(GetJson "$json" "Name" "${depspkgsaurtmp[$i]}")"
+ local depAver="$(GetJson "$json" "Version" "${depspkgsaurtmp[$i]}")"
+ GetBuiltPkg "$depAname-$depAver" "$PKGDEST"
if [[ ! "$builtpkg" ]]; then
depspkgs+=($(GetJson "$json" "MakeDepends" "${depspkgsaurtmp[$i]}"))
[[ "$checkdeps" ]] && depspkgs+=($(GetJson "$json" "CheckDepends"))
@@ -388,15 +396,14 @@ FindDepsAur() {
fi
# remove deps provided by targets
- if [[ "${aurpkgsproviders[*]}" ]]; then
- depspkgs=($(DiffArr 'aurpkgsproviders' 'depspkgs' -v))
- fi
+ [[ "${aurpkgsproviders[*]}" ]] && depspkgs=($(DiffArr 'aurpkgsproviders' 'depspkgs' -v))
# workaround for limited RPC support of architecture dependent fields
if [[ "${CARCH}" == 'i686' ]]; then
depspkgstmp=("${depspkgs[@]}")
for i in "${!depspkgstmp[@]}"; do
- [[ "${depspkgstmp[$i]}" =~ ^(lib32-|gcc-multilib) ]] && depspkgs=($(printf '%s\n' "${depspkgs[@]}" | sed "s%^${depspkgstmp[$i]}$%%g"))
+ [[ "${depspkgstmp[$i]}" =~ ^(lib32-|gcc-multilib) ]] &&
+ depspkgs=($(printf '%s\n' "${depspkgs[@]}" | sed "s%^${depspkgstmp[$i]}$%%g"))
done
fi
@@ -411,7 +418,8 @@ FindDepsAur() {
unset j && j="$(expac -Qs '%n %P' "^${depspkgs[$i]}$" | head -1 | grep -E "([^a-zA-Z0-9_@\.\+-]${depspkgs[$i]}|^${depspkgs[$i]})" | grep -E "(${depspkgs[$i]}[^a-zA-Z0-9\.\+-]|${depspkgs[$i]}$)" | awk '{print $1}')"
if [[ "$j" ]]; then
depspkgs[$i]="$j"
- [[ "$devel" && ! " ${ignoredpkgs[*]} " =~ " $j " && "$j" =~ -$vcs ]] && vcsdepspkgs+=("$j")
+ [[ "$devel" && ! " ${ignoredpkgs[*]} " =~ " $j " && "$j" =~ -$vcs ]] &&
+ vcsdepspkgs+=("$j")
else
foreignpkgs+=("${depspkgs[$i]}")
fi
@@ -454,12 +462,11 @@ FindDepsAur() {
unset depspkgs
# remove duplicate
- if [[ "${depspkgsaur[*]}" ]]; then
- depspkgsaur=($(DiffArr 'aurdepspkgs' 'depspkgsaur' -v))
- fi
+ [[ "${depspkgsaur[*]}" ]] && depspkgsaur=($(DiffArr 'aurdepspkgs' 'depspkgsaur' -v))
# dependency cycle check
- [[ "${prevdepspkgsaur[*]}" ]] && [[ "${prevdepspkgsaur[*]}" = "${depspkgsaur[*]}" ]] && Note "e" $"dependency cycle detected (${depspkgsaur[*]})"
+ [[ "${prevdepspkgsaur[*]}" ]] && [[ "${prevdepspkgsaur[*]}" = "${depspkgsaur[*]}" ]] &&
+ Note "e" $"dependency cycle detected (${depspkgsaur[*]})"
if [[ "${depspkgsaur[*]}" ]]; then
# store for AUR version check
@@ -474,16 +481,15 @@ FindDepsAur() {
depspkgsaur=($(printf '%s\n' "${depspkgsaur[@]}" | sort -u))
fi
- if [[ "${depspkgsaur[*]}" ]]; then
- aurdepspkgs+=("${depspkgsaur[@]}")
+ [[ "${depspkgsaur[*]}" ]] && aurdepspkgs+=("${depspkgsaur[@]}") &&
FindDepsAur "${depspkgsaur[@]}"
- fi
}
SortDepsAur() {
local i j sortaurpkgs sortdepspkgs sortdepspkgsaur
# global checkedsortdepspkgsaur allcheckedsortdepspkgsaur json errdepsnover
- [[ ! "${checkedsortdepspkgsaur[*]}" ]] && sortaurpkgs=("${aurpkgs[@]}") || sortaurpkgs=("${checkedsortdepspkgsaur[@]}")
+ [[ "${checkedsortdepspkgsaur[*]}" ]] && sortaurpkgs=("${checkedsortdepspkgsaur[@]}") ||
+ sortaurpkgs=("${aurpkgs[@]}")
unset checkedsortdepspkgsaur
for i in "${!sortaurpkgs[@]}"; do
@@ -503,7 +509,8 @@ SortDepsAur() {
sortdepspkgs[$j]="${sortdepspkgs[$j]%%[><=]*}"
sortdepspkgsaur+=($(GetJson "$json" "Name" "${sortdepspkgs[$j]}"))
# add erroneous AUR deps
- [[ " ${errdepsnover[*]} " =~ " ${sortdepspkgs[$j]} " ]] && sortdepspkgsaur+=("${sortdepspkgs[$j]}")
+ [[ " ${errdepsnover[*]} " =~ " ${sortdepspkgs[$j]} " ]] &&
+ sortdepspkgsaur+=("${sortdepspkgs[$j]}")
done
# prepare tsort list
@@ -534,11 +541,11 @@ 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]}"
-
if [[ ! " ${aurpkgs[*]} " =~ " $nexterrdep " ]]; then
nextallerrdeps=($(GetJson "$json" "Depends" "$nexterrdep"))
nextallerrdeps+=($(GetJson "$json" "MakeDepends" "$nexterrdep"))
@@ -549,10 +556,8 @@ FindDepsAurError() {
nextallerrdeps[$i]="${nextallerrdeps[$i]%%[><=]*}"
done
- if [[ " ${nextallerrdeps[*]} " =~ " $currenterrdep " ]]; then
- errdepslist+=("$nexterrdep")
+ [[ " ${nextallerrdeps[*]} " =~ " $currenterrdep " ]] && errdepslist+=("$nexterrdep") &&
currenterrdep="${tsorterrdeps[0]}"
- fi
tsorterrdeps=("${tsorterrdeps[@]:1}")
FindDepsAurError "${tsorterrdeps[@]}"
else
@@ -566,9 +571,7 @@ FindDepsAurError() {
nextallerrdeps[$j]="${nextallerrdeps[$j]%%[><=]*}"
done
- if [[ " ${nextallerrdeps[*]} " =~ " $currenterrdep " ]]; then
- errdepslist+=("${aurpkgs[$i]}")
- fi
+ [[ " ${nextallerrdeps[*]} " =~ " $currenterrdep " ]] && errdepslist+=("${aurpkgs[$i]}")
done
fi
}
@@ -592,16 +595,11 @@ FindDepsRepo() {
repodepspkgstmp=($("$pacmanbin" -T -- "${allrepodepspkgs[@]}" | sort -u))
# remove duplicate
- if [[ "${repodepspkgstmp[*]}" ]]; then
+ [[ "${repodepspkgstmp[*]}" ]] &&
repodepspkgstmp=($(DiffArr 'repodepspkgs' 'repodepspkgstmp' -v))
- fi
- if [[ "${repodepspkgstmp[*]}" ]]; then
- repodepspkgs+=("${repodepspkgstmp[@]}")
-
- repodeps=("${repodepspkgstmp[@]}")
- FindDepsRepo "${repodeps[@]}"
- fi
+ [[ "${repodepspkgstmp[*]}" ]] && repodepspkgs+=("${repodepspkgstmp[@]}") &&
+ repodeps=("${repodepspkgstmp[@]}") && FindDepsRepo "${repodeps[@]}"
}
FindDepsRepoProvider() {
@@ -614,13 +612,15 @@ FindDepsRepoProvider() {
# get non installed repo deps
unset allproviderrepodepspkgs providerrepodepspkgstmp
- [[ "${providerspkgs[*]}" ]] && allproviderrepodepspkgs=($(expac -S -1 '%E' "${providerspkgs[@]}")) # no version check needed as all deps are binary
- [[ "${allproviderrepodepspkgs[*]}" ]] && providerrepodepspkgstmp=($("$pacmanbin" -- -T "${allproviderrepodepspkgs[@]}" | sort -u))
+ [[ "${providerspkgs[*]}" ]] &&
+ allproviderrepodepspkgs=($(expac -S -1 '%E' "${providerspkgs[@]}"))
+ # no version check needed as all deps are binary
+ [[ "${allproviderrepodepspkgs[*]}" ]] &&
+ providerrepodepspkgstmp=($("$pacmanbin" -- -T "${allproviderrepodepspkgs[@]}" | sort -u))
# remove duplicate
- if [[ "${providerrepodepspkgstmp[*]}" ]]; then
+ [[ "${providerrepodepspkgstmp[*]}" ]] &&
providerrepodepspkgstmp=($(DiffArr 'repodepspkgs' 'providerrepodepspkgstmp' -v))
- fi
if [[ "${providerrepodepspkgstmp[*]}" ]]; then
repodepspkgs+=("${providerrepodepspkgstmp[@]}")
@@ -656,18 +656,16 @@ IgnoreDepsChecks() {
fi
if [[ "$isignored" ]]; then
- if [[ ! "$upgrade" ]]; then
- Note "w" $"skipping target: ${colorW}$i${reset}"
- else
+ [[ ! "$upgrade" ]] && Note "w" $"skipping target: ${colorW}$i${reset}" ||
Note "w" $"${colorW}$i${reset}: ignoring package upgrade"
- fi
Note "e" $"Unresolved dependency '${colorW}$i${reset}'"
fi
done
for i in "${aurdepspkgs[@]}"; do
# skip already checked dependencies
[[ " ${aurpkgs[*]} " =~ " $i " ]] && continue
- [[ " ${rmaurpkgs[*]} " =~ " $i " ]] && Note "e" $"Unresolved dependency '${colorW}$i${reset}'"
+ [[ " ${rmaurpkgs[*]} " =~ " $i " ]] &&
+ Note "e" $"Unresolved dependency '${colorW}$i${reset}'"
unset isignored
if [[ " ${ignoredpkgs[*]} " =~ " $i " ]]; then
@@ -691,11 +689,8 @@ IgnoreDepsChecks() {
Note "e" $"Unresolved dependency '${colorW}$i${reset}'"
fi
else
- if [[ ! "$upgrade" ]]; then
+ [[ "$upgrade" ]] && Note "w" $"${colorW}$i${reset}: ignoring package upgrade" ||
Note "w" $"skipping target: ${colorW}$i${reset}"
- else
- Note "w" $"${colorW}$i${reset}: ignoring package upgrade"
- fi
Note "e" $"Unresolved dependency '${colorW}$i${reset}'"
fi
fi
@@ -727,13 +722,15 @@ ProviderChecks() {
case "${providersdeps[$i]}" in
*">"*|*"<"*|*"="*)
for j in "${!providersdepsSname[@]}"; do
+ unset providersdepverdiff
+ providersdepsverdiff="$(vercmp "$providersdepsver" "${providersdepsSver[j]}")"
# found in repo but version not correct
case "${providersdeps[$i]}" in
- *">="*) [[ $(vercmp "$providersdepsver" "${providersdepsSver[j]}") -ge 0 ]] && continue;;
- *"<="*) [[ $(vercmp "$providersdepsver" "${providersdepsSver[j]}") -le 0 ]] && continue;;
- *">"*) [[ $(vercmp "$providersdepsver" "${providersdepsSver[j]}") -gt 0 ]] && continue;;
- *"<"*) [[ $(vercmp "$providersdepsver" "${providersdepsSver[j]}") -lt 0 ]] && continue;;
- *"="*) [[ $(vercmp "$providersdepsver" "${providersdepsSver[j]}") -eq 0 ]] && continue;;
+ *">="*) [[ "$providersdepsverdiff" -ge 0 ]] && continue;;
+ *"<="*) [[ "$providersdepsverdiff" -le 0 ]] && continue;;
+ *">"*) [[ "$providersdepsverdiff" -gt 0 ]] && continue;;
+ *"<"*) [[ "$providersdepsverdiff" -lt 0 ]] && continue;;
+ *"="*) [[ "$providersdepsverdiff" -eq 0 ]] && continue;;
esac
providersdepsnover+=("${providersdepsSname[j]}")
done
@@ -784,7 +781,9 @@ ProviderChecks() {
case "$nb" in
[0-9]|[0-9][0-9])
if [[ "$nb" -lt 0 || "$nb" -ge "${#providers[@]}" ]]; then
- echo && Note "f" $"invalid value: $nb is not between 0 and $providersnb" && ((i--))
+ echo
+ Note "f" $"invalid value: $nb is not between 0 and $providersnb"
+ ((i--))
else
break
fi;;
@@ -905,14 +904,15 @@ ConflictChecks() {
repodepsconflictsname="${repodepsconflicts[$i]%%[><=]*}"
repodepsconflictsver="${repodepsconflicts[$i]##*[><=]}"
[[ "$repodepsconflictsname" ]] && localver="$(expac -Q '%v' "$repodepsconflictsname")"
+ repodepsconflictsverdiff="$(vercmp "$repodepsconflictsver" "$localver")"
if [[ "$localver" ]]; then
case "${repodepsconflicts[$i]}" in
- *">="*) [[ $(vercmp "$repodepsconflictsver" "$localver") -ge 0 ]] && continue;;
- *"<="*) [[ $(vercmp "$repodepsconflictsver" "$localver") -le 0 ]] && continue;;
- *">"*) [[ $(vercmp "$repodepsconflictsver" "$localver") -gt 0 ]] && continue;;
- *"<"*) [[ $(vercmp "$repodepsconflictsver" "$localver") -lt 0 ]] && continue;;
- *"="*) [[ $(vercmp "$repodepsconflictsver" "$localver") -eq 0 ]] && continue;;
+ *">="*) [[ "$repodepsconflictsverdiff" -ge 0 ]] && continue;;
+ *"<="*) [[ "$repodepsconflictsverdiff" -le 0 ]] && continue;;
+ *">"*) [[ "$repodepsconflictsverdiff" -gt 0 ]] && continue;;
+ *"<"*) [[ "$repodepsconflictsverdiff" -lt 0 ]] && continue;;
+ *"="*) [[ "$repodepsconflictsverdiff" -eq 0 ]] && continue;;
esac
checkedrepodepsconflicts+=("$repodepsconflictsname")
fi
@@ -961,8 +961,10 @@ ReinstallChecks() {
# global depsAmain
depsAtmp=("${depsAname[@]}")
for i in "${!depsAtmp[@]}"; do
- [[ ! " ${aurpkgs[*]} " =~ " ${depsAname[$i]} " || " ${aurconflictingpkgs[*]} " =~ " ${depsAname[$i]} " ]] && continue
- [[ ! "${depsQver[$i]}" || "${depsQver[$i]}" = '#' || $(vercmp "${depsAver[$i]}" "${depsQver[$i]}") -gt 0 ]] && continue
+ [[ ! " ${aurpkgs[*]} " =~ " ${depsAname[$i]} " ]] ||
+ [[ " ${aurconflictingpkgs[*]} " =~ " ${depsAname[$i]} " ]] && continue
+ [[ ! "${depsQver[$i]}" || "${depsQver[$i]}" = '#' ]] ||
+ [[ "$(vercmp "${depsAver[$i]}" "${depsQver[$i]}")" -gt 0 ]] && continue
[[ ! $installpkg && ! " ${aurdepspkgs[*]} " =~ " ${depsAname[$i]} " ]] && continue
if [[ "${depsAname[$i]}" =~ -$vcs ]]; then
Note "w" $"${colorW}${depsAname[$i]}${reset} latest revision -- fetching"
@@ -976,8 +978,8 @@ ReinstallChecks() {
fi
fi
done
- [[ "$needed" ]] && depsAname=("${depsAname[@]}") && depsQver=("${depsQver[@]}") && depsAver=("${depsAver[@]}") && depsAood=("${depsAood[@]}") && depsAmain=("${depsAmain[@]}")
-
+ [[ "$needed" ]] && depsAname=("${depsAname[@]}") && depsQver=("${depsQver[@]}") &&
+ depsAver=("${depsAver[@]}") && depsAood=("${depsAood[@]}") && depsAmain=("${depsAmain[@]}")
NothingToDo "${deps[@]}"
}
@@ -993,7 +995,7 @@ OrphanChecks() {
local i
# global depsAname depsAver depsAmain
for i in "${!depsAname[@]}"; do
- [[ "${depsAmain[$i]}" == 'null' ]] && Note "w" $"${colorW}${depsAname[$i]}-${depsAver[$i]}${reset} is ${colorR}orphaned${reset} in AUR"
+ [[ "${depsAmain[$i]}" == 'null' ]] &&Note "w" $"${colorW}${depsAname[$i]}-${depsAver[$i]}${reset} is ${colorR}orphaned${reset} in AUR"
done
}
@@ -1022,12 +1024,15 @@ 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
if [[ "$(pacman-conf VerbosePkgLists)" ]]; then
- straurname=$"AUR Packages (${#deps[@]})"; strreponame=$"Repo Packages (${#repodepspkgs[@]})"; stroldver=$"Old Version"; strnewver=$"New Version"; strsize=$"Download Size"
+ straurname=$"AUR Packages (${#deps[@]})"
+ strreponame=$"Repo Packages (${#repodepspkgs[@]})"
+ stroldver=$"Old Version"; strnewver=$"New Version"; strsize=$"Download Size"
depsArepo=("${depsAname[@]/#/aur/}")
lname="$(GetLength "${depsArepo[@]}" "${repodepsSrepo[@]}" "$straurname" "$strreponame")"
lver="$(GetLength "${depsQver[@]}" "${depsAver[@]}" "${repodepsQver[@]}" "${repodepsSver[@]}" "$stroldver" "$strnewver")"
@@ -1087,18 +1092,14 @@ DownloadPkgs() {
GetPkgbase "$@"
# no results check
- if [[ ! "${basepkgs[*]}" ]]; then
- Note "e" $"no results found"
- return
- fi
+ [[ ! "${basepkgs[*]}" ]] && Note "e" $"no results found"
# reset
for i in "${basepkgs[@]}"; do
- cd "$clonedir" || exit 1
if [[ -d "$i" ]]; then
- cd "$clonedir/$i" || exit 1
- git reset --hard HEAD -q # updated pkgver of vcs packages prevent pull
- [[ "$displaybuildfiles" = diff ]] && git rev-parse HEAD > ".git/HEAD.prev"
+ git -C "$clonedir/$i" reset --hard HEAD -q # updated pkgver of vcs packages block pull
+ [[ "$displaybuildfiles" = diff ]] &&
+ git -C "$clonedir/$i" rev-parse HEAD > "$clonedir/$i/.git/HEAD.prev"
fi
done
@@ -1111,59 +1112,64 @@ DownloadPkgs() {
EditPkgs() {
local viewed i j erreditpkg
# global cachedpkgs installscripts editor
+ diffcmd() {
+ git diff $2 --no-ext-diff <"$clonedir/$1/.git/HEAD.prev" -- . ':!\.SRCINFO'
+ }
[[ "$noedit" ]] && return
unset viewed
for i in "$@"; do
[[ " ${cachedpkgs[*]} " =~ " $i " ]] && continue
- cd "$clonedir/$i" || exit 1
+ local prevcomm="$(<"$clonedir/$i/.git/HEAD.prev")"
GetInstallScripts "$i"
if [[ ! "$edit" ]]; then
- if [[ ! "$displaybuildfiles" = none ]]; then
- if [[ "$displaybuildfiles" = diff && -e ".git/HEAD.prev" ]]; then
- # show diff
- if [[ "$(git diff --no-ext-diff "$(cut -f1 .git/HEAD.prev)" -- . ':!\.SRCINFO')" ]]; then
- if Proceed "y" $"View $i build files diff?"; then
- git diff --no-ext-diff "$(cut -f1 .git/HEAD.prev)" -- . ':!\.SRCINFO' || erreditpkg+=("$i")
- Note "i" $"${colorW}$i${reset} build files diff viewed"
- viewed=1
- fi
- else
- Note "w" $"${colorW}$i${reset} build files are up-to-date -- skipping"
+ if [[ "$displaybuildfiles" = diff && -e "$clonedir/$i/.git/HEAD.prev" ]]; then
+ # show diff
+ if ! git diff --quiet --no-ext-diff "$prevcomm" -- . ':!\.SRCINFO'; then
+ if Proceed "y" $"View $i build files diff?"; then
+ git diff --no-ext-diff "$prevcomm" -- . ':!\.SRCINFO' || erreditpkg+=("$i")
+ Note "i" $"${colorW}$i${reset} build files diff viewed"; viewed=1
fi
else
- # show pkgbuild
- if Proceed "y" $"View $i PKGBUILD?"; then
- if [[ -e "PKGBUILD" ]]; then
- "$editor" "PKGBUILD" && Note "i" $"${colorW}$i${reset} PKGBUILD viewed" || erreditpkg+=("$i")
- else
- Note "e" $"Could not open ${colorW}$i${reset} PKGBUILD"
- fi
+ Note "w" $"${colorW}$i${reset} build files are up-to-date -- skipping"
+ fi
+ elif [[ ! "$displaybuildfiles" = none ]]; then
+ # show pkgbuild
+ if Proceed "y" $"View $i PKGBUILD?"; then
+ if [[ -e "$clonedir/$i/PKGBUILD" ]]; then
+ "$editor" "$clonedir/$i/PKGBUILD" &&
+ Note "i" $"${colorW}$i${reset} PKGBUILD viewed" || erreditpkg+=("$i")
+ else
+ Note "e" $"Could not open ${colorW}$i${reset} PKGBUILD"
fi
- # show install script
- if [[ "${installscripts[*]}" ]]; then
- for j in "${installscripts[@]}"; do
- if Proceed "y" $"View $j script?"; then
- if [[ -e "$j" ]]; then
- "$editor" "$j" && Note "i" $"${colorW}$j${reset} script viewed" || erreditpkg+=("$i")
- else
- Note "e" $"Could not open ${colorW}$j${reset} script"
- fi
+ fi
+ # show install script
+ if [[ "${installscripts[*]}" ]]; then
+ for j in "${installscripts[@]}"; do
+ if Proceed "y" $"View $j script?"; then
+ if [[ -e "$clonedir/$i/$j" ]]; then
+ "$editor" "$clonedir/$i/$j" &&
+ Note "i" $"${colorW}$j${reset} script viewed" ||
+ erreditpkg+=("$i")
+ else
+ Note "e" $"Could not open ${colorW}$j${reset} script"
fi
- done
- fi
+ fi
+ done
fi
fi
else
# show pkgbuild and install script
- if [[ -e "PKGBUILD" ]]; then
- "$editor" "PKGBUILD" && Note "i" $"${colorW}$i${reset} PKGBUILD viewed" || erreditpkg+=("$i")
+ if [[ -e "$clonedir/$i/PKGBUILD" ]]; then
+ "$editor" "$clonedir/$i/PKGBUILD" &&
+ Note "i" $"${colorW}$i${reset} PKGBUILD viewed" || erreditpkg+=("$i")
else
Note "e" $"Could not open ${colorW}$i${reset} PKGBUILD"
fi
if [[ "${installscripts[*]}" ]]; then
for j in "${installscripts[@]}"; do
- if [[ -e "$j" ]]; then
- "$editor" "$j" && Note "i" $"${colorW}$j${reset} script viewed" || erreditpkg+=("$i")
+ if [[ -e "$clonedir/$i/$j" ]]; then
+ "$editor" "$clonedir/$i/$j" &&
+ Note "i" $"${colorW}$j${reset} script viewed" || erreditpkg+=("$i")
else
Note "e" $"Could not open ${colorW}$j${reset} script"
fi
@@ -1212,11 +1218,13 @@ MakePkgs() {
# split packages support
for i in "${!pkgsbase[@]}"; do
for j in "${!deps[@]}"; do
- [[ "${pkgsbase[$i]}" = "${pkgsbase[$j]}" && ! " ${pkgsdeps[*]} " =~ " ${deps[$j]} " ]] && pkgsdeps+=("${deps[$j]}")
+ [[ "${pkgsbase[$i]}" = "${pkgsbase[$j]}" ]] &&
+ [[ ! " ${pkgsdeps[*]} " =~ " ${deps[$j]} " ]] && pkgsdeps+=("${deps[$j]}")
done
pkgsdeps+=("#")
done
- pkgsdeps=($(sed 's/ # /\n/g' <<< "${pkgsdeps[@]}" | tr -d '#' | sed '/^ $/d' | tr ' ' ',' | sed 's/^,//g;s/,$//g'))
+ pkgsdeps=($(sed 's/ # /\n/g' <<< "${pkgsdeps[@]}" | tr -d '#' | sed '/^ $/d' | tr ' ' ',' |
+ sed 's/^,//g;s/,$//g'))
# reverse deps order
basepkgs=($(awk '{for (i=NF;i>=1;i--) print $i}' <<< "${basepkgs[@]}" | awk -F "\n" '{print}'))
@@ -1231,11 +1239,13 @@ 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
- # install vcs clients (checking pkgbase extension only does not take fetching specific commit into account)
+ # install vcs clients (checking pkgbase extension only does not take fetching specific
+ # commit into account)
unset vcsclients
vcsclients=($(GetJson "$json" "MakeDepends" "${basepkgs[$i]}" | grep -E "$vcs"))
for j in "${vcsclients[@]}"; do
@@ -1269,7 +1279,7 @@ MakePkgs() {
Note "f" $"failed to verify integrity or prepare ${colorW}$i${reset} package"
done
# remove sudo lock
- rm -f "$tmpdir/pacaur.sudov.lck"
+ rm -f "${tmpdir:?}/pacaur.sudov.lck"
exit 1
fi
@@ -1295,26 +1305,23 @@ MakePkgs() {
cd "$clonedir/${basepkgs[$i]}" || exit 1
# retrieve updated version
- aurdevelpkgsAver="$(makepkg --packagelist | awk -F "-" '{print $(NF-2)"-"$(NF-1)}' | head -1)"
+ aurdevelpkgsAver="$(makepkg --packagelist | awk -F "-" '{print $(NF-2)"-"$(NF-1)}' |
+ head -1)"
# build devel if necessary only (supported protocols only)
if [[ "${basepkgs[$i]}" =~ -(bzr|git|hg|svn|daily.*|nightly.*)$ ]]; then
# check split packages update
unset basepkgsupdate checkpkgsdepslist
for j in "${pkgsdepslist[@]}"; do
aurdevelpkgsQver="$(expac -Qs '%v' "^$j$" | head -1)"
- if [[ "$aurdevelpkgsQver" && "$(vercmp "$aurdevelpkgsQver" "$aurdevelpkgsAver")" -ge 0 && "$needed" && ! "$rebuild" ]]; then
- Note "w" $"${colorW}$j${reset} is up-to-date -- skipping"
- continue
+ if [[ "$needed" && ! "$rebuild" && "$aurdevelpkgsQver" ]] &&
+ [[ "$(vercmp "$aurdevelpkgsQver" "$aurdevelpkgsAver")" -ge 0 ]]; then
+ Note "w" $"${colorW}$j${reset} is up-to-date -- skipping" && continue
else
basepkgsupdate='true'
checkpkgsdepslist+=("$j")
fi
done
- if [[ "$basepkgsupdate" ]]; then
- pkgsdepslist=("${checkpkgsdepslist[@]}")
- else
- continue
- fi
+ [[ "$basepkgsupdate" ]] && pkgsdepslist=("${checkpkgsdepslist[@]}") || continue
fi
# check package cache
@@ -1325,7 +1332,8 @@ MakePkgs() {
if [[ " ${aurdepspkgs[*]} " =~ " $j " || "$installpkg" ]]; then
Note "i" $"Installing ${colorW}$j${reset} cached package..."
sudo "$pacmanbin" -U "$builtpkg" --ask 36 "${pacopts[@]/--quiet}" --noconfirm
- [[ ! " ${aurpkgs[*]} " =~ " $j " ]] && sudo "$pacmanbin" -D "$j" --asdeps "${pacopts[@]}" &>/dev/null
+ [[ ! " ${aurpkgs[*]} " =~ " $j " ]] &&
+ sudo "$pacmanbin" -D "$j" --asdeps "${pacopts[@]}" &>/dev/null
else
Note "w" $"Package ${colorW}$j${reset} already available in cache"
fi
@@ -1356,16 +1364,13 @@ MakePkgs() {
fi
# error check
- if (($? > 0)); then
- errmakepkg+=("${pkgsdeps[$i]}")
- continue # skip install
- fi
+ (($? > 0)) && errmakepkg+=("${pkgsdeps[$i]}") && continue # skip install
# retrieve filename
unset builtpkgs builtdepspkgs
for j in "${pkgsdepslist[@]}"; do
unset builtpkg
- if [[ $PKGDEST ]]; then
+ if [[ "$PKGDEST" ]]; then
GetBuiltPkg "$j-$aurdevelpkgsAver" "$PKGDEST"
else
GetBuiltPkg "$j-$aurdevelpkgsAver" "$clonedir/${basepkgs[$i]}"
@@ -1392,18 +1397,18 @@ MakePkgs() {
# remove AUR deps
if [[ ! $installpkg ]]; then
[[ "${aurdepspkgs[*]}" ]] && aurdepspkgs=($(expac -Q '%n' "${aurdepspkgs[@]}"))
- if [[ "${aurdepspkgs[*]}" ]]; then
- Note "i" $"Removing installed AUR dependencies..."
+ [[ "${aurdepspkgs[*]}" ]] && Note "i" $"Removing installed AUR dependencies..." &&
sudo "$pacmanbin" -Rsn "${aurdepspkgs[@]}" --noconfirm
- fi
# readd removed conflicting packages
- [[ "${aurconflictingpkgsrm[*]}" ]] && sudo "$pacmanbin" -S "${aurconflictingpkgsrm[@]}" --ask 36 --asdeps --needed --noconfirm
- [[ "${repoconflictingpkgsrm[*]}" ]] && sudo "$pacmanbin" -S "${repoconflictingpkgsrm[@]}" --ask 36 --asdeps --needed --noconfirm
+ [[ "${aurconflictingpkgsrm[*]}" ]] &&
+ sudo "$pacmanbin" -S "${aurconflictingpkgsrm[@]}" --ask 36 --asdeps --needed --noconfirm
+ [[ "${repoconflictingpkgsrm[*]}" ]] &&
+ sudo "$pacmanbin" -S "${repoconflictingpkgsrm[@]}" --ask 36 --asdeps --needed --noconfirm
fi
# remove locks
- rm "$tmpdir/pacaur.build.lck"
- rm -f "$tmpdir/pacaur.sudov.lck"
+ rm "${tmpdir:?}/pacaur.build.lck"
+ rm -f "${tmpdir:?}/pacaur.sudov.lck"
# new orphan and optional packages check
orphanpkgs=($("$pacmanbin" -Qdtq))
@@ -1432,9 +1437,7 @@ CheckUpdates() {
local aurpkgsQignore aurdevelpkgsAver aurdevelpkgsQver aurpkgsQoodAver
# global aur repo
- if [[ ! "$aur" ]]; then
- "$pacmanbin" "${pacmanarg[@]}" "${pacopts[@]}"; exitrepo=$?
- fi
+ [[ ! "$aur" ]] && "$pacmanbin" "${pacmanarg[@]}" "${pacopts[@]}"; exitrepo=$?
GetIgnoredPkgs
@@ -1446,7 +1449,8 @@ CheckUpdates() {
aurpkgsAver=($(GetJson "$json" "Version"))
aurpkgsQver=($(expac -Q '%v' "${aurpkgsAname[@]}"))
for i in "${!aurpkgsAname[@]}"; do
- [[ "$(vercmp "${aurpkgsAver[$i]}" "${aurpkgsQver[$i]}")" -gt 0 ]] && aurpkgsQood+=("${aurpkgsAname[$i]}");
+ [[ "$(vercmp "${aurpkgsAver[$i]}" "${aurpkgsQver[$i]}")" -gt 0 ]] &&
+ aurpkgsQood+=("${aurpkgsAname[$i]}");
done
fi
@@ -1457,16 +1461,19 @@ CheckUpdates() {
[[ "$i" =~ -$vcs ]]&& aurpkgsQood+=("$i")
done
else
- foreignpkgsbase=($(expac -Q '%n %e' "${foreignpkgs[@]}" | awk '{if ($2 == "(null)") print $1; else print $2}'))
+ foreignpkgsbase=($(expac -Q '%n %e' "${foreignpkgs[@]}" |
+ awk '{if ($2 == "(null)") print $1; else print $2}'))
foreignpkgsnobase=($(expac -Q '%n' "${foreignpkgs[@]}"))
for i in "${!foreignpkgsbase[@]}"; do
if [[ "${foreignpkgsbase[$i]}" =~ -$vcs ]]; then
- [[ ! -d "$clonedir/${foreignpkgsbase[$i]}" ]] && DownloadPkgs "${foreignpkgsbase[$i]}" &>/dev/null
+ [[ ! -d "$clonedir/${foreignpkgsbase[$i]}" ]] &&
+ DownloadPkgs "${foreignpkgsbase[$i]}" &>/dev/null
cd "$clonedir/${foreignpkgsbase[$i]}" || exit 1
# silent extraction and pkgver update only
makepkg -od --noprepare --skipinteg &>/dev/null
# retrieve updated version
- aurdevelpkgsAver="$(makepkg --packagelist | awk -F "-" '{print $(NF-2)"-"$(NF-1)}' | head -1)"
+ aurdevelpkgsAver="$(makepkg --packagelist |
+ awk -F "-" '{print $(NF-2)"-"$(NF-1)}' | head -1)"
aurdevelpkgsQver="$(expac -Qs '%v' "^${foreignpkgsbase[$i]}$" | head -1)"
if [[ "$(vercmp "$aurdevelpkgsQver" "$aurdevelpkgsAver")" -ge 0 ]]; then
continue
@@ -1505,18 +1512,11 @@ CheckUpdates() {
fi
fi
# exit code
- if [[ "$exitrepo" && "$exitaur" ]]; then
- [[ "$exitrepo" -eq 0 || "$exitaur" -eq 0 ]] && exit 0 || exit 1
- elif [[ "$exitrepo" ]]; then
- [[ "$exitrepo" -eq 0 ]] && exit 0 || exit 1
- elif [[ "$exitaur" ]]; then
- [[ "$exitaur" -eq 0 ]] && exit 0 || exit 1
- else
- exit 1
- fi
+ [[ "$exitrepo" = 0 || "$exitaur" = 0 ]] && exit 0 || exit 1
}
CleanCache() {
+ local i
cachedir=($(pacman-conf CacheDir))
[[ "${cachedir[*]}" ]] && cachedir=("${cachedir[@]%/}") && PKGDEST="${PKGDEST%/}"
if [[ "$PKGDEST" && ! " ${cachedir[*]} " =~ " $PKGDEST " ]]; then
@@ -1527,34 +1527,31 @@ CleanCache() {
printf "%s\n" $"removing old packages from cache..."
for i in $(ls "$PKGDEST" | sed "s%\(.*\)-.*%\1%g"); do
pkgname="$(sed "s%\(.*\)-.*-.*%\1%g" <<< "$i")"
- [[ "$i" != "$(expac -Q '%n-%v' "$pkgname")" ]] && rm "$PKGDEST"/"$i"-*
+ [[ "$i" != "$(expac -Q '%n-%v' "$pkgname")" ]] && rm "${PKGDEST:?}/$i"-*
done
fi
else
- if ! Proceed "n" $"Do you want to remove ALL files from AUR cache?"; then
- printf "%s\n" $"removing all files from AUR cache..."
- rm "$PKGDEST"/* &>/dev/null
- fi
+ Proceed "n" $"Do you want to remove ALL files from AUR cache?" ||
+ printf "%s\n" $"removing all files from AUR cache..." &&
+ rm "${PKGDEST:?}"/* &>/dev/null
fi
fi
if [[ -d "$SRCDEST" ]]; then
- [[ "$ccount" -eq 1 ]] && printf "\n%s\n %s\n" $"Sources to keep:" $"All development packages sources"
+ [[ "$ccount" -eq 1 ]] &&
+ printf "\n%s\n %s\n" $"Sources to keep:" $"All development packages sources"
printf "\n%s %s\n" $"AUR source cache directory:" "$SRCDEST"
if [[ "$ccount" -eq 1 ]]; then
- if Proceed "y" $"Do you want to remove all non development files from AUR source cache?"; then
- printf "%s\n" $"removing non development files from source cache..."
- rm -f "$SRCDEST"/* &>/dev/null
- fi
+ Proceed "y" $"Do you want to remove all non development files from AUR source cache?" &&
+ printf "%s\n" $"removing non development files from source cache..." &&
+ rm -f "${SRCDEST:?}"/* &>/dev/null
else
- if ! Proceed "n" $"Do you want to remove ALL files from AUR source cache?"; then
- printf "%s\n" $"removing all files from AUR source cache..."
- rm -rf "$SRCDEST"/* &>/dev/null
- fi
+ Proceed "n" $"Do you want to remove ALL files from AUR source cache?" ||
+ printf "%s\n" $"removing all files from AUR source cache..." &&
+ rm -rf "${SRCDEST:?}"/*
fi
fi
if [[ -d "$clonedir" ]]; then
- cd "$clonedir" || exit 1
if [[ "$ccount" -eq 1 ]]; then
if [[ ! "${pkgs[*]}" ]]; then
printf "\n%s\n %s\n" $"Clones to keep:" $"All locally installed clones"
@@ -1564,29 +1561,32 @@ CleanCache() {
fi
printf "\n%s %s\n" $"AUR clone directory:" "$clonedir"
if [[ "$ccount" -eq 1 ]]; then
- foreignpkgsbase=($(expac -Q '%n %e' "$("$pacmanbin" -Qmq)" | awk '{if ($2 == "(null)") print $1; else print $2}'))
+ foreignpkgsbase=($(expac -Q '%n %e' "$("$pacmanbin" -Qmq)" |
+ awk '{if ($2 == "(null)") print $1; else print $2}'))
# get target
if [[ "${pkgs[*]}" ]]; then
pkgsbase=($(expac -Q %e "${pkgs[@]}"))
aurpkgsbase=($(DiffArr 'pkgsbase' 'foreignpkgsbase'))
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 clone in "${aurpkgsbase[@]}"; do
- [[ -d "$clonedir/$clone" ]] && rm -rf "$clonedir/$clone"
+ for i in "${aurpkgsbase[@]}"; do
+ [[ -d "$clonedir/$i" ]] && rm -rf "${clonedir:?}/$i"
done
fi
else
if Proceed "y" $"Do you want to remove all uninstalled clones from AUR clone directory?"; then
printf "%s\n\n" $"removing uninstalled clones from AUR clone cache..."
- for clone in *; do
- [[ -d "$clonedir/$clone" && ! " ${foreignpkgsbase[*]} " =~ " $clone " ]] && rm -rf "$clonedir/$clone"
+ for i in "${clonedir:?}/"*; do
+ [[ -d "$i" && ! " ${foreignpkgsbase[*]} " =~ " $i " ]] &&
+ rm -rf "${clonedir:?}/$i"
done
fi
if [[ ! "$PKGDEST" || ! "$SRCDEST" ]]; then
if Proceed "y" $"Do you want to remove all untracked files from AUR clone directory?"; then
printf "%s\n" $"removing untracked files from AUR clone cache..."
- for clone in *; do
- [[ -d "$clonedir/$clone" ]] && git --git-dir="$clone/.git" --work-tree="$clone" clean -ffdx &>/dev/null
+ for i in "${clonedir:?}/"*; do
+ [[ -d "$i" ]] &&
+ git --git-dir="$i/.git" --work-tree="$i" clean -ffdx &>/dev/null
done
fi
fi
@@ -1594,8 +1594,8 @@ CleanCache() {
else
if ! Proceed "n" $"Do you want to remove ALL clones from AUR clone directory?"; then
printf "%s\n" $"removing all clones from AUR clone cache..."
- for clone in *; do
- [[ -d "$clonedir/$clone" ]] && rm -rf "$clonedir/$clone"
+ for i in "${clonedir:?}/"*; do
+ [[ -d "$i" ]] && rm -rf "$i"
done
fi
fi
@@ -1629,10 +1629,9 @@ GetBuiltPkg() {
# global builtpkg
# check PKGEXT suffixe first, then default .xz suffixe for repository packages in pacman cache
# and lastly all remaining suffixes in case PKGEXT is locally overridden
- for pkgext in "$PKGEXT" .pkg.tar.xz .pkg.tar .pkg.tar.gz .pkg.tar.bz2 .pkg.tar.lzo .pkg.tar.lrz .pkg.tar.Z; do
+ for pkgext in "$PKGEXT" .pkg.tar{.xz,,.gz,.bz2,.lzo,.lrz,.Z}; do
builtpkg="$2/$1-${CARCH}$pkgext"
- [[ ! -f "$builtpkg" ]] && builtpkg="$2/$1-any$pkgext"
- [[ -f "$builtpkg" ]] && break;
+ [[ -f "$builtpkg" ]] && break || builtpkg="$2/$1-any$pkgext"
done
[[ ! -f "$builtpkg" ]] && unset builtpkg
}
@@ -1686,10 +1685,7 @@ Proceed() {
[[ "$TERM" = dumb || "$cleancache" ]] && local readline=1
case "$1" in
y) printf "${colorB}%s${reset} ${colorW}%s${reset}" "::" "$2 [Y/n] "
- if [[ "$noconfirm" ]]; then
- echo
- return 0
- fi
+ [[ "$noconfirm" ]] && echo && return 0
while true; do
if [[ "$readline" ]]; then
read -r answer
@@ -1703,10 +1699,7 @@ Proceed() {
esac
done;;
n) printf "${colorB}%s${reset} ${colorW}%s${reset}" "::" "$2 [y/N] "
- if [[ "$noconfirm" ]]; then
- echo
- return 0
- fi
+ [[ "$noconfirm" ]] && echo && return 0
while true; do
if [[ "$readline" ]]; then
read -r answer
@@ -1869,7 +1862,8 @@ pkgs=("$@")
# color
if [[ ! "$color" ]]; then
- [[ ! "$(pacman-conf Color)" ]] || [[ "$quiet" && "$search" || "$operation" = upgrades ]] && color=never || color=auto
+ [[ ! "$(pacman-conf Color)" ]] || [[ "$quiet" && "$search" || "$operation" = upgrades ]] &&
+ color=never || color=auto
fi
pacopts+=("--color=$color") && auropts+=("--color=$color")
if [[ ! "$color" = never ]]; then
@@ -1891,9 +1885,8 @@ fi
Note "e" $"${colorW}\$VISUAL${reset} and ${colorW}\$EDITOR${reset} environment variables not set or defined ${colorW}editor${reset} not found"
[[ "$PACMAN" = "${0##*/}" ]] &&
Note "e" $"you cannot use ${colorW}pacaur${reset} as PACMAN environment variable"
-[[ ! -w "$clonedir" ]] &&
- Note "e" $"${colorW}$clonedir${reset} does not have write permission"
-[[ ! "${pkgs[*]}" && ! "$refresh" && ! "$upgrade" && ! "$cleancache" ]] && [[ "$operation" =~ (sync|edit) ]] &&
+[[ ! -w "$clonedir" ]] && Note "e" $"${colorW}$clonedir${reset} does not have write permission"
+[[ ! "${pkgs[*]}" && ! "${refresh}${upgrade}${cleancache}" && "$operation" =~ (sync|edit) ]] &&
Note "e" $"no targets specified (use -h for help)"
[[ ! "${pkgs[*]}" && " ${pacmanarg[*]} " =~ ' '-[RU]' ' && ! " ${pacmanarg[*]} " =~ ' -h ' ]] &&
Note "e" $"no targets specified (use -h for help)"
@@ -1902,8 +1895,7 @@ fi
# operations
case "$operation" in
- edit)
- # edit (-e) handling
+ edit) # edit (-e) handling
GetPkgbase "${pkgs[@]}"
EditPkgs "${pkgsbase[@]}"
exit;;
@@ -1916,22 +1908,14 @@ case "$operation" in
else
"$pacmanbin" "${pacmanarg[@]}" "${pacopts[@]}" -- "${pkgs[@]}"
fi
+ exitrepo=$?
fi
- exitrepo=$?
if [[ ! "$repo" ]]; then
auracle search "${auropts[@]}" -- "${pkgs[@]}"
exitaur=$?
fi
# exit code
- if [[ "$exitrepo" && "$exitaur" ]]; then
- [[ "$exitrepo" -eq 0 || "$exitaur" -eq 0 ]] && exit 0 || exit 1
- elif [[ "$exitrepo" ]]; then
- [[ "$exitrepo" -eq 0 ]] && exit 0 || exit 1
- elif [[ "$exitaur" ]]; then
- [[ "$exitaur" -eq 0 ]] && exit 0 || exit 1
- else
- exit 1
- fi
+ [[ "$exitrepo" = 0 || "$exitaur" = 0 ]] && exit 0 || exit 1
# info (-Si, -i) handling
elif [[ "$info" ]]; then
if [[ ! "${pkgs[*]}" ]]; then
@@ -1940,14 +1924,15 @@ case "$operation" in
ClassifyPkgs "${pkgs[@]}"
fi
if [[ "${repopkgs[*]}" ]]; then
- [[ "$refresh" ]] && sudo "$pacmanbin" "${pacmanarg[@]}" "${pacopts[@]}" "${repopkgs[@]}"
- [[ ! "$refresh" ]] && "$pacmanbin" "${pacmanarg[@]}" "${pacopts[@]}" "${repopkgs[@]}"
+ [[ "$refresh" ]] &&
+ sudo "$pacmanbin" "${pacmanarg[@]}" "${pacopts[@]}" "${repopkgs[@]}"
+ [[ ! "$refresh" ]] &&
+ "$pacmanbin" "${pacmanarg[@]}" "${pacopts[@]}" "${repopkgs[@]}"
fi
if [[ "${aurpkgs[*]}" ]]; then
[[ "$refresh" && ! "${repopkgs[*]}" ]] && sudo "$pacmanbin" -Sy "${pacopts[@]}"
- if [[ ! "$aur" ]]; then
+ [[ ! "$aur" ]] &&
Note "w" $"Package(s) ${colorW}${aurpkgs[*]}${reset} not found in repositories, trying ${colorM}AUR${reset}..."
- fi
auracle info "${auropts[@]}" -- "${aurpkgs[@]}"
fi
# clean (-Sc) handling
@@ -1972,7 +1957,8 @@ case "$operation" in
else
ClassifyPkgs "${pkgs[@]}"
fi
- [[ "${repopkgs[*]}" ]] && sudo "$pacmanbin" "${pacmanarg[@]}" "${pacopts[@]}" "${repopkgs[@]}"
+ [[ "${repopkgs[*]}" ]] &&
+ sudo "$pacmanbin" "${pacmanarg[@]}" "${pacopts[@]}" "${repopkgs[@]}"
if [[ "${aurpkgs[*]}" ]]; then
[[ "$refresh" && ! "${repopkgs[*]}" ]] && sudo "$pacmanbin" -Sy "${pacopts[@]}"
[[ ! "$aur" ]] && Note "w" $"Package(s) ${colorW}${aurpkgs[*]}${reset} not found in repositories, trying ${colorM}AUR${reset}..."
@@ -1981,15 +1967,14 @@ case "$operation" in
fi
exit;;
upgrades) CheckUpdates "${pkgs[@]}";; # upgrades (-Qu) handling
- *) # others operations handling
- if [[ " ${pacmanarg[*]} " =~ ' -F ' && " ${pacmanarg[*]} " =~ ' -y ' ]]; then
+ *) if [[ "${pkgs[*]}" || " ${pacmanarg[*]} " =~ ' -F ' && " ${pacmanarg[*]} " =~ ' -y ' ]]; then
sudo "$pacmanbin" "${pacmanarg[@]}" "${pacopts[@]}" -- "${pkgs[@]}"
- elif [[ ! "${pkgs[*]}" || " ${pacmanarg[*]} " =~ ' '-[DFQTglp]' ' && ! "$asdeps" && ! "$asexplicit" ]]; then
+ elif [[ " ${pacmanarg[*]} " =~ ' '-[DFQTglp]' ' && ! "${asdeps}${asexplicit}" ]]; then
"$pacmanbin" "${pacmanarg[@]}" "${pacopts[@]}" -- "${pkgs[@]}"
else
sudo "$pacmanbin" "${pacmanarg[@]}" "${pacopts[@]}" -- "${pkgs[@]}"
fi
- exit;;
+ exit;; # others operations handling
esac
# vim:set ts=4 sw=4 et: