Subject: Re: bug#11369: 2 test failures in Automake-1.12

From: Stefano Lattarini <[email-masked]>
Date: Sat, 28 Apr 2012 21:57:27 +0200

tags 11369 moreinfo
thanks

On 04/28/2012 11:29 AM, Matt Burgess wrote:

> FAIL: t/dist-readonly
> =====================
>
> Running from installcheck: no
> Using TAP: no
> PATH = /sources/automake-1.12/t/ax:/sources/automake-1.12/t/wrap:/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin:/usr/sbin
> ++ pwd
> /sources/automake-1.12/t/dist-readonly.dir
> + cat
> + cat
> + echo 'int main (void) { return 0; }'
> + echo To be, or not to be ...
> + chmod a-w foo.c bar.txt
> + aclocal-1.12 -Werror
> + autoconf
> + automake-1.12 --foreign -Werror -Wall
> + ./configure
> + ...
> + make distdir
> if test -d "dist-readonly-1.0"; then find "dist-readonly-1.0" -type d ! \
>   -perm -200 -exec chmod u+w {} ';' && rm -rf "dist-readonly-1.0" || \
>  { sleep 5 && rm -rf "dist-readonly-1.0"; }; else :; fi
> test -d "dist-readonly-1.0" || mkdir "dist-readonly-1.0"
> test -n "" \
> || find "dist-readonly-1.0" -type d ! -perm -755 \
>        -exec chmod u+rwx,go+rx {} \; -o \
>  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
>  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
>  ! -type d ! -perm -444 -exec /bin/sh \
>     /sources/automake-1.12/t/dist-readonly.dir/install-sh \
>     -c -m a+r {} {} \; \
> || chmod -R a+r "dist-readonly-1.0"
> + ls -l dist-readonly-1.0
> total 264
> -rw-r--r-- 1 root root    405 Apr 27 21:07 Makefile.am
> -rw-r--r-- 1 root root  21384 Apr 27 21:07 Makefile.in
> -rw-r--r-- 1 root root  35135 Apr 27 21:07 aclocal.m4
> -r--r--r-- 1 root root     24 Apr 27 21:07 bar.txt
> -rwxr-xr-x 1 root root 135560 Apr 27 21:07 configure
> -rw-r--r-- 1 root root     98 Apr 27 21:07 configure.ac
> -rwxr-xr-x 1 root root  20842 Apr 27 21:07 depcomp
> -r--r--r-- 1 root root     30 Apr 27 21:07 foo.c
>
Weird, according to this, foo.c is not writable (as we expect ...)

> -rwxr-xr-x 1 root root  13997 Apr 27 21:07 install-sh
> -rwxr-xr-x 1 root root  10179 Apr 27 21:07 missing
> + test -f foo.c
> + test '!' -w foo.c
> + Exit 1
>
... but according to the 'test' builtin, foo.c *is* writable!

What system are you on exactly?  Please send us the contents of the
't/get-sysconf.log' file, that should report all the relevant (to
us) information and details about your system.

Also, what happens if you do this on your system?

  $ echo x > foo
  $ chmod a-w foo
  $ test ! -w foo || echo still writable
  $ (echo y > foo) && echo can write to unwritable
  $ cat foo

Thanks,
  Stefano