[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Re: [PATCH] tools: python portability fixes



On Tuesday 04 August 2009 12:32:41 Ian Jackson wrote:
> Christoph Egger writes ("Re: [PATCH] tools: python portability fixes"):
> > On Tuesday 28 July 2009 11:55:59 Ian Jackson wrote:
> > > While I'm here, though: you keep mentioning this as if there was
> > > something wrong with this.  I think having the Xen build system depend
> > > on bash being installed is absolutely fine.
> >
> > On NetBSD, bash is a third-party package.
> > scripts having #!/bin/bash fail with "/bin/bash: No such file or
> > directory" The bourne shell (#!/bin/sh) is mighty enough to not require
> > bashism.
>
> I agree that it is sensible not to make scripts bash-specific for no
> reason.  However, there are quite a few things that are much easier to
> do in bash and require enormous amounts of pratting about to do in
> POSIX sh.
>
> Also, if we write #!/bin/sh at the top of the script, we get
> complaints from Solaris people if our script is not portable to the
> astonishingly ancient and crusty Solaris /bin/sh.

The build system should call shell scripts via $(SHELL).
On Solaris, $(SHELL) points to /bin/bash .

> I don't want to get into NetBSD's decision to make bash be `a third
> party package' (whatever that means),

that means, it's not part of the base system.

> but surely there are plenty of things in the Xen build system
> that are `third party packages'. You can't build Xen without
> hg and git and texinfo and GNU make and so on. 
> It seems to me that bash is much less of an imposition.

Actually the opposite is the case.
bash as a shell is special in how it is used.

You don't type /bin/hg or /bin/git but you type #!/bin/bash in scripts
and that is where it fails.

The portable way is to make it work with POSIX sh and call it with $(SHELL)  
(see above).

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.