On Wed, Jan 14, 2009 at 04:12:30PM -0500, seth vidal wrote: >On Wed, 2009-01-14 at 16:08 -0500, Josh Boyer wrote: >> On Wed, Jan 14, 2009 at 02:51:52PM -0500, seth vidal wrote: >> > >> >On saturday at fudcon we had a small talk (meaning there were only 4 of >> >us there: Jeroen, Jeremy, James, and Me) about the future of comps and >> >what we need. >> > >> >We came up with a fairly radical departure that will take some work to >> >implement and probably won't land for F11 but it is worth discussing a >> >bit now. Please read through the whole thing before jumping all over it. >> > >> > >> >Problems we see: >> >- browsing packages is a difficult problem when you have 10000+ pkgs. >> >- comps has a lot of meanings and it is not obvious what they all are/do >> >- conditional pkgs (which provide a way of saying "install pkgX only >> > if pkgY is installed) are several colors of doom b/c they aren't a >> > dependency relationship and creates clutter on systems. >> >- users expect groups to be more persistent on their systems and to act >> > more like pkgs (ie: yum update should update groups, too) >> >- optional/default/mandatory pkgs are confusing and not useful to most >> > people - the types are only useful when browsing, not when installing. >> > >> > >> >We're still going to have a comps/groups file in the metadata but we'll >> >be removing package types. If a package is a member of a group then >> >that's it. It's in the group. >> > >> >When someone goes to install the group: 'yum groupinstall >> >mygroup-of-fun' or 'yum install @mygroup-of-fun' then yum will grab the >> >comps/groups file from each repo, look if the group you're requesting is >> >there. If so it will create a metapkg rpm (a package containing only >> >requirements) on the packages that exist in the repositories that are >> >listed in that group. Then it will depsolve and install that pkg. The >> >package name will be @mygroup-of-fun. The package version will be a hash >> >of the contents of the package along with a timestamp. It needs to be >> >timestamp-based so the version is increasing so we can 'update' these >> >pkgs. >> > >> >We'll make sure that yum knows about @pkgs to be looked up against the >> >comps file (which should be significantly smaller now). >> >> Bear with this question, but... >> >> I often find myself doing "yum install <some group>" and messing around >> with that a bit. Then I typically find that I only really want 1/2 the >> group or something. >> >> With the metapkg installed, won't I have to yum remove that in order to >> remove any individual packages from in that group? If so, will yum go >> into a depsolving erasure spree and try to remove the whole group >> instead of just the package or two I listed? > >No, not if the remove-with-leaves plugin is not installed. > >Remember: > >yum install foo > >foo requires bar >so bar is installed. > >yum remove foo > >only foo is removed. bar stays, unless you have remove-with-leaves >installed. Ok, but if group-metapkg has Requires on all the packages in the group, then won't: yum remove foo-is-part-of-group hit the Requires on group-metapkg and have yum try to remove it, along with everything else? I'm very dense, so maybe I'm misunderstanding how the metapkgs are built. josh -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list