On Tue, Apr 24, 2007 at 11:47:16AM -0700, Ram Pai wrote: > On Tue, 2007-04-24 at 13:29 -0500, Michael E Brown wrote: > > On Tue, Apr 24, 2007 at 11:24:27AM -0700, Ram Pai wrote: > > > On Tue, 2007-04-24 at 08:51 -0500, Michael E Brown wrote: > > > > > > > > Ram, > > > > After mulling on this a little bit, how about this idea: > > > > > > > > You could create a yum plugin that sets yumvars: $kernelver and > > > > $kernelarch. Then you could set up the repo with > > > > > > > > mirrorlist=http://your.site/mirror.cgi&kernelver=$kernelver&kernelarch=$kernelarch > > > > > > > > In your CGI script, you could detect if modules for that kenrel are > > > > built. If they are, return the repo baseurl. If they are not, build the > > > > packages and update the repo metadata before returning the baseurl. > > > > > > Interesting. Sounds like this skips the xml file download, and directly > > > installs the rpm of interest. Am I thinking right? > > > > No, it doesnt. It just delays downloading the xml metadata until the new > > package is in the repo and ready to go. Sort of a behind-the-back magic. > > > > The yum client says, "hey can you give me the mirrorlist, and by the > > way, here is some other information you might be interested in > > ($kernelver, $kernelarch, etc)" > > > > The cgi on the server says, "yeah, umm.... (swizzles repository in the > > background) ... here you go. Here is the repo with everything you need." > > /me smiles. > > neat. Will try this out. > > This solution will still need a plug-in on the client side, to be > downloaded from somewhere. Take a look at: http://linux.dell.com/repo/software http://linux.dell.com/repo/hardware I have a yum plugin that I package in firmware-addon-dell that sets some variables based on the system model. You have to bootstrap the system to have the dell-repository RPM, plus the plugin RPM. (You could possibly put the plugin files inside your repository RPM, I had other dependencies and could not.) > And I am sure the cgi script has to be fast > enough for the client to not timeout. Well, only the first person to hit the repository with any certain kernel version should take the hit, plus I dont think yum has a timeout on this operation. It just does a urlopen(), and as long as the cgi script doesnt break the connection, it should just wait there for you. > A capability in the client tools to handle xml files, that says "I dont > have this rpm in the repository yet, but I can make it for you if you > demand" will be nice. Yes. That would probably be possible using the current yum plugin architecture. I am not quite expert enough on yum to tell you how this could be done. I do know that the method above would most likely work ok, even if it isnt the most efficient. You will run into the same 'yumvars' problem that I have recently emailed the mailing list about, though. Hopefully that will be resolved soon. -- Michael _______________________________________________ Yum mailing list Yum@xxxxxxxxxxxxxxxxxxxx https://lists.dulug.duke.edu/mailman/listinfo/yum