[Rpm-maint] arbitrary metadata crack

seth vidal skvidal at fedoraproject.org
Tue Aug 7 20:24:33 UTC 2007


We were brainstorming, badly, on #fedora-devel and annoying Panu when he
was busy. He asked us to bring the thoughts over here and we have
complied.

Here's the crack idea:

Allow callers to put arbitrary metadata on to pkgs in the rpmdb

pseudo code:

import rpm
ts = rpm.TransactionSet()

mi = ts.dbMatch('name', 'yum')
for h in mi:
   h.add_misc_data('immutable',rpm.DATA_BOOLEAN, True)
   h.commit()


as an example.

think of arbitrary data storage linked to a package in the db.

now - the bad is - this ends up in lots of heinous crap in the rpmdb,
blah.

the good thing is it allows for some crazy expansion and storage.

here are the things I can think of off of the top of my head I would
love to have:

- why installed
- how installed
- installed from where
- immutable
- change-from-these-repos-only
- update/obsolete-with-pkgs-signed-with-this-key-only
- never-remove (allows update, though)
- notes
- additional group memberships

now, for me, the option to putting these in the rpmdb is to put them in
a yum persistent db. The only problem is we end up with some blank
entries if people use other tools. - I guess the same thing is true,
though, if the data is arbitrary in the rpmdb.


If we do think the yum-persistent-db is the best way to do that I can
play ball there. Just gotta figure out how to expand on it.

thanks,
-sv






More information about the Rpm-maint mailing list