[pacman-dev] [PATCH 1/2] Combine add and removal package list display

Jakob Gruber jakob.gruber at gmail.com
Sat Jul 30 05:23:10 EDT 2011


On 07/29/2011 10:41 PM, Dan McGee wrote:
> On Wed, Jul 27, 2011 at 12:12 PM, Jakob Gruber<jakob.gruber at gmail.com>  wrote:
>> On 07/22/2011 07:19 PM, Dan McGee wrote:
>>> * The size column is now net changed size per package, so only new
>>> packages or
>>>    totally removed packages will usually have big values (wireshark-cli is
>>> buggy
>>>    in the package itself, as noticed by Dave and I).
>> I'm not sure I agree with this. During a typical 'pacman -Syu', the net
>> changed size will be ~0.00 MiB for nearly all packages, making the column
>> more or less useless for the most commonly used operation.
> A "competing" product does this (trimmed for size):
>
> $ sudo yum update
> ...
>   Package             Arch      Version                     Repository      Size
> Updating:
>   kernel-headers       i386       2.6.18-238.19.1.el5        updates       1.1 M
>
> Transaction Summary
> Install       0 Package(s)
> Upgrade       1 Package(s)
> Total download size: 1.1 M
>
> $ sudo yum remove kernel-headers
> ...
>   Package             Arch      Version                     Repository      Size
> Removing:
>   kernel-headers      i386      2.6.18-238.19.1.el5         installed      2.2 M
> Removing for dependencies:
>   gcc                 i386      4.1.2-50.el5                installed      9.6 M
>   gcc-c++             i386      4.1.2-50.el5                installed      6.5 M
>   glibc-devel         i386      2.5-58.el5_6.4              installed      4.9 M
>   glibc-headers       i386      2.5-58.el5_6.4              installed      2.0 M
>
> Transaction Summary
> Remove        5 Package(s)
> Reinstall     0 Package(s)
> Downgrade     0 Package(s)
>
> So we do have the size mismatch there as well. Not sure what it does
> if you are installing an RPM directly.
>
>> Unfortunately, I don't have an ideal solution.
>>
>> Currently, the size column displays installed size for removal lists and and
>> package size for install / upgrade lists. I can think of two issues with
>> this:
>>
>>   1) the column header is always 'Size' and it isn't clear enough about
>> what's actually being displayed; and
>>   2) displayed different things in the same column might be
>> confusing/misleading; of course it gets much worse if removal and sync
>> targets are shown in the same list.
>>
>> On the other hand, it feels correct to display sizes like this. During sync
>> operations I want to know about package sizes, and when removing packages I
>> want to know how much disk space is regained. It's also easy to pick out the
>> largest packages during a large -Syu at a glance.
>>
>> The only other option I can think of with a merged removal / sync list is
>> install size, which might be worth a try (even though I believe I'd prefer
>> seeing download size for -S targets).
> Anyone else? I'm still not sure what is right here, but I'm leaning
> toward a tad more explicit but still totally whacky:
> sync- show "Download Size", show 0.00/-0.00/blank for to-be-removed packages
> remove- show "Installed Size", all will be negative
> upgrade- show "Installed Size", all will be positive, unless inducing
> a removal of a different named package (do we even do this right?),
> then that one will show negative installed size
>

After some more thought, I'd propose keeping the removal and install 
lists separate but with a single common summary section. Even when 
ignoring size inconsistencies, mixing both operations in a single list 
seems a little hard to read and confusing.

A quick mockup: http://pastebin.com/EyVSZ2Zq

Another alternative, this time keeping the single list to save a few 
lines of vertical space but explicitly marking removal/install targets 
and keeping all removal targets before install targets : 
http://pastebin.com/QKkWVNsJ

What do you think?


More information about the pacman-dev mailing list