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

Michael E Brown Michael_E_Brown at dell.com
Tue Apr 24 18:29:45 UTC 2007


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." 

--
Michael



More information about the Yum-devel mailing list