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

From: Mike Frysinger
Date: Mon Jan 28 2008 - 18:36:37 EST


On Monday 28 January 2008, Adrian Bunk wrote:
> On Mon, Jan 28, 2008 at 04:21:01PM -0500, Mike Frysinger wrote:
> > On Monday 28 January 2008, Adrian Bunk wrote:
> > > On Mon, Jan 28, 2008 at 03:43:16PM -0500, Mike Frysinger wrote:
> > > > 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.
> > >
> > > David Korn's ksh93 (e.g. shipped in the Debian "ksh" package) disproves
> > > your claim "it has been implemented by every shell so far".
> >
> > sorry, i left out the operative word "relevant". i dont care what random
> > shell fails unless people are actually utilizing it as their /bin/sh in
> > any sort of useful context. as soon as someone complains for real and
> > not just to be annoying, i'll address their complaint then.
> >...
>
> You started with claiming "LTP scripts are written to be POSIX
> complaint" and now that I've shown you a not that uncommon IEEE POSIX
> 1003.2 compliant shell that can't cope with your non-POSIX script you
> suddenly introduce the word "relevant".

what's your point ? LTP scripts are POSIX compliant with a little extra that
so far has worked fine for everyone actually running LTP. as soon as the
little extra realistically becomes a problem, i'll rework things. you havent
shown a realistic system. i'm willing to tweak things for real LTP users,
not people being tools.

> But when you care only about "relevant" shells you could simply
> implementing my suggestion of placing a #!/bin/bash at the top of your
> scripts instead of defining your own POSIX superset that you require
> from a /bin/sh for allowing a user to execute your script...

no. people run LTP on embedded systems w/out bash.
-mike

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