Re: Re: [Yum-devel] Dynamic yum respositories?

Ram Pai <[email protected]>
Newsgroups gmane.linux.rpm.yum,gmane.linux.rpm.yum.devel
Message-ID <[email protected]>
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:
> > > On Mon, Apr 16, 2007 at 02:34:58AM -0700, Ram Pai wrote:
> > > > Hi,
> > > > 
> > > >     I have this unique problem. I am planning on providing through yum
> > > > repositories, driver rpms for different versions of the distro kernel.
> > > > As and when new kernel is available and installed by the user, the
> > > > corresponding rpm for the driver is automatically made available in the
> > > > repositories.  In all probability the driver present in the rpm for a
> > > > older kernel will suffice since the kernel's ABI would'nt have changed.
> > > > In such cases the driver rpm for the new kernel can be built dynamically
> > > > in the repository, reusing the driver in a existing rpm.
> > > > 	
> > > >      However I find that even if these rpms can dynamically be made
> > > > available on demand by the yum client, the yum protocol does not lend
> > > > itself to handle these dynamically generated rpms.  
> > > > 
> > > > Does anybody know of ways this can be handled with existing
> > > > infrastructure?  
> > > > 
> > > >     I am thinking may be createrepo  is augmented to generate xml files,
> > > > which somehow convey to the client that some rpms can be made available
> > > > on-demand. Will that work?  Looking for ideas/suggestions.
> > > 
> > > 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. And I am sure the cgi script has to be fast
enough for the client to not timeout.

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. 

RP

 





> 
> --
> Michael
> _______________________________________________
> Yum mailing list
> [email protected]
> https://lists.dulug.duke.edu/mailman/listinfo/yum
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.