[PATCH v2] paclist: list packages which version differs from the repo version
Michael Straube
michael.straube at posteo.de
Thu Dec 6 11:27:38 UTC 2018
Paclist does not list installed packages if the version is different
from the version in the repository. Change the awk command to also
match such packages from the 'pacman -Sl' output and print the
installed version. Also paclist fails for languages which translate
'installed' to more than one word. So do not use the field numbers
in a record for matching.
Fixes FS#60412
Signed-off-by: Michael Straube <michael.straube at posteo.de>
---
v1 -> v2
Do not use filed numbers for matching.
Also remove export of TEXTDOMAIN and TEXTDOMAINDIR.
src/paclist.sh.in | 14 ++------------
1 file changed, 2 insertions(+), 12 deletions(-)
diff --git a/src/paclist.sh.in b/src/paclist.sh.in
index f827dcf..efd47af 100644
--- a/src/paclist.sh.in
+++ b/src/paclist.sh.in
@@ -20,16 +20,6 @@
declare -r myname='paclist'
declare -r myver='@PACKAGE_VERSION@'
-export TEXTDOMAIN='pacman'
-export TEXTDOMAINDIR='/usr/share/locale'
-
-# determine whether we have gettext; make it a no-op if we do not
-if ! type gettext &>/dev/null; then
- gettext() {
- echo "$@"
- }
-fi
-
usage() {
printf "%s v%s\n" "${myname}" "${myver}"
echo
@@ -59,8 +49,8 @@ elif [[ $1 = -@(V|-version) ]]; then
exit 0
fi
-printf -v installed '[%s]' "$(gettext installed)"
-pacman -Sl $1 | awk -v i="$installed" '$NF == i { print $2,$3 }'
+pacman -Sl $1 | awk '/\[.*[[:alpha:]]+]$/ {print $2,$3};
+ /\[.*[[:digit:]]+]$/ {print $2,substr($NF, 1, length($NF) - 1)}'
# exit with pacman's return value, not awk's
exit ${PIPESTATUS[0]}
--
2.19.2
More information about the pacman-contrib
mailing list