On 03/01/2012 09:19 AM, C Anthony Risinger wrote: > On Thu, Mar 1, 2012 at 2:07 AM, Damien Churchill <damoxc@xxxxxxxxx> wrote: >> >> You could mount --bind the location of your local git repositories to >> a point inside your chroot, that's probably the quickest and simplest >> way of doing it, although it offers no protection of your git >> repositories from being wiped out from within the chroot. > > you can readonly --bind mount at the VFS level: > > mount --bind /a /b > mount -oremount,bind,ro /b > > ... i have an AUR package that does exactly this: > > (the for loop after "# Allow env passthru ...") > http://aur.archlinux.org/packages/py/pyjamas-engine-pythonwebkit/PKGBUILD > > ... this block allows variables to be set from the ENV, but more > related is the excerpt later on in build(): > > if [[ ! -e ${g}/objects ]]; then > msg "[git] Creating NEW repository ... " > git --git-dir="${g}" --work-tree="${w}" init > elif [[ ! -w ${g}/objects ]]; then > warning "[git] Repository read-only, setting up proxy ... " > git --git-dir="${_gitrepo_proxy}" --work-tree="${w}" init > echo "${g}/objects" > "${_gitrepo_proxy}/objects/info/alternates" > cp -r "${g}/refs" "${_gitrepo_proxy}" > g="${_gitrepo_proxy}" > fi > > ... this block check for an objects directory: if missing clone new, > if readonly create proxy. the proxy works by creating a new git repo, > and assigning the original as an alternate object store ... this > allows the build to not only reuse the existing repo but *also* > download/use/change within it's own repo. > > i use this for webkit because it's a 1GiB+ repository. > C Anthony, Damien, Mantas, Thank you! I will give these a try. Yes, thankfully the parts I'm dealing with are not 1G, but 208M is really bad over a git connection with less than .1M downsteam. (you get old waiting for the clone to finish...) -- David C. Rankin, J.D.,P.E.