On Tue, 2 Mar 2010, Christopher Owen wrote:
I suggest a special repo server that takes as configuration repos, their
priorities, and their enabled
status. It outputs a single repo based on this. When a client requests a
package, the server will check
locally if it is available, otherwise will download the file to its cache and
then serve it out. When a
client searches, it is presented with the total (flattened) metadata to search.
This last bit is the hard part b/c you'll need a special service to do it
and even that won't guarantee that that server can get the file.
For reporting, yum-updated or some other application would need to check in
with this repo periodically and
supply the server with a list of installed packages.
It would then be simple logic to determine which machines require updates and
produce reports from that
(available via rss, email, a web interface, or whatever.)
There are two problems here:
1. you want all the local pkgs + all the remote pkgs except for the items
you want to weed out b/c of your priorities settings
2. you want them all to appear to be in one repo
the first problem is just that what you want seems to be conflicting a
bit. It's not impossible but as we discussed on irc it might be something
like:
1. download all the pkgs you definitely want locally
2. merge all the repodata from all the repos
3. have them all point to the download/cache server you've described
above.
I'm not quite sure how to implement the actual server there, though - you
may want to look at how intelligent mirror did it.
Additionally, I have had some trouble getting through the yum code base and
bringing myself to a level
where I can confidently bang this out. And suggestions there would be much
appreciated as well.
ping us on irc w/specific yum api questions - there are folks on there
almost all the time who can help.
it seems like most of what you want above can be handled in
createrepo/mergerepo actually.
-sv
_______________________________________________
Yum-devel mailing list
Yum-devel@lists.baseurl.org
http://lists.baseurl.org/mailman/listinfo/yum-devel