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
_______________________________________________
Yum-devel mailing list
Yum-devel@lists.baseurl.org
http://lists.baseurl.org/mailman/listinfo/yum-devel