All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [Xen-staging] [xen-unstable] If we find a Linux repository in $(LINUX_SRC_PATH) then symlink it
       [not found] <200706041442.l54EgKQp007662@latara.uk.xensource.com>
@ 2007-06-04 18:49 ` Alex Williamson
  2007-06-04 21:37   ` Ian Campbell
  0 siblings, 1 reply; 12+ messages in thread
From: Alex Williamson @ 2007-06-04 18:49 UTC (permalink / raw)
  To: Ian Campbell; +Cc: xen-devel

On Mon, 2007-06-04 at 15:42 +0100, Xen staging patchbot-unstable wrote:
> # HG changeset patch
> # User Ian Campbell <ian.campbell@xensource.com>
> # Date 1180968092 -3600
> # Node ID c09dbe98e4d61d29138e8a2918d9ee8a85e1d6cf
> # Parent  5710c94e65394daadafd7a6780450e01a26bf32d
> If we find a Linux repository in $(LINUX_SRC_PATH) then symlink it
> instead of cloning it. This enables developers to keep a linux tree
> separate to their xen repository and to make changes there which are
> picked up by the Xen build.

   I don't like this at all, especially without an environment variable
I can use to disable it.  My standard mode of operation is to have a
directory with repos that exactly mirror upstream.  To work on code or
apply patches, I clone those and work from there.  I don't want the
default to be symlink'ing to my 'pristine' upstream repo copies.
Thanks,

	Alex

> ---
>  buildconfigs/src.hg-clone |   21 ++++++++++++++-------
>  1 files changed, 14 insertions(+), 7 deletions(-)
> 
> diff -r 5710c94e6539 -r c09dbe98e4d6 buildconfigs/src.hg-clone
> --- a/buildconfigs/src.hg-clone	Mon Jun 04 15:32:11 2007 +0100
> +++ b/buildconfigs/src.hg-clone	Mon Jun 04 15:41:32 2007 +0100
> @@ -20,17 +20,24 @@ XEN_LINUX_HGREV  ?= tip
>  XEN_LINUX_HGREV  ?= tip
>  
>  $(LINUX_SRCDIR)/.valid-src: $(__XEN_LINUX_UPDATE)
> -	set -e ; __repo=$(XEN_LINUX_HGREPO) ; \
> -	if [ ! -d $(LINUX_SRCDIR) ] ; then \
> -	    echo "Cloning $${__repo} to $(LINUX_SRCDIR)." ; \
> -	    $(HG) clone $${__repo} $(LINUX_SRCDIR) ; \
> +	set -e ; \
> +	if [ ! -e $(LINUX_SRCDIR)/.hg ] ; then \
> +	    __repo=$(XEN_LINUX_HGREPO) ; \
> +	    if [ -d $${__repo} ] ; then \
> +	        echo "Linking $${__repo} to $(LINUX_SRCDIR)." ; \
> +	        ln -s $${__repo} $(LINUX_SRCDIR) ; \
> +	    else \
> +	        echo "Cloning $${__repo} to $(LINUX_SRCDIR)." ; \
> +	        $(HG) clone $${__repo} $(LINUX_SRCDIR) ; \
> +	    fi ; \
>  	else \
> -	    echo "Pulling changes from $${__repo} into $(LINUX_SRCDIR)." ; \
> -	    $(HG) -R $(LINUX_SRCDIR) pull $${__repo} ; \
> +	    __parent=$$($(HG) -R $(LINUX_SRCDIR) path default) ; \
> +	    echo "Pulling changes from $${__parent} into $(LINUX_SRCDIR)." ; \
> +	    $(HG) -R $(LINUX_SRCDIR) pull $${__parent} ; \
>  	fi
>  	if [ -n "$(XEN_LINUX_HGREV)" ] ; then \
>  	    echo "Updating $(LINUX_SRCDIR) to revision $(XEN_LINUX_HGREV)." ; \
> -	    $(HG) update -R $(LINUX_SRCDIR) $(XEN_LINUX_HGREV) ; \
> +	    ( cd $(LINUX_SRCDIR) && $(HG) update $(XEN_LINUX_HGREV) ); \
>  	fi
>  	touch $@
>  
> 
> _______________________________________________
> Xen-staging mailing list
> Xen-staging@lists.xensource.com
> http://lists.xensource.com/xen-staging
> 
-- 
Alex Williamson                             HP Open Source & Linux Org.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Xen-staging] [xen-unstable] If we find a Linux repository in $(LINUX_SRC_PATH) then symlink it
  2007-06-04 18:49 ` [Xen-staging] [xen-unstable] If we find a Linux repository in $(LINUX_SRC_PATH) then symlink it Alex Williamson
@ 2007-06-04 21:37   ` Ian Campbell
  2007-06-04 21:44     ` Alex Williamson
  0 siblings, 1 reply; 12+ messages in thread
From: Ian Campbell @ 2007-06-04 21:37 UTC (permalink / raw)
  To: Alex Williamson; +Cc: xen-devel

On Mon, 2007-06-04 at 12:49 -0600, Alex Williamson wrote:
> On Mon, 2007-06-04 at 15:42 +0100, Xen staging patchbot-unstable wrote:
> > # HG changeset patch
> > # User Ian Campbell <ian.campbell@xensource.com>
> > # Date 1180968092 -3600
> > # Node ID c09dbe98e4d61d29138e8a2918d9ee8a85e1d6cf
> > # Parent  5710c94e65394daadafd7a6780450e01a26bf32d
> > If we find a Linux repository in $(LINUX_SRC_PATH) then symlink it
> > instead of cloning it. This enables developers to keep a linux tree
> > separate to their xen repository and to make changes there which are
> > picked up by the Xen build.
> 
>    I don't like this at all, especially without an environment variable
> I can use to disable it.  My standard mode of operation is to have a
> directory with repos that exactly mirror upstream.  To work on code or
> apply patches, I clone those and work from there.  I don't want the
> default to be symlink'ing to my 'pristine' upstream repo copies.
> Thanks,

export LINUX_SRC_PATH='' should do what you need, no?

Ian.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Xen-staging] [xen-unstable] If we find a Linux repository in $(LINUX_SRC_PATH) then symlink it
  2007-06-04 21:37   ` Ian Campbell
