diff options
author | Andrew Gregory <andrew.gregory.8@gmail.com> | 2013-01-23 19:28:58 -0500 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2013-01-28 23:38:46 +1000 |
commit | 24a78fe7315c962dde892ca85ddb0675eae622f7 (patch) | |
tree | 9fde5558a2dfb3e494339a542a209f763cb9eb9d | |
parent | 66a9b5314123b3632cb90a4d37fd422a0f898568 (diff) |
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>
-rw-r--r-- | contrib/paclog-pkglist.sh.in | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/contrib/paclog-pkglist.sh.in b/contrib/paclog-pkglist.sh.in index 222bbc4c..908bd4ad 100644 --- a/contrib/paclog-pkglist.sh.in +++ b/contrib/paclog-pkglist.sh.in @@ -50,25 +50,35 @@ fi <"$logfile" awk ' { - action = $3 - pkgname = $4 - pkgver = $5 - upgver = $7 + if ($3 ~ /^\[.*\]$/) { + # new style with caller name + action = $4 + pkgname = $5 + pkgver = $6 + upgver = $8 + nfields = NF + } else { + action = $3 + pkgname = $4 + pkgver = $5 + upgver = $7 + nfields = (NF + 1) # compensate for missing caller field + } } -NF == 5 && action == "installed" { +nfields == 6 && action == "installed" { gsub(/[()]/, "", pkgver) pkg[pkgname] = pkgver next } -NF == 7 && action == "upgraded" { +nfields == 8 && action == "upgraded" { sub(/\)/, "", upgver) pkg[pkgname] = upgver next } -NF == 5 && action == "removed" { +nfields == 6 && action == "removed" { pkg[pkgname] = -1 } |