Hi, In automake 1.11.3, the txinfo21 test uses is_newest to compare the timestamps of main.html (a directory) and main.texi (a file). This fails, because the find call inside is_newest also finds the files inside main.html.
Adding -maxdepth 0 to the find invocation fixes this. A patch is attached, as is a log of it failing without the patch. Thanks, -- Adam Sampson <a...@offog.org> <http://offog.org/>
In txinfo21.test, this function is used to compare a directory's timestamp with a file's timestamp -- which fails, because it also finds files inside the directory. diff -x config.log -x config.status -ru tmp/automake-1.11.3/tests/defs.in work/automake-1.11.3/tests/defs.in --- tmp/automake-1.11.3/tests/defs.in 2012-02-01 10:31:14.000000000 +0000 +++ work/automake-1.11.3/tests/defs.in 2012-02-05 01:14:54.597000973 +0000 @@ -509,7 +509,7 @@ # Resolve ties in favor of FILE. is_newest () { - is_newest_files=`find "$@" -newer "$1"` + is_newest_files=`find "$@" -maxdepth 0 -newer "$1"` test -z "$is_newest_files" }
FAIL: txinfo21.test (exit: 1) ============================= /src/devel/automake/work/automake-1.11.3/tests:/gar/bin:/gar/sbin:/gar/bin:/gar/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/root/bin txinfo21: running makeinfo --html --version makeinfo (GNU texinfo) 4.13 Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. txinfo21: running texi2dvi --version texi2dvi (GNU Texinfo 4.13) 1.135 Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. === Running test ./txinfo21.test ++ pwd /src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir + set -e + cat + cat + cat + mkdir sub + cat + mkdir rec + cat + cat + aclocal-1.11 -Werror + automake-1.11 --foreign -Werror -Wall --add-missing rec/Makefile.am:1: installing `rec/texinfo.tex' Makefile.am:2: installing `./texinfo.tex' + autoconf -B /no/such/dir + ./configure checking for a BSD-compatible install... /gar/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /gar/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes configure: creating ./config.status config.status: creating Makefile config.status: creating rec/Makefile + make Making all in rec make[1]: Entering directory `/src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir/rec' restore=: && backupdir=".am$$" && \ am__cwd=`pwd` && CDPATH="${ZSH_VERSION+.}:" && cd . && \ rm -rf $backupdir && mkdir $backupdir && \ if (/bin/sh /src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir/missing --run makeinfo --version) >/dev/null 2>&1; then \ for f in main3.info main3.info-[0-9] main3.info-[0-9][0-9] main3.i[0-9] main3.i[0-9][0-9]; do \ if test -f $f; then mv $f $backupdir; restore=mv; else :; fi; \ done; \ else :; fi && \ cd "$am__cwd"; \ if /bin/sh /src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir/missing --run makeinfo -I . \ -o main3.info main3.texi; \ then \ rc=0; \ CDPATH="${ZSH_VERSION+.}:" && cd .; \ else \ rc=$?; \ CDPATH="${ZSH_VERSION+.}:" && cd . && \ $restore $backupdir/* `echo "./main3.info" | sed 's|[^/]*$||'`; \ fi; \ rm -rf $backupdir; exit $rc make[1]: Leaving directory `/src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir/rec' make[1]: Entering directory `/src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir' restore=: && backupdir=".am$$" && \ am__cwd=`pwd` && CDPATH="${ZSH_VERSION+.}:" && cd . && \ rm -rf $backupdir && mkdir $backupdir && \ if (/bin/sh /src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir/missing --run makeinfo --version) >/dev/null 2>&1; then \ for f in main.info main.info-[0-9] main.info-[0-9][0-9] main.i[0-9] main.i[0-9][0-9]; do \ if test -f $f; then mv $f $backupdir; restore=mv; else :; fi; \ done; \ else :; fi && \ cd "$am__cwd"; \ if /bin/sh /src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir/missing --run makeinfo -I . \ -o main.info main.texi; \ then \ rc=0; \ CDPATH="${ZSH_VERSION+.}:" && cd .; \ else \ rc=$?; \ CDPATH="${ZSH_VERSION+.}:" && cd . && \ $restore $backupdir/* `echo "./main.info" | sed 's|[^/]*$||'`; \ fi; \ rm -rf $backupdir; exit $rc restore=: && backupdir=".am$$" && \ am__cwd=`pwd` && CDPATH="${ZSH_VERSION+.}:" && cd . && \ rm -rf $backupdir && mkdir $backupdir && \ if (/bin/sh /src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir/missing --run makeinfo --version) >/dev/null 2>&1; then \ for f in sub/main2.info sub/main2.info-[0-9] sub/main2.info-[0-9][0-9] sub/main2.i[0-9] sub/main2.i[0-9][0-9]; do \ if test -f $f; then mv $f $backupdir; restore=mv; else :; fi; \ done; \ else :; fi && \ cd "$am__cwd"; \ if /bin/sh /src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir/missing --run makeinfo -I sub -I ./sub \ -o sub/main2.info ./sub/main2.texi; \ then \ rc=0; \ CDPATH="${ZSH_VERSION+.}:" && cd .; \ else \ rc=$?; \ CDPATH="${ZSH_VERSION+.}:" && cd . && \ $restore $backupdir/* `echo "./sub/main2.info" | sed 's|[^/]*$||'`; \ fi; \ rm -rf $backupdir; exit $rc make[1]: Leaving directory `/src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir' + sleep 2 + make html Making html in rec make[1]: Entering directory `/src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir/rec' rm -rf main3.htp if /bin/sh /src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir/missing --run makeinfo --html -I . \ -o main3.htp main3.texi; \ then \ rm -rf main3.html; \ if test ! -d main3.htp && test -d main3; then \ mv main3 main3.html; else mv main3.htp main3.html; fi; \ else \ if test ! -d main3.htp && test -d main3; then \ rm -rf main3; else rm -Rf main3.htp main3.html; fi; \ exit 1; \ fi make[1]: Leaving directory `/src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir/rec' make[1]: Entering directory `/src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir' rm -rf main.htp if /bin/sh /src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir/missing --run makeinfo --html -I . \ -o main.htp main.texi; \ then \ rm -rf main.html; \ if test ! -d main.htp && test -d main; then \ mv main main.html; else mv main.htp main.html; fi; \ else \ if test ! -d main.htp && test -d main; then \ rm -rf main; else rm -Rf main.htp main.html; fi; \ exit 1; \ fi rm -rf sub/main2.htp if /bin/sh /src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir/missing --run makeinfo --html -I sub -I ./sub \ -o sub/main2.htp `test -f 'sub/main2.texi' || echo './'`sub/main2.texi; \ then \ rm -rf sub/main2.html; \ if test ! -d sub/main2.htp && test -d sub/main2; then \ mv sub/main2 sub/main2.html; else mv sub/main2.htp sub/main2.html; fi; \ else \ if test ! -d sub/main2.htp && test -d sub/main2; then \ rm -rf sub/main2; else rm -Rf sub/main2.htp sub/main2.html; fi; \ exit 1; \ fi make[1]: Leaving directory `/src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir' + test -d main.html + test -d sub/main2.html + test -d rec/main3.html + is_newest main.html main.texi ++ find main.html main.texi -newer main.html + is_newest_files=main.html/index.html + test -z main.html/index.html + exit_status=1 + set +e + cd /src/devel/automake/work/automake-1.11.3/tests + case $exit_status,$keep_testdirs in + test 0 '!=' 0 + echo 'txinfo21: exit 1' txinfo21: exit 1 + exit 1