[pacman-dev] [PATCH v2 2/2] paclog-pkglist: parse entries with caller info

Dave Reisner d at falconindy.com
Mon Jan 21 07:56:25 EST 2013


On Fri, Jan 18, 2013 at 08:42:22PM -0500, Andrew Gregory wrote:
> Signed-off-by: Andrew Gregory <andrew.gregory.8 at gmail.com>
> ---
> 
> I'm not very familiar with awk, so there is probably a better way to do this.
> 
>  contrib/paclog-pkglist.sh.in | 23 ++++++++++++++++-------
>  1 file changed, 16 insertions(+), 7 deletions(-)
> 
> diff --git a/contrib/paclog-pkglist.sh.in b/contrib/paclog-pkglist.sh.in
> index 222bbc4..e1bd58e 100644
> --- a/contrib/paclog-pkglist.sh.in
> +++ b/contrib/paclog-pkglist.sh.in
> @@ -50,25 +50,34 @@ 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
> +	} else {
> +		action  = $3
> +		pkgname = $4
> +		pkgver  = $5
> +		upgver  = $7
> +		NF = (NF + 1)

Would prefer using a different varname over modifying/lying about the
value of an internal var.

This seems fine otherwise.

> +	}
>  }
>  
> -NF == 5 && action == "installed" {
> +NF == 6 && action == "installed" {
>  	gsub(/[()]/, "", pkgver)
>  	pkg[pkgname] = pkgver
>  	next
>  }
>  
> -NF == 7 && action == "upgraded" {
> +NF == 8 && action == "upgraded" {
>  	sub(/\)/, "", upgver)
>  	pkg[pkgname] = upgver
>  	next
>  }
>  
> -NF == 5 && action == "removed" {
> +NF == 6 && action == "removed" {
>  	pkg[pkgname] = -1
>  }
>  
> -- 
> 1.8.1.1
> 
> 


More information about the pacman-dev mailing list