@ 2007-06-04 21:44     ` Alex Williamson
  2007-06-04 22:03       ` Ian Campbell
  0 siblings, 1 reply; 12+ messages in thread
From: Alex Williamson @ 2007-06-04 21:44 UTC (permalink / raw)
  To: Ian Campbell; +Cc: xen-devel

On Mon, 2007-06-04 at 22:37 +0100, Ian Campbell wrote:
> On Mon, 2007-06-04 at 12:49 -0600, Alex Williamson wrote:
> > On Mon, 2007-06-04 at 15:42 +0100, Xen staging patchbot-unstable wrote:
> > > # HG changeset patch
> > > # User Ian Campbell <ian.campbell@xensource.com>
> > > # Date 1180968092 -3600
> > > # Node ID c09dbe98e4d61d29138e8a2918d9ee8a85e1d6cf
> > > # Parent  5710c94e65394daadafd7a6780450e01a26bf32d
> > > If we find a Linux repository in $(LINUX_SRC_PATH) then symlink it
> > > instead of cloning it. This enables developers to keep a linux tree
> > > separate to their xen repository and to make changes there which are
> > > picked up by the Xen build.
> > 
> >    I don't like this at all, especially without an environment variable
> > I can use to disable it.  My standard mode of operation is to have a
> > directory with repos that exactly mirror upstream.  To work on code or
> > apply patches, I clone those and work from there.  I don't want the
> > default to be symlink'ing to my 'pristine' upstream repo copies.
> > Thanks,
> 
> export LINUX_SRC_PATH='' should do what you need, no?

   Nope, that still gives me a symlink'd linux-2.6.18-xen.hg repo.
Thanks,

	Alex

