[Yum-devel] group DB

Seth Vidal skvidal at fedoraproject.org
Tue May 26 18:45:19 UTC 2009



On Fri, 22 May 2009, James Antill wrote:

>
> Some thoughts about group DB (having groups as real objects). I mainly
> wrote this for me, to see if "group DB" was actually possible. I think
> so :).
>
> I think the "big" issue people want to change is that given:
>
> 	yum install blah-package-in-KDE-group
> 	yum groupinstall KDE
> 	yum groupremove  KDE
>
> ...you have blah left at the end. The other desire is that given:
>
> 	yum groupinstall KDE
> 	yum remove blah-package-in-KDE-group
> 	yum groupupdate  KDE
>
> ...you don't have blah added at the end. The last interesting feature is
> that given:
>
> 	yum groupinstall KDE
> 	# packages added to group KDE
> 	yum update
>
> ...you have the new KDE packages.
>
> I think this means that we have to know:
>
> 1. Which groups are installed.
>
> 2. Which package names were in the group. This is more complicated as we
> have to manage not to ping pong when repos. are enabled/disabled, so
> probably needs some repo. data).
>        This lets us add new packages on "yum update".
>
> 3. If a package was installed via. groupinstall/groupupdate.
>        This lets us know to remove those (and only those) on a
>        groupremove.
>
> 4. Which "package names" in a group are blacklisted.
>        This might be as simple as "group X is installed, and pkg FOO
>        isn't new and isn't installed ... thus. blacklisted"
>
> ...a couple of things that fall out of this:
>
> i. You can have all the packages for a group installed, but the group
> not installed.
>
> ii. You can have a group installed, but no packages from that group
> installed.


and all of the above means we're doing it via a yum "groupdb" of  some 
kind. I'm not necessarily opposed to it but if:

1. we could construct rpm hdr objects in memory from python
2. we could insert these objects into the rpmdb in a transaction

would that be enough to step around the weird extra db?

specifically it would allow us to make meta-pkg "Group" packages on the 
fly and have the rpmdb keep things consistent - including something like a 
"version".

-sv



More information about the Yum-devel mailing list