diff options
author | Dave Reisner <dreisner@archlinux.org> | 2011-07-17 11:04:03 -0400 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2011-07-18 10:34:56 -0500 |
commit | 3294039a00f3aa65181ed23518dc5c73e0201268 (patch) | |
tree | d85e6ac67f9db409204c2cb1f2b08f70b0f9a179 /contrib/paclog-pkglist | |
parent | 0b92d9ed9c6bffcf4b47645a365ea6c3d162e89e (diff) |
contrib/paclog-pkglist: rework as bash wrapping awk
Avoid some pain in awk's limited handling of command line arguments by
wrapping this in a Bash script. We also default to
@localstatedir@/log/pacman.log when no args are specified, meaning that
-h or --help is required to get the help message.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'contrib/paclog-pkglist')
-rwxr-xr-x | contrib/paclog-pkglist | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/contrib/paclog-pkglist b/contrib/paclog-pkglist deleted file mode 100755 index 2c66e634..00000000 --- a/contrib/paclog-pkglist +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/awk -f -# -# paclog-pkglist - Parse a log file into a list of currently installed packages -# -# Copyright (C) 2011 Dave Reisner <dave@archlinux.org> -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -BEGIN { - if (ARGC < 2) { - printf "usage: log2pkglist <pacman log>\n" - printf "example: log2pkglist /var/log/pacman.log\n" - exit - } -} - -{ - action = $3 - pkgname = $4 - pkgver = $5 - upgver = $7 -} - -NF == 5 && action == "installed" { - gsub(/[()]/, "", pkgver) - pkg[pkgname] = pkgver - next -} - -NF == 7 && action == "upgraded" { - sub(/\)/, "", upgver) - pkg[pkgname] = upgver - next -} - -NF == 5 && action == "removed" { - pkg[pkgname] = -1 -} - -END { - for (i in pkg) { - if (pkg[i] != -1) { - printf "%s %s\n",i,pkg[i] - } - } -} |