1.7.1: dash/ash test -x broken?

Eric Blake ebb9@byu.net
Wed Feb 10 02:29:00 GMT 2010


According to Cobb, Christopher (Contr) (IS) on 2/9/2010 1:30 PM:
> I recently upgraded to 1.7.1.
> 
> I have noticed that dash/ash shell scripts which test for the
> executability of files don't work.  For example, the maven build
> application comes with a 'mvn' script which contains this line:
> 
>    if [ ! -x "$JAVACMD" ] ; then
>       print error message
>    fi

Works for me with all my testing so far:

$ touch f1 f2
$ chmod 000 f1
$ chmod 777 f2
$ bash -c 'test -x f1; echo $?'
1
$ bash -c 'test -x f2; echo $?'
0
$ dash -c 'test -x f1; echo $?'
1
$ dash -c 'test -x f2; echo $?'
0

For me to reproduce your failure, I would need more details.  I'm
wondering if it might be an ACL issue.  What do 'id', 'stat "$JAVACMD"',
and 'getfacl "$JAVACMD"' state about the permissions on that file and the
permissions you are supposed to be able to have?

That said, I haven't yet looked into the source code; if it IS an ACL
issue, then it is a question of dash using stat() instead of access() (or
even better, euidaccess/faccessat).

-- 
Don't work too hard, make some time for fun as well!

Eric Blake             ebb9@byu.net

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 320 bytes
Desc: OpenPGP digital signature
URL: <http://cygwin.com/pipermail/cygwin/attachments/20100210/cb2db898/attachment.sig>


More information about the Cygwin mailing list