yum clean bug

Jeff Spaleta jspaleta at gmail.com
Fri Dec 9 16:24:18 UTC 2005


On 12/9/05, n0dalus <n0dalus+redhat at gmail.com> wrote:
> yum clean enabled
> yum clean disabled

you are duplicating the existing --enablerepo  and --disablerepo
functionality that already works in a more general way.

In the case of clean... "all" means combine ALL of the possible clean aguments

yum clean understands
packages  headers  metadata  cache  dbcache

...together these arguments combine to form Voltron!..err I mean.. the
"all" argument
you can either write
"yum clean packages  headers  metadata  cache  dbcache"
or you can write
"yum clean all"

Both ways of writing it  do the exact same thing.
"all"=="all of the clean arguments"

If "all" were to by default work on more than just the enabled repos,
then all the other clean arguments would by default need to do that. 
"yum clean metadata" would need to remove the metadata for any
subdirectory in cache by default regardless of its enabled or
configured state. "yum clean packages" would by default need to remove
all packages in all subdirs regardless of enabled or configured state.

The "all" command does not change the nature of how clean deals with
enabled/disabled/configured, it simply combines "all" the clean
arguments into a single command. Every operation that clean
understands, all of them, are in the context of what the enabled
repository state is at the moment.

Right now, yum's clean command treats repo state exactly the same way
as yum's other commands. They all respond to --enablerepo  and
--disablerepo to add and remove configured repositories from the
calculation.  Let's review how many yum commands exist:
 < update | install | info | remove | list |
    clean | provides | search | check-update | groupinstall |
    groupupdate | grouplist | groupinfo | groupremove |
    makecache | localinstall | erase | upgrade | whatprovides |
    localupdate | resolvedep | shell | deplist >

In the context of yum's operation making clean behave differently with
regard to how enabledrepo and disablerepo are handled is a big glaring
inconsistency.
We can 'all' fight over how poorly chosen the english word 'all' is
'all' live long day...as we struggle to cram a full english sentence
into the shorthand of cmdline operations. English is such a precise
language after all, there is never ever a need for contextual
information to understand a single sentence.  We might as well 'all'
fight over how ironically unintuitively 'yum list extras'  is.

The only situation not currently covered by available functionality is
the situation of a repository being unconfigured so that yum has no
configuration information for that repository at all. Is that somthing
yum should clean up after? Or is that the responsibility of whatever
mechanism unconfigured the repository and blinded yum?

-jef"Valid English sentence: Buffalo buffalo buffalo Buffalo buffalo"spaleta




More information about the fedora-devel-list mailing list