Guys, Is it possible to look outside of the chroot while building in an archroot from the PKGBUILD to check for a local copy of a git tree? Logically, what I want to do from inside the archroot is: (1) check for an existing git source in the ${srcdir} (if so, then use it) (if not, then...) (2) check for a local copy of the git tree outside chroot (if found) (3) change to that directory and update and copy to ${srcdir} (else) (4) clone new copy into ${srcdir} Is this even possible? I have made an attempt at implementing this, but I think I'm prevented from looking outside the chroot. Everything works except for (2) above. The check for the local copy always fails forcing a new clone into ${srcdir} instead of simply being able to update the local tree and copy to ${srcdir}. ## GIT repository variables and location _gitlocal="/home/david/tde/tde/main" _gitname="${pkgname#*-}" _gitdir="${_gitlocal}/dependencies/${_gitname}" _giturl="$url" _gitsfx="-git" _prefix="/opt/tde" build() { cd ${srcdir} <snip> ## update or clone from GIT msg "Checking for existing GIT source: $_gitname" if [ -d $_gitname ] ; then msg "Using existing source in: ${srcdir}/${_gitname}" else msg "Looking for local GIT tree: $_gitdir" if [ -d $_gitdir ] ; then msg "Updating local tree: $_gitdir" cd $_gitdir && { git pull git submodule init git submodule update --recursive git submodule foreach --recursive "git checkout master" git submodule foreach --recursive "git pull" } cd ${srcdir} && cp -a "$_gitdir" . msg "The local files are updated." else msg "Connecting to GIT server...." msg "Cloning new source from: $url" git clone --depth 1 $_giturl fi msg "GIT checkout done or server timeout" fi msg "Starting configure..." # ./configure \ msg "Building - ${pkgname}..." # make } The output from makechrootpkg is always the same even though the local copy of the git tree is present: ==> Making package: tde-libart-lgpl 1.3.2.4-1 (Wed Feb 29 23:55:20 UTC 2012) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Retrieving Sources... ==> Extracting Sources... ==> Starting build()... ==> Checking for existing GIT source: libart-lgpl ==> Looking for local GIT tree: /home/david/tde/tde/main/dependencies/libart-lgpl ==> Connecting to GIT server.... ==> Cloning new source from: http://scm.trinitydesktop.org/scm/git/libart-lgpl Cloning into 'libart-lgpl'... ==> GIT checkout done or server timeout ==> Starting configure... ==> Building - tde-libart-lgpl... ==> Entering fakeroot environment... ==> Starting package()... ==> Packaging - tde-libart-lgpl-1.3.2.4 Possible? Or would the solution be to set the local copy of the git tree up inside a apache (or whatever it takes) and pretend to run a local copy? Even then, there would be no way to check for its existence from inside the chroot? What say the experts? -- David C. Rankin, J.D.,P.E.