On Sat, 10 Mar 2012, Gary Thomas wrote: > All you really need are these lines: > SOURCE_MIRROR_URL ?= "file://${COREBASE}/sources/" > INHERIT += "own-mirrors" > Adjust the SOURCE_MIRROR_URL to wherever you want the files. I also always > add > BB_GENERATE_MIRROR_TARBALLS = "1" > This will let the fetcher make a git2_XXX tarball, once the repo has been > cloned. > > My understanding is that the git (and other SCM) fetcher works like this: > * If there is a git2_XXX tar file in the DL_DIR (or mirror), unpack it > into ${BUILD}/downloads/git2 > * Check to see if the desired ${SRCREV} is present. If not, do a 'git pull' > to update the local clone and then rebuild the git2_XXX tarball. > This way, you only have to clone once - just copy any generated tarballs back > to your source mirror. > > Finally, if you set > BB_NO_NETWORK = "1" > the build will fail if bitbake *ever* has to go to the network,
well, that (sort of) worked so let me summarize for the benefit of anyone else interested. i configured for a new build (beagleboard), and added the following to the bottom of local.conf: SOURCE_MIRROR_URL ?= "file:///home/rpjday/dl/" INHERIT += "own-mirrors" BB_GENERATE_MIRROR_TARBALLS = "1" # BB_NO_NETWORK = "1" (since i know i'll need to do some downloading, i won't ban network access, obviously, not for this first run.) did a "bitbake -c fetchall core-image-minimal", then checked my downloads/ directory for any content that actually got downloaded and tarball-ed, and found one obvious and sizable download: ... 87770604 2012-03-10 06:45 gcc-4_6-branch_gcc.gnu.org_.svn.gcc.branches_184847_.tar.gz i copied that over to my own mirror dl/ directory, then configured a whole new build (also beagleboard), added same mirror directives to local.conf except (of course) banning network access this time, and once again did $ bitbake -c fetchall core-image-minimal and got something unexpected: NOTE: package bash-4.2-r1: task do_fetch: Started ERROR: Function failed: Network access disabled through BB_NO_NETWORK but access rquested with command /usr/bin/env wget -t 5 -nv --passive-ftp --no-check-certificate -P /home/rpjday/yocto/builds/beag2/downloads 'ftp://ftp.gnu.org/gnu/bash/bash-4.2-patches/bash42-001' (for url None) ERROR: Logfile of failure stored in: /home/rpjday/yocto/builds/beag2/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/bash-4.2-r1/temp/log.do_fetch.32479 Log data follows: | DEBUG: Trying PREMIRRORS ... snip ... i can clearly see the problem -- while i have the bash tarball itself in my own mirror, i don't have the patches to go with it, as defined in the recipes file: SRC_URI = "${GNU_MIRROR}/bash/${BPN}-${PV}.tar.gz;name=tarball \ ${GNU_MIRROR}/bash/bash-4.2-patches/bash42-001;apply=yes;striplevel=0;name=patch001 \ ${GNU_MIRROR}/bash/bash-4.2-patches/bash42-002;apply=yes;striplevel=0;name=patch002 \ ${GNU_MIRROR}/bash/bash-4.2-patches/bash42-003;apply=yes;striplevel=0;name=patch003 \ ... etc etc ... when i went looking for actual downloads in step 1, i just searched for sizable tarballs or zip files, it never occurred to me to check for patch files. so i guess i just have to be more observant and check for patch files as well (or anything else a recipe might want to download). so far, so good? rday -- ======================================================================== Robert P. J. Day Ottawa, Ontario, CANADA http://crashcourse.ca Twitter: http://twitter.com/rpjday LinkedIn: http://ca.linkedin.com/in/rpjday ======================================================================== _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto