[Yum-devel] Solving the yum mirror and update reporting problem.
Seth Vidal
skvidal at fedoraproject.org
Wed Mar 3 04:28:00 UTC 2010
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
More information about the Yum-devel
mailing list