-- 
Alex Williamson                             HP Open Source & Linux Org.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Xen-staging] [xen-unstable] If we find a Linux repository in $(LINUX_SRC_PATH) then symlink it
  2007-06-04 21:44     ` Alex Williamson
@ 2007-06-04 22:03       ` Ian Campbell
  2007-06-04 22:19         ` Alex Williamson
  0 siblings, 1 reply; 12+ messages in thread
From: Ian Campbell @ 2007-06-04 22:03 UTC (permalink / raw)
  To: Alex Williamson; +Cc: xen-devel

On Mon, 2007-06-04 at 15:44 -0600, Alex Williamson wrote:
> On Mon, 2007-06-04 at 22:37 +0100, Ian Campbell wrote:
> > On Mon, 2007-06-04 at 12:49 -0600, Alex Williamson wrote:
> > > On Mon, 2007-06-04 at 15:42 +0100, Xen staging patchbot-unstable wrote:
> > > > # HG changeset patch
> > > > # User Ian Campbell <ian.campbell@xensource.com>
> > > > # Date 1180968092 -3600
> > > > # Node ID c09dbe98e4d61d29138e8a2918d9ee8a85e1d6cf
> > > > # Parent  5710c94e65394daadafd7a6780450e01a26bf32d
> > > > If we find a Linux repository in $(LINUX_SRC_PATH) then symlink it
> > > > instead of cloning it. This enables developers to keep a linux tree
> > > > separate to their xen repository and to make changes there which are
> > > > picked up by the Xen build.
> > > 
> > >    I don't like this at all, especially without an environment variable
> > > I can use to disable it.  My standard mode of operation is to have a
> > > directory with repos that exactly mirror upstream.  To work on code or
> > > apply patches, I clone those and work from there.  I don't want the
> > > default to be symlink'ing to my 'pristine' upstream repo copies.
> > > Thanks,
> > 
> > export LINUX_SRC_PATH='' should do what you need, no?
> 
>    Nope, that still gives me a symlink'd linux-2.6.18-xen.hg repo.

Are you sure?

$ ls
COPYING    Config.mk.orig  Makefile  buildconfigs/  config/  extras/      patches/  unmodified_drivers/
Config.mk  Config.mk~      README    commitmsg~     docs/    install.sh*  tools/    xen/
$ make linux-2.6-xen0-prep
[...snip...]
select-repository: Searching `.:..' for linux-2.6.18-xen.hg
select-repository: Ignoring `.'
select-repository: Found ../linux-2.6.18-xen.hg
Linking ../linux-2.6.18-xen.hg to linux-2.6.18-xen.hg.
$ ls -l
[...snip...]
lrwxrwxrwx   1 ianc xendev    22 Jun  4 22:55 linux-2.6.18-xen.hg -> ../linux-2.6.18-xen.hg/

versus (in the same directory)

$ make distclean
$ ls
COPYING    Config.mk.orig  Makefile  buildconfigs/  config/  extras/      patches/  unmodified_drivers/
Config.mk  Config.mk~      README    commitmsg~     docs/    install.sh*  tools/    xen/
$ LINUX_SRC_PATH='' make linux-2.6-xen0-prep
select-repository: Found http://hg.uk.xensource.com/linux-2.6.18-xen.hg
Cloning http://hg.uk.xensource.com/linux-2.6.18-xen.hg to linux-2.6.18-xen.hg.
$ ls -l 
[...snip...]
drwxr-xr-x   3 ianc xendev    72 Jun  4 22:57 linux-2.6.18-xen.hg/

I think you are saying that you have a directory 'working' which is
parented off a pristine '../xen-unstable.hg'. Therefore it should
calculate the parent Linux repository as being '../linux-2.6.18-xen.hg'
and clone that, since it won't find it via LINUX_SRC_PATH which is ''.

Ian.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Xen-staging] [xen-unstable] If we find a Linux repository in $(LINUX_SRC_PATH) then symlink it
  2007-06-04 22:03       ` Ian Campbell
@ 2007-06-04 22:19         ` Alex Williamson
  2007-06-05  7:11           ` Ian Campbell
  0 siblings, 1 reply; 12+ messages in thread
From: Alex Williamson @ 2007-06-04 22:19 UTC (permalink / raw)
  To: Ian Campbell; +Cc: xen-devel

On Mon, 2007-06-04 at 23:03 +0100, Ian Campbell wrote:
> 
> Are you sure?

   Yup.

