[pacman-dev] [PATCH] [RFC] pacman -Si/-Qi: Autodetect best fitting file size unit

Dave Reisner d at falconindy.com
Fri Oct 18 08:22:32 EDT 2013


On Fri, Oct 18, 2013 at 10:01:10PM +1000, Allan McRae wrote:
> On 17/10/13 21:55, Florian Pritz wrote:
> > I've tracked this back to e223366 and it looks like this just forces KiB
> > because back then humanize_size didn't exist, but the size was just
> > divided by 1024 to keep it somewhat readable. When humanize_size got
> > introduced in 3c8a448 this was just carried over.
> > 
> > Signed-off-by: Florian Pritz <bluewind at xinu.at>
> > ---
> > 
> > Similar to this -Su also forces units to MiB, but I'm unsure if this should be
> > changed since -Su outputs a nice table and having everything in the same unit
> > makes comparing packages easier.
> > 
> > Any input on this patch and the -Su situation would be welcome.
> > 
> 
> I'd be fine with this patch but think -Su should stay the same.  Any
> other comments here?
> 
> 

I dislike this because it can lead to the installed and download sizes
having different units, e.g.

$ ./pacman -Si sage-mathematics
...
Download Size  : 370.22 MiB
Installed Size :   2.21 GiB
...

And this could probably only get weirder when you have multiple
packages in the output. Having a consistent unit size here when
humanize_size was introduced was likely an intentional non-change.

> >  src/pacman/package.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/src/pacman/package.c b/src/pacman/package.c
> > index eab2873..b10207b 100644
> > --- a/src/pacman/package.c
> > +++ b/src/pacman/package.c
> > @@ -165,7 +165,7 @@ void dump_pkg_full(alpm_pkg_t *pkg, int extra)
> >  	deplist_display(_("Conflicts With :"), alpm_pkg_get_conflicts(pkg), cols);
> >  	deplist_display(_("Replaces       :"), alpm_pkg_get_replaces(pkg), cols);
> >  
> > -	size = humanize_size(alpm_pkg_get_size(pkg), 'K', 2, &label);
> > +	size = humanize_size(alpm_pkg_get_size(pkg), '\0', 2, &label);
> >  	if(from == ALPM_PKG_FROM_SYNCDB) {
> >  		printf("%s%s%s %6.2f %s\n", config->colstr.title, _("Download Size  :"),
> >  			config->colstr.nocolor, size, label);
> > @@ -174,7 +174,7 @@ void dump_pkg_full(alpm_pkg_t *pkg, int extra)
> >  			config->colstr.nocolor, size, label);
> >  	}
> >  
> > -	size = humanize_size(alpm_pkg_get_isize(pkg), 'K', 2, &label);
> > +	size = humanize_size(alpm_pkg_get_isize(pkg), '\0', 2, &label);
> >  	printf("%s%s%s %6.2f %s\n", config->colstr.title, _("Installed Size :"),
> >  			config->colstr.nocolor, size, label);
> >  
> > 
> 
> 


More information about the pacman-dev mailing list