yum and yum-updatesd in Rawhide

Andrew Farris lordmorgul at gmail.com
Tue Feb 5 22:33:46 UTC 2008


James Antill wrote:
> On Tue, 2008-02-05 at 12:46 -0800, Andrew Farris wrote:
>> Jesse Keating wrote:
>>> On Mon, 04 Feb 2008 23:42:05 -0800
>>> Andrew Farris <lordmorgul at gmail.com> wrote:
>>>
>>>> Perhaps the only good solution to that is to have two groupremoves...
>>>> one that removes the *unique group members* and one that removes the
>>>> *entire group*.  I cannot think of any reason there would be the need
>>>> for additional interpretations of groupremove.
>>> yum groupremove --all or --force
>>>
>>> groupremove by default removes entities that are only found in said
>>> group and not in other groups or required by things in other groups.
> 
>  This is far from trivial, and what happens when you do:
> 
> yum groupremove 'X Window System'
> 
> ...does that remove system-config-printer? I'd assume not from the
> above ... at which point dbus-x11 + pygtk2 + etc. are all kept, at which
> point what is groupremove buying you over just using yum remove and
> maybe yum groupinfo?
> 
>>> Least surprise.  --all or --force will remove all entities in said
>>> group regardless of overlapping members.
> 
>  Well yum doesn't do positional options atm. so you'd need much bigger
> option names ... and you assume the desired normal behaviour would be to
> not remove what the user has explicitly asked to be removed, which seems
> wrong.
> 
>> I think that would be a good change to make, and would certainly be a better 
>> safeguard for users only working in an interface to yum who might not understand 
>> groups overlap at all.
>>
>> A new user would expect that when they install a group, whatever got added will 
>> be what goes away when they remove the group.
> 
>  Which the above _doesn't_ do, if indeed the user expects that (which I
> don't think is true).
> 
>>   The group install and group 
>> remove are reasonably expected to be inverses.  An additional 'yeah I want to 
>> nuke it' flag would be great for this.
> 
>  If I start with no packages and do:
> 
> yum groupinstall Foo
> yum groupremove  Foo
> 
> ...then I _currently_ end up where I started, so they are _currently_
> inverses of each other in that theoretical model ... and the above
> change would break that.

No it would not.  If you have no other groups installed the above change would 
do exactly what it should and leave you with no packages installed.  The same is 
true for BOTH understandings of groupremove behavior.

On the other hand if you DO have other groups installed that overlap, and then do:
 > yum groupinstall Foo
 > yum groupremove  Foo

You do NOT end up with inverses.  This is counter-intuitive to someone who asks 
for something (a group) to be installed and then removed.  Despite the fact that 
they are specifically asking for this behavior it is not what one would expect 
the behavior to be...

And that stems from the problem that groups overlap in the first place.  (also 
counter-intuitive on the surface level)

>  The problem comes when you start with package set X1 (some of which are
> in the group you are installing) and groupinstall takes you to the
> superset X2, groupremove cannot currently get you back to X1 (even if
> you assumed nothing changed in between), without more data and
> significantly more work.

Ok, I can see where there may be corner cases the straight forward solution I 
suggested does not work.  However, I think it is the best way forward for *some 
solution* to be developed.

Any way you want to look at it, a user might actually WANT to remove only the 
parts of a group that do not overlap.. the stuff he does not want around.. while 
leaving his other groups intact.  At this time the only way to make that happen 
is to manually list every package he wants removed, and this is definitely 
sub-optimal.

>  In short it seems much easier to just make sure gpgme isn't explicitly
> listed in the KDE group.
> 

Yes, but groups are permitted to overlap in the future.  A real solution needs 
to exist.

-- 
Andrew Farris <lordmorgul at gmail.com> www.lordmorgul.net
  gpg 0xC99B1DF3 fingerprint CDEC 6FAD BA27 40DF 707E A2E0 F0F6 E622 C99B 1DF3
No one now has, and no one will ever again get, the big picture. - Daniel Geer
----                                                                       ----




More information about the fedora-devel-list mailing list