> $ ls
> COPYING    Config.mk.orig  Makefile  buildconfigs/  config/  extras/      patches/  unmodified_drivers/
> Config.mk  Config.mk~      README    commitmsg~     docs/    install.sh*  tools/    xen/
> $ make linux-2.6-xen0-prep
> [...snip...]
> select-repository: Searching `.:..' for linux-2.6.18-xen.hg
> select-repository: Ignoring `.'
> select-repository: Found ../linux-2.6.18-xen.hg
> Linking ../linux-2.6.18-xen.hg to linux-2.6.18-xen.hg.
> $ ls -l
> [...snip...]
> lrwxrwxrwx   1 ianc xendev    22 Jun  4 22:55 linux-2.6.18-xen.hg -> ../linux-2.6.18-xen.hg/
> 
> versus (in the same directory)
> 
> $ make distclean
> $ ls
> COPYING    Config.mk.orig  Makefile  buildconfigs/  config/  extras/      patches/  unmodified_drivers/
> Config.mk  Config.mk~      README    commitmsg~     docs/    install.sh*  tools/    xen/
> $ LINUX_SRC_PATH='' make linux-2.6-xen0-prep
> select-repository: Found http://hg.uk.xensource.com/linux-2.6.18-xen.hg
> Cloning http://hg.uk.xensource.com/linux-2.6.18-xen.hg to linux-2.6.18-xen.hg.

You're cloning from a remote repo, mine is local on disk:

#:~$ hg clone ~/xen-upstream/staging/xen-unstable.hg test
2979 files updated, 0 files merged, 0 files removed, 0 files unresolved
#:~$ cd test
#:~/test$ LINUX_SRC_PATH='' make linux-2.6-xen0-prep
make -f buildconfigs/mk.linux-2.6-xen0 prep
make[1]: Entering directory `/home/awilliam/test'
set -e ; \
        if [ ! -e linux-2.6.18-xen.hg/.hg ] ; then \
            __repo=$(sh buildconfigs/select-repository linux-2.6.18-xen.hg ) ; \
            if [ -d ${__repo} ] ; then \
                echo "Linking ${__repo} to linux-2.6.18-xen.hg." ; \
                ln -s ${__repo} linux-2.6.18-xen.hg ; \
            else \
                echo "Cloning ${__repo} to linux-2.6.18-xen.hg." ; \
                hg clone ${__repo} linux-2.6.18-xen.hg ; \
            fi ; \
        else \
            __parent=$(hg -R linux-2.6.18-xen.hg path default) ; \
            echo "Pulling changes from ${__parent} into linux-2.6.18-xen.hg." ; \
            hg -R linux-2.6.18-xen.hg pull ${__parent} ; \
        fi
select-repository: Found /home/awilliam/xen-upstream/staging/linux-2.6.18-xen.hg
Linking /home/awilliam/xen-upstream/staging/linux-2.6.18-xen.hg to linux-2.6.18-xen.hg.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

#:~/test$ ls -l
...
lrwxrwxrwx  1 awilliam awilliam    55 2007-06-04 16:11 linux-2.6.18-xen.hg -> /home/awilliam/xen-upstream/staging/linux-2.6.18-xen.hg

#:~test$ ls -l ~/xen-upstream/staging
drwxr-xr-x 21 awilliam awilliam 4096 2007-06-04 12:36 linux-2.6.18-xen.hg
drwxr-xr-x 10 awilliam awilliam 4096 2007-06-04 12:32 xen-unstable.hg

I would think this is a pretty standard development setup.  With the
number of trees I go through in a day, I certainly don't want to have to
keep them remote in order to get a cloned copy.

> $ ls -l 
> [...snip...]
> drwxr-xr-x   3 ianc xendev    72 Jun  4 22:57 linux-2.6.18-xen.hg/
> 
> I think you are saying that you have a directory 'working' which is
> parented off a pristine '../xen-unstable.hg'. Therefore it should
> calculate the parent Linux repository as being
> '../linux-2.6.18-xen.hg'
> and clone that, since it won't find it via LINUX_SRC_PATH which is ''.

   It finds it via the hg path, not the search path.  Thanks,

	Alex

-- 
Alex Williamson                             HP Open Source & Linux Org.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Xen-staging] [xen-unstable] If we find a Linux repository in $(LINUX_SRC_PATH) then symlink it
  2007-06-04 22:19         ` Alex Williamson
