[arch-general] Howto look outside chroot for local git tree?

David C. Rankin drankinatty at suddenlinkmail.com
Thu Mar 1 12:22:23 EST 2012


On 03/01/2012 09:19 AM, C Anthony Risinger wrote:
> On Thu, Mar 1, 2012 at 2:07 AM, Damien Churchill <damoxc at gmail.com> 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.


More information about the arch-general mailing list