From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: Re: Re: [Xen-staging] [xen-unstable] If we find a Linux repository in $(LINUX_SRC_PATH) then symlink it Date: Tue, 05 Jun 2007 08:59:00 +0100 Message-ID: <1181030340.4041.25.camel@localhost.localdomain> References: <200706041442.l54EgKQp007662@latara.uk.xensource.com> <1180982974.6221.151.camel@bling> <1180993053.5416.6.camel@cthulhu.hellion.org.uk> <1180993454.6221.200.camel@bling> <1180994618.5416.29.camel@cthulhu.hellion.org.uk> <1180995545.6624.6.camel@lappy> <1181027480.5416.33.camel@cthulhu.hellion.org.uk> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1181027480.5416.33.camel@cthulhu.hellion.org.uk> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Alex Williamson Cc: xen-devel List-Id: xen-devel@lists.xenproject.org On Tue, 2007-06-05 at 08:11 +0100, Ian Campbell wrote: > On Mon, 2007-06-04 at 16:19 -0600, Alex Williamson wrote: > > > You're cloning from a remote repo, mine is local on disk: > > Ah yes, I see the problem now. I'll have a look at fixing it this > morning. Done, although not as clean as I had hoped. # HG changeset patch # User Ian Campbell # Date 1181030273 -3600 # Node ID 23460646912e4ad627b30bc614045ee20a18233a # Parent 7a16a499152ce67fb36b4e101b7d2d953d1f6362 BUILD: Clone the Linux tree if it wasn't found via $(LINUX_SRC_PATH) even if it happens to be a local directory. If we located the Linux tree by deriving the path from "hg path default" and it is a local path then prepend "file://" to prevent us trying to symlink it. Unfortunately mercurial doesn't understand file:// URLs so we have to strip it off again before calling hg clone. Signed-off-by: Ian Campbell diff -r 7a16a499152c -r 23460646912e buildconfigs/select-repository --- a/buildconfigs/select-repository Mon Jun 04 17:09:12 2007 +0100 +++ b/buildconfigs/select-repository Tue Jun 05 08:57:53 2007 +0100 @@ -45,5 +45,14 @@ fi fi echo "$ME: Found ${BASE}/${REPO}" 1>&2 -echo ${BASE}/${REPO} + +# If ${BASE}/${REPO} is a local directory then prepend file:// so that +# the test in src.hg-clone will fail and we will clone instead of +# linking this repository. We only want to link repositories which +# were found via LINUX_SRC_PATH. +if [ -d "${BASE}/${REPO}" ] ; then + echo "file://${BASE}/${REPO}" +else + echo ${BASE}/${REPO} +fi exit 0 diff -r 7a16a499152c -r 23460646912e buildconfigs/src.hg-clone --- a/buildconfigs/src.hg-clone Mon Jun 04 17:09:12 2007 +0100 +++ b/buildconfigs/src.hg-clone Tue Jun 05 08:57:53 2007 +0100 @@ -28,7 +28,7 @@ XEN_LINUX_HGREV ?= tip ln -s $${__repo} $(LINUX_SRCDIR) ; \ else \ echo "Cloning $${__repo} to $(LINUX_SRCDIR)." ; \ - $(HG) clone $${__repo} $(LINUX_SRCDIR) ; \ + $(HG) clone $${__repo#file://} $(LINUX_SRCDIR) ; \ fi ; \ else \ __parent=$$($(HG) -R $(LINUX_SRCDIR) path default) ; \