[Yum] Re: [Yum-devel] Dynamic yum respositories?
Ram Pai
linuxram at us.ibm.com
Tue Apr 24 18:47:16 UTC 2007
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
> Yum at lists.dulug.duke.edu
> https://lists.dulug.duke.edu/mailman/listinfo/yum
More information about the Yum
mailing list