[poky] wanting to clarify some details about PREMIRRORS
Richard Purdie
richard.purdie at linuxfoundation.org
Wed Sep 7 15:33:08 PDT 2011
On Tue, 2011-09-06 at 10:20 -0400, Robert P. J. Day wrote:
> after a short and educational chat with a couple people who should
> know, i want to clarify what i understand about PREMIRRORS so i can
> document it properly. and it seems that the poky list, not the yocto
> list, is the right place for that. (correct me if i'm wrong.)
>
> i'm reading the poky reference manual:
>
> http://www.yoctoproject.org/docs/poky-ref-manual/poky-ref-manual.html
>
> and here's what i *think* i understand about the proper use of
> PREMIRRORS.
>
> first, it's for identifying more quickly accessible and downloadable
> source for a given build, and it reflects *only tarballs*, is that
> correct? as in, regardless of how you would *normally* get some
> software component for your build (ftp, http, git, svn, ...),
If the destination is an ftp/http/https url then it will try and obtain
tarballs from them.
You could do a "git:// git://" premirror and it would try and fetch
using git from the alternative git url.
> what
> PREMIRRORS represents is ***only*** tarballs that match precisely the
> software component your build needs. is that correct?
And no, it might not necessarily exactly match. See below.
> also, is there a list of acceptable archive suffixes that PREMIRRORS
> can handle? i've seen .tar.gz, .tar.bz2, .tgz and so on. is there a
> fetcher method that makes it clear what you can and can't have in
> PREMIRRORS?
It should match the original source url, or be in the format that the
mirror generation code for that type of url uses. I'd not expect users
to be manually generating these so I'm not sure documenting a list makes
sense.
> next, as i read it, the PREMIRRORS entries for ftp, http and https
> represent what are normally tarballs, anyway. when you get into
> SCM-based fetches, then the PREMIRRORS location would contain the
> resulting tarball you would have ended up with.
>
> for instance, with my default yocto build, i need to "git" the
> 3.0... linux kernel. what i end up with is the 500M tarball
> git2_git.yoctoproject.org.linux-yocto-3.0.tar.gz. so as long as i
> copy that tarball into my PREMIRRORS local directory, as long as my
> subsequent yocto builds require *precisely* that git clone of the
> kernel, my local PREMIRRORS tarball will be used, correct?
That tarball will be used to "seed" a checkout directory. The system
will then check if the revisions it needs are present. If the revisions
are not present, it would try and then incrementally fetch what was
missing from the upstream using the normal SRC_URI.
Cheers,
Richard
More information about the poky
mailing list