[PATCH v2] paclist: list packages which version differs from the repo version
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@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
participants (1)
-
Michael Straube