I’ve been hacking more on the app-install framework. It’s now an independent project, with a tarball here.
What do the tools do?
$ app-install-create: creates the initial database, only used in the post section of the app-install package
$ app-install-add: adds data to the system database, used in repo packages
$ app-install-remove: removes data from the system database, used in repo packages
$ app-install-generate: generates the data for a desktop file, used when generating data from the distro helper
Now, the latter file is designed to be called from a distro specific helper, so for yum we do something like this:
$ app-install-generate-yum.py –repo=rawhide –dist=./dist
This downloads all the rawhide packages that ship a desktop file, uncompress them, and extract the data from the desktop files. There’s a cache, so repeated runs of this don’t have to re-download all the data. This tool takes about 10 minutes to run when the download has completed.
This tools creates ./dist/rawhide-icons.tar.gz and ./dist/rawhide.sqldata which are designed to be shipped in a distro package file.
In a package file, for instance, fedora-app-install, the post action would be something like:
$ app-install-add –repo=fedora –source=/var/lib/app-install/rawhide.sqldata
and in the preun:
$ app-install-remove –repo=fedora
I’m inviting other distros to submit distro generate tools, and I’ll ship them in the tarball.
David, I sincerely hope RH will give you a nice fat raise at the end of this year, considering how much rocking work you’re doing. Keep doing so, it’s greatly appreciated!
Fedora package reviews: https://bugzilla.redhat.com/show_bug.cgi?id=488962 and https://bugzilla.redhat.com/show_bug.cgi?id=488968
Richard,
Why not do this at rpm buildtime? Look for the dist file, then tuck the info you need into a specific known location in the package and into a Provides.
Then your data could come along into Primary and there’s no extra md needed.
@Seth: we can’t do this at build time. Putting 10Kb’s or binary data into an rpm provide is a horrible hack. What I’ve developed here was agreed with lots of other distros, and the mechanism is not yum and fedora specific.