[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