@ 2007-06-05  7:11           ` Ian Campbell
  2007-06-05  7:31             ` Re: [Xen-staging] [xen-unstable] If we find a Linuxrepository " Cui, Dexuan
  2007-06-05  7:59             ` Re: [Xen-staging] [xen-unstable] If we find a Linux repository " Ian Campbell
  0 siblings, 2 replies; 12+ messages in thread
From: Ian Campbell @ 2007-06-05  7:11 UTC (permalink / raw)
  To: Alex Williamson; +Cc: xen-devel

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.

>             __repo=$(sh buildconfigs/select-repository linux-2.6.18-xen.hg ) ; \
>             if [ -d ${__repo} ] ; then \

this test is still true even if the repository was found by munging the
parent and not LINUX_SRC_PATH. I'll try prepending "file://" if we go
down the munging path and the tree happens to be local.

Ian.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* RE: Re: [Xen-staging] [xen-unstable] If we find a Linuxrepository in $(LINUX_SRC_PATH) then symlink it
  2007-06-05  7:11           ` Ian Campbell
@ 2007-06-05  7:31             ` Cui, Dexuan
  2007-06-05  7:54               ` Ian Campbell
  2007-06-05  7:59             ` Re: [Xen-staging] [xen-unstable] If we find a Linux repository " Ian Campbell
  1 sibling, 1 reply; 12+ messages in thread
From: Cui, Dexuan @ 2007-06-05  7:31 UTC (permalink / raw)
  To: Ian Campbell; +Cc: xen-devel, Alex Williamson

When I make world using c/s 15217, I met with the following error:

......
make -f buildconfigs/mk.linux-2.6-xen0 build
make[3]: Entering directory `/home/dcui/tmp/stage-wd2'
set -e ; \
if [ ! -e linux-2.6.18-xen.hg/.hg ] ; then \
    __repo=$(sh buildconfigs/select-repository linux-2.6.18-xen.hg .:..) ; \
    if [ -d ${__repo} ] ; then \
        echo "Linking ${__repo} to linux-2.6.18-xen.hg." ; \
        ln -s ${__repo} linux-2.6.18-xen.hg ; \
    else \
        echo "Cloning ${__repo} to linux-2.6.18-xen.hg." ; \
        hg clone ${__repo} linux-2.6.18-xen.hg ; \
    fi ; \
else \
    __parent=$(hg -R linux-2.6.18-xen.hg path default) ; \
    echo "Pulling changes from ${__parent} into linux-2.6.18-xen.hg." ; \
    hg -R linux-2.6.18-xen.hg pull ${__parent} ; \
fi
select-repository: Searching `.:..' for linux-2.6.18-xen.hg
select-repository: Ignoring `.'
select-repository: Found http:/linux-2.6.18-xen.hg
Cloning http:/linux-2.6.18-xen.hg to linux-2.6.18-xen.hg.
abort: error: o
make[3]: *** [linux-2.6.18-xen.hg/.valid-src] Error 255
make[3]: Leaving directory `/home/dcui/tmp/stage-wd2'
make[2]: *** [linux-2.6-xen0-install] Error 2
make[2]: Leaving directory `/home/dcui/tmp/stage-wd2'
make[1]: *** [install-kernels] Error 1
make[1]: Leaving directory `/home/dcui/tmp/stage-wd2'
make: *** [world] Error 2

-- Dexuan

-----Original Message-----
From: xen-devel-bounces@lists.xensource.com [mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of Ian Campbell
Sent: 2007年6月5日 15:11
To: Alex Williamson
Cc: xen-devel
Subject: [Xen-devel] Re: [Xen-staging] [xen-unstable] If we find a Linuxrepository in $(LINUX_SRC_PATH) then symlink it

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.

>             __repo=$(sh buildconfigs/select-repository linux-2.6.18-xen.hg ) ; \
>             if [ -d ${__repo} ] ; then \

this test is still true even if the repository was found by munging the
parent and not LINUX_SRC_PATH. I'll try prepending "file://" if we go
down the munging path and the tree happens to be local.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 12+ messages in thread

* RE: Re: [Xen-staging] [xen-unstable] If we find a Linuxrepository in $(LINUX_SRC_PATH) then symlink it
  2007-06-05  7:31             ` Re: [Xen-staging] [xen-unstable] If we find a Linuxrepository " Cui, Dexuan
