[pacman-dev] [PATCH] contrib/paccache: misc cleanup and bugfix

Allan McRae allan at archlinux.org
Wed Aug 3 01:00:40 EDT 2011


On 03/08/11 14:52, Dave Reisner wrote:
> * add paccache to .gitignore

Hmmm....    where?

> * change error verbiage when run as root
> * delete sigs along with packages
> * fix bug in diskspace calculations
>
> Signed-off-by: Dave Reisner<dreisner at archlinux.org>
> ---
> This should cover Allan and Dan's concerns, as well as addressing
> a silly bug I found in counting diskspace saved.
>
>   contrib/paccache.in |   28 ++++++++++++++++++++--------
>   1 files changed, 20 insertions(+), 8 deletions(-)
>
> diff --git a/contrib/paccache.in b/contrib/paccache.in
> index 0bd0cf7..34ca06b 100755
> --- a/contrib/paccache.in
> +++ b/contrib/paccache.in
> @@ -110,10 +110,11 @@ pkgfilter() {
>   size_to_human() {
>   	awk -v size="$1" '
>   	BEGIN {
> -		suffix[1] = "KiB"
> -		suffix[2] = "MiB"
> -		suffix[3] = "GiB"
> -		suffix[4] = "TiB"
> +		suffix[1] = "B"
> +		suffix[2] = "KiB"
> +		suffix[3] = "MiB"
> +		suffix[4] = "GiB"
> +		suffix[5] = "TiB"
>   		count = 1
>
>   		while (size>  1024) {
> @@ -142,7 +143,7 @@ runcmd() {
>   }
>
>   summarize() {
> -	local -i filecount=$#
> +	local -i filecount=$1; shift
>   	local seenarch= seen= arch= name=
>   	local -r pkg_re='(.+)-[^-]+-[0-9]+-([^.]+)\.pkg.*'
>
> @@ -204,7 +205,7 @@ EOF
>   }
>
>   if (( ! UID )); then
> -	error "Bad dog, no biscuit. You will be prompted for privilege escalation."
> +	error "Do not run this script as root. You will be prompted for privilege escalation."
>   	exit 42
>   fi
>
> @@ -277,8 +278,19 @@ if (( ! ${#candidates[*]} )); then
>   	exit 1
>   fi
>
> +# grab this prior to signature scavenging
> +pkgcount=${#candidates[*]}
> +
> +# copy the list, merging in any found sigs
> +for cand in "${candidates[@]}"; do
> +  candtemp+=("$cand")
> +  [[ -f $cand.sig ]]&&  candtemp+=("$cand.sig")
> +done
> +candidates=("${candtemp[@]}")
> +unset candtemp
> +
>   # do this before we destroy anything
> -totalsaved=$(@SIZECMD@ "${candidates[@]}" | awk '{ sum = $1 } END { print sum }')
> +totalsaved=$(@SIZECMD@ "${candidates[@]}" | awk '{ sum += $1 } END { print sum }')
>
>   # crush. kill. destroy.
>   (( verbose ))&&  cmdopts+=(-v)
> @@ -288,4 +300,4 @@ elif (( move )); then
>   	runcmd mv "${cmdopts[@]}" "${candidates[@]}" "$movedir"
>   fi
>
> -summarize "${candidates[@]}"
> +summarize "$pkgcount" "${candidates[@]}"



More information about the pacman-dev mailing list