Re: [LTP] [TEST] : LTP Build failure on 2.6.24 kernel

From: Mike Frysinger
Date: Mon Jan 28 2008 - 15:43:39 EST


On Monday 28 January 2008, Adrian Bunk wrote:
> On Mon, Jan 28, 2008 at 06:53:15AM -0500, Mike Frysinger wrote:
> > On Monday 28 January 2008, Rishikesh K. Rajak wrote:
> > > Here i am getting failure on the x86_64 machine with new kernel.
> > >
> > > Here is the uname for that machine:
> > >
> > > rishi@:~/ltp-full-20071231# uname -a
> > > Linux rishi.in.ibm.com 2.6.24 #1 SMP PREEMPT Mon Jan 28 06:47:28 UTC
> > > 2008 x86_64 GNU/Linux
> >
> > i'm guessing you're using ubuntu and thus dash is your /bin/sh ...
> > shouldnt be a 2.6.24 issue
> >
> > > make[4]: Entering directory
> > > `/root/ltp-full-20071231/testcases/network/tcp_cmds/ftp'
> > > ../../generate.sh
> > > ../../generate.sh: 60: arith: syntax error: "cnt=cnt-1"
> >
> > sadly, this is becoming a FAQ. ubuntu ships a broken /bin/sh (dash) and
> > thus some LTP scripts fall apart. i would prefer to not change the
> > scripts as the message is simple in LTP: fix your shell, dont add hacks
> > to LTP. otherwise we slowly back ourselves into this corner with the
> > shell scripts where we try to support every craptastic shell out there
> > and we're afraid to make any changes because we dont know what crappy
> > shell is going to drop a brick. LTP scripts are written to be POSIX
> > complaint and only POSIX complaint shells should be provided by /bin/sh.
>
> You better fulfil your claim "LTP scripts are written to be POSIX
> complaint" before complaining about shells being unhappy with your
> script. E.g. where in IEEE 1003.1-2004 is the "local" you use specified?

yes, local is a bsd extension not in POSIX. it has been implemented by every
shell so far though. as soon as someone complains, i'll be more than happy
to fix it.

> Or instead of working on making your script using only the stuff
> specified in IEEE 1003.1-2004 you could simply replace the #!/bin/sh at
> the top with a #!/bin/bash and everbody will be happy.

no
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.