paclog-pkglist: parse entries with caller info

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
Andrew Gregory 2013-01-23 19:28:58 -05:00 committed by Allan McRae
parent 66a9b53141
commit 24a78fe731

View file

@ -50,25 +50,35 @@ fi
<"$logfile" awk ' <"$logfile" awk '
{ {
if ($3 ~ /^\[.*\]$/) {
# new style with caller name
action = $4
pkgname = $5
pkgver = $6
upgver = $8
nfields = NF
} else {
action = $3 action = $3
pkgname = $4 pkgname = $4
pkgver = $5 pkgver = $5
upgver = $7 upgver = $7
nfields = (NF + 1) # compensate for missing caller field
}
} }
NF == 5 && action == "installed" { nfields == 6 && action == "installed" {
gsub(/[()]/, "", pkgver) gsub(/[()]/, "", pkgver)
pkg[pkgname] = pkgver pkg[pkgname] = pkgver
next next
} }
NF == 7 && action == "upgraded" { nfields == 8 && action == "upgraded" {
sub(/\)/, "", upgver) sub(/\)/, "", upgver)
pkg[pkgname] = upgver pkg[pkgname] = upgver
next next
} }
NF == 5 && action == "removed" { nfields == 6 && action == "removed" {
pkg[pkgname] = -1 pkg[pkgname] = -1
} }