@ 2007-06-05  7:54               ` Ian Campbell
  2007-06-05  8:29                 ` Re: [Xen-staging] [xen-unstable] If we find aLinuxrepository " Cui, Dexuan
  0 siblings, 1 reply; 12+ messages in thread
From: Ian Campbell @ 2007-06-05  7:54 UTC (permalink / raw)
  To: Cui, Dexuan; +Cc: xen-devel, Alex Williamson

On Tue, 2007-06-05 at 15:31 +0800, Cui, Dexuan wrote:
> select-repository: Searching `.:..' for linux-2.6.18-xen.hg
> select-repository: Ignoring `.'
> select-repository: Found http:/linux-2.6.18-xen.hg
> Cloning http:/linux-2.6.18-xen.hg to linux-2.6.18-xen.hg.
> abort: error: o 

What does "hg path default" show when run in your xen repository?

Ian.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Re: [Xen-staging] [xen-unstable] If we find a Linux repository in $(LINUX_SRC_PATH) then symlink it
  2007-06-05  7:11           ` Ian Campbell
  2007-06-05  7:31             ` Re: [Xen-staging] [xen-unstable] If we find a Linuxrepository " Cui, Dexuan
@ 2007-06-05  7:59             ` Ian Campbell
  2007-06-05 14:21               ` Alex Williamson
  1 sibling, 1 reply; 12+ messages in thread
From: Ian Campbell @ 2007-06-05  7:59 UTC (permalink / raw)
  To: Alex Williamson; +Cc: xen-devel

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 <ian.campbell@xensource.com>
# 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 <ian.campbell@xensource.com>

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) ; \

^ permalink raw reply	[flat|nested] 12+ messages in thread

* RE: Re: [Xen-staging] [xen-unstable] If we find aLinuxrepository in $(LINUX_SRC_PATH) then symlink it
  2007-06-05  7:54               ` Ian Campbell
@ 2007-06-05  8:29                 ` Cui, Dexuan
  2007-06-05 15:27                   ` Ian Campbell
  0 siblings, 1 reply; 12+ messages in thread
From: Cui, Dexuan @ 2007-06-05  8:29 UTC (permalink / raw)
  To: Ian Campbell; +Cc: xen-devel, Alex Williamson

In my host, "hg path default" points to an internal host(http://staging-mirror:8000) that mirrors http://xenbits2.xensource.com/staging/xen-unstable.hg.
So I should mirror http://xenbits2.xensource.com/staging/linux-2.6.18-xen.hg also? What should I set the default hg path to?

Btw: it seems "make world" first deletes the directory "xen-top-level-dir/ linux-2.6.18-xen.hg" if the directory exists -- this means I have to clone the linux-2.6.18-xen.hg every time I make world?

-- Dexuan


-----Original Message-----
From: Ian Campbell [mailto:Ian.Campbell@XenSource.com] 
Sent: 2007年6月5日 15:54
To: Cui, Dexuan
Cc: xen-devel; Alex Williamson
Subject: RE: [Xen-devel] Re: [Xen-staging] [xen-unstable] If we find aLinuxrepository in $(LINUX_SRC_PATH) then symlink it

On Tue, 2007-06-05 at 15:31 +0800, Cui, Dexuan wrote:
> select-repository: Searching `.:..' for linux-2.6.18-xen.hg
> select-repository: Ignoring `.'
> select-repository: Found http:/linux-2.6.18-xen.hg
> Cloning http:/linux-2.6.18-xen.hg to linux-2.6.18-xen.hg.
> abort: error: o 

What does "hg path default" show when run in your xen repository?

Ian.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Re: [Xen-staging] [xen-unstable] If we find a Linux repository in $(LINUX_SRC_PATH) then symlink it
  2007-06-05  7:59             ` Re: [Xen-staging] [xen-unstable] If we find a Linux repository " Ian Campbell
