[yocto] autobuilder: How to set PREMIRRORS?

Bryan Evenson bevenson at melinkcorp.com
Wed Nov 19 07:12:08 PST 2014


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 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?

Thanks,
Bryan



More information about the yocto mailing list