[yocto] autobuilder: How to set PREMIRRORS?

Bryan Evenson bevenson at melinkcorp.com
Tue Dec 23 05:11:56 PST 2014


Elizabeth,

Thanks for the tips.  I think I have something close to working, just need to finish testing.  I should have a patch for you the first week of January.

Thanks,
Bryan E.

> -----Original Message-----
> From: Flanagan, Elizabeth [mailto:elizabeth.flanagan at intel.com]
> Sent: Tuesday, December 16, 2014 3:14 PM
> To: Bryan Evenson
> Cc: yocto at yoctoproject.org
> Subject: Re: autobuilder: How to set PREMIRRORS?
> 
> 2014-11-19 15:12 GMT+00:00 Bryan Evenson <bevenson at melinkcorp.com>:
> > All,
> >
> > I'm getting close to implementing this feature, but I'm having some issues
> getting auto.conf formatted correctly.  See below.
> >
> >> -----Original Message-----
> >> From: Bryan Evenson
> >> Sent: Monday, November 17, 2014 9:08 AM
> >> To: Bryan Evenson; yocto at yoctoproject.org;
> elizabeth.flanagan at intel.com
> >> Subject: RE: autobuilder: How to set PREMIRRORS?
> >>
> >> All,
> >>
> >> After looking through the autobuilder code, I don't see anywhere in which
> >> PREMIRRORS can be set and used.  I see in CreateAutoConf.py that
> >> PREMIRRORS is always set to "".  I don't think it'd be that difficult to add
> >> PREMIRRORS as a CreateAutoConf parameter for the buildsets.  I can
> work
> >> on the change and submit the patch.  But before I start I have a few
> >> questions:
> >>
> >> 1. I plan on implementing the PREMIRRORS parameter as an array, similar
> to
> >> 'layerdirs' for CreateBBLayersConf.  For example:
> >>
> >> {'CreateAutoConf' : {'PREMIRRORS' : ['git://.*/.*
> >> http://our/local/mirror/path/mirror/sources/ ',
> >>       'ftp://.*/.* http://our/local/mirror/path /mirror/sources/ ',
> >>       'http://.*/.* http://our/local/mirror/path/mirror/sources/ ',
> >>       'https://.*/.* http://our/local/mirror/path/mirror/sources/ ']}
> >>
> >> would add the following to auto.conf:
> >>
> >>  PREMIRRORS = 'git://.*/.* http://our/local/mirror/path/mirror/sources/
> \
> >>       ftp://.*/.* http://our/local/mirror/path /mirror/sources/  \
> >>       http://.*/.* http://our/local/mirror/path/mirror/sources/  \
> >>       https://.*/.* http://our/local/mirror/path/mirror/sources/ '
> >>
> >> Does this sound reasonable, or would a different parameter format be
> >> preferred?
> >
> 
> I would actually do this similar to how we have DEVKERNEL_MUT_REPO.
> 
> PREMIRRORS = ['git://.*/.*
> http://our/local/mirror/path/mirror/sources/', 'ftp://.*/.*
> http://our/local/mirror/path /mirror/sources/', 'http://.*/.*
> http://our/local/mirror/path/mirror/sources/', 'https://.*/.*
> http://our/local/mirror/path/mirror/sources/']
> 
> > I am trying to add a single PREMIRROR using the syntax I specified above.
> At this time it is getting inserted in auto.conf.  However, the system is going
> into an infinite loop building the PREMIRROR path.  The added content to
> auto.conf at this time looks like:
> >
> > PREMIRRORS = " \
> > http://.*.* http://server.repo.local/mirror/sources/ \n \
> > "
> >
> > And from looking at log.do_fetch for the package that attempts to use the
> PREMIRROR, the log is filled with
> "server.repo.localserver.repo.localserver.repo.local" repeating.  Any tips on
> how PREMIRRORS should be built?
> >
> > Here's what I have so far in CreateAutoConf.py:
> >
> >             self.PREMIRRORS=""
> >             fout = fout + 'PREMIRRORS = " \ \n'
> >             if list(self.PREMIRRORS):
> >                 for premirror in self.PREMIRRORS:
> >                     fout = fout + premirror + ' \\\\n \ \n'
> >             fout = fout + '" \n'
> >
> > Any tips on how to change things so PREMIRRORS is correctly parsed?
> >
> 
> #make sure you add
> #
> #export PREMIRRORS=""
> # to yocto-autobuilder-setup
> 
> if os.environ.get('PREMIRRORS') is not None:
>     premirrors=ast.liternal_eval(os.environ.get('PREMIRRORS').encode('utf-8')
>     fout =+ 'PREMIRRORS = "\ \n'
>     for mirror in premirrors:.....
> 
> I think this should do what you're looking for.
> 
> > Thanks,
> > Bryan
> >
> 
> --
> Elizabeth Flanagan
> Yocto Project
> Build and Release


More information about the yocto mailing list