WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH] tools/stubdom: get rid of hardcoded pathes

To: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] tools/stubdom: get rid of hardcoded pathes
From: Christoph Egger <Christoph.Egger@xxxxxxx>
Date: Tue, 2 Jun 2009 11:30:36 +0200
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 02 Jun 2009 02:31:19 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <18974.55653.154784.824235@xxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <200905281842.48191.Christoph.Egger@xxxxxxx> <18974.55653.154784.824235@xxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: KMail/1.9.7
On Thursday 28 May 2009 20:35:17 Ian Jackson wrote:
> Christoph Egger writes ("[Xen-devel] [PATCH] tools/stubdom: get rid of 
hardcoded pathes"):
> > Attached patch makes xen-tools and stubdom-dm going independent
> >
> > >from hardcoded pathes. It is no possible to install into /usr/local or
> > > any
> >
> > other non-default directory and use it out-of-the box.
>
> I think this is a laudable goal but I'm not really convinced by the
> way you've done it.  Amongst my comments:
>
>
> Have you considered an arrangement which substitutes the correct paths
> into the relevant scripts at build time, rather than run time ?

Yes. The build system is doing this.

> Run-time searching can have problems as it means that you can
> sometimes find the wrong copy of something if there are multiple
> different installs.

I talked with the python people on irc.freenode.net what is the python
way to substitute certain patterns with pathes defined by the build system.
The answer: Python has no pre-processor like C. Therefore, have the build 
system to write the pathes into a file and use them. That is what I do.

Neither shell scripts have pre-precessors. So I have to do the same for
the hotplug scripts.


> > +buildmakevars2file = $(eval $(call buildmakevars2file-closure,$(1)))
> > +define buildmakevars2file-closure
> > +    .PHONY: genpath
> > +    genpath:
> > +   rm -f $(1);                                                    \
> > +   echo "SBINDIR=\"$(SBINDIR)\"" >> $(1);                         \
> > +   echo "BINDIR=\"$(BINDIR)\"" >> $(1);                           \
>
> This is really very ugly.  Surely it would be better to have the
> xen-setup[-stumbom] scripts fish things out of the build system,
> rather than plumbing everything through the environment like this.

To avoid maintaining three copies (tools/python/Makefile, stubdom/Makefile
and tools/hotplug/common/Makefile) each with its own tweaks and bugs, I moved 
the code from tools/python/Makfile into a GNU make macro.
If you know a better way, tell me.

> The only thing which _needs_ to be plumbed through from the
> commandline or en environment at install-time is DESTDIR or its
> equivalent.  We can insist on the rest being set in Config.mk or its
> ilk.

No, that's wrong. The way you suggest break the hotplug scripts
when you install into a non-default directory.

>
> The paths that stubdom looks at should not vary according to the host
> platform.  They should be fixed, as they need to be virtualised
> anyway.
>
> > --- a/tools/examples/xend-config.sxp        Thu May 28 11:07:19 2009 +0100
> > +++ b/tools/examples/xend-config.sxp        Thu May 28 18:15:43 2009 +0200
> > @@ -1,5 +1,7 @@
> >  # -*- sh -*-
> >
> > +from xen.util import auxbin
> > +
>
> *boggle*
>
> I stopped reading the patch at that point I'm afraid.

That's necessary to entangle xend from assuming the config files
are in /etc. W/o this, you can't really have a working installation
in a non-default directory.

Christoph


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Karl-Hammerschmidt-Str. 34, 85609 Dornach b. Muenchen
Geschaeftsfuehrer: Thomas M. McCoy, Giuliano Meroni
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


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

<Prev in Thread] Current Thread [Next in Thread>
  • Re: [Xen-devel] [PATCH] tools/stubdom: get rid of hardcoded pathes, Christoph Egger <=