This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: 1.7.1: dash/ash test -x broken?

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 $?'
$ bash -c 'test -x f2; echo $?'
$ dash -c 'test -x f1; echo $?'
$ dash -c 'test -x f2; echo $?'

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   

Attachment: signature.asc
Description: OpenPGP digital signature

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]