[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