@ 2007-06-05 14:21               ` Alex Williamson
  0 siblings, 0 replies; 12+ messages in thread
From: Alex Williamson @ 2007-06-05 14:21 UTC (permalink / raw)
  To: Ian Campbell; +Cc: xen-devel

On Tue, 2007-06-05 at 08:59 +0100, Ian Campbell wrote:
> 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.

   Much better.  Thanks,

	Alex

-- 
Alex Williamson                             HP Open Source & Linux Org.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* RE: Re: [Xen-staging] [xen-unstable] If we find aLinuxrepository in $(LINUX_SRC_PATH) then symlink it
  2007-06-05  8:29                 ` Re: [Xen-staging] [xen-unstable] If we find aLinuxrepository " Cui, Dexuan
@ 2007-06-05 15:27                   ` Ian Campbell
  0 siblings, 0 replies; 12+ messages in thread
From: Ian Campbell @ 2007-06-05 15:27 UTC (permalink / raw)
  To: Cui, Dexuan; +Cc: xen-devel, Alex Williamson

On Tue, 2007-06-05 at 16:29 +0800, Cui, Dexuan wrote:
> In my host, "hg path default" points to an internal host(http://staging-mirror:8000) that mirrors http://xenbits2.xensource.com/staging/xen-unstable.hg.
> So I should mirror http://xenbits2.xensource.com/staging/linux-2.6.18-xen.hg also? What should I set the default hg path to?

I think this setup is going to break the scheme which we have.

We derive the Linux path from 
	$(dirname $(hg path default))/linux-2.6.18-xen.hg
which is going to be http://linux-2.6.18-xen.hg for you which is
completely wrong. Presumably you need
http://staging-mirror:<some-other-port> which unfortunately cannot be
automatically derived.

I can suggest a few workarounds, if you have any other ideas I'd be glad
to consider them.

You could set XEN_LINUX_HGREPO in your environment to point to the
correct mirror.

Alternatively you could pre-clone linux-2.6.18.hg into your source tree,
then the build will simply use it. Or you could pre-clone
linux-2.6.18.hg in the same directory as your xen-unstable.hg and the
build system will then use that, via $(LINUX_SRC_PATH) which is ".:.."
by default.

We could check in select-repository for "hg path default-linux" before
we go down the route of deriving the path from "hg path default". Then
you could add the correct path to .hg/hgrc. If this seems acceptable let
me know (preferably with a patch ;-))

> Btw: it seems "make world" first deletes the directory
> "xen-top-level-dir/ linux-2.6.18-xen.hg" if the directory exists --
> this means I have to clone the linux-2.6.18-xen.hg every time I make
> world?

make world is the same as "make clean kdelete dist", so yes it will
delete the repositories, in the same way it used to delete linux-FOO,
ref-linux-FOO and pristine-linux-FOO requiring you to unpack and repatch
again.

Ian.

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2007-06-05 15:27 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <200706041442.l54EgKQp007662@latara.uk.xensource.com>
2007-06-04 18:49 ` [Xen-staging] [xen-unstable] If we find a Linux repository in $(LINUX_SRC_PATH) then symlink it Alex Williamson
2007-06-04 21:37   ` Ian Campbell
2007-06-04 21:44     ` Alex Williamson
2007-06-04 22:03       ` Ian Campbell
2007-06-04 22:19         ` Alex Williamson
2007-06-05  7:11           ` Ian Campbell
2007-06-05  7:31             ` Re: [Xen-staging] [xen-unstable] If we find a Linuxrepository " Cui, Dexuan
2007-06-05  7:54               ` Ian Campbell
2007-06-05  8:29                 ` Re: [Xen-staging] [xen-unstable] If we find aLinuxrepository " Cui, Dexuan
2007-06-05 15:27                   ` Ian Campbell
2007-06-05  7:59             ` Re: [Xen-staging] [xen-unstable] If we find a Linux repository " Ian Campbell
2007-06-05 14:21               ` Alex Williamson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.