[dropping automake-patches]

On 01/22/2011 05:45 AM, Ralf Wildenhues wrote:
> automake/tests/fn99{,subdir}.test have been long-time failures on
> AIX 5.[123], but not 6.1 or newer (and IIRC not 4.3.3 either):
> http://autobuild.josefsson.org/automake/log-201101181921915482000.txt
> 
> | + make distcheck
> |         make  dist-gzip am__post_remove_distdir='@:'
> |         { test ! -d "fn99-1.0"  || { find "fn99-1.0" -type d ! -perm -200 
> -exec chmod u+w {} ';'  && rm -fr "fn99-1.0"; }; }
> |         test -d "fn99-1.0" || mkdir "fn99-1.0"
> | cp: 8???: A file or directory in the path name does not exist.
> | make: 1254-004 The error code from the last command is 1.
> 
> I finally got myself to look at this a bit, and playing around with
> various directory depths and whether there are files in them, I can only
> come to the conclusion that this system's cp -R is simply unusable as it
> corrupts its memory depending on the source tree layout.  I've even got
> it to dump core.

Ouch.

>     docs: do not use AIX 5.3 cp -R.
>     
>     * doc/autoconf.texi (Limitations of Usual Tools): Document one
>     instance of the cp -R bug on AIX 5.3.  This seems to have been
>     fixed in 6.1 and newer releases.
> 
> diff --git a/doc/autoconf.texi b/doc/autoconf.texi
> index 4cb3a8c..eee4ba7 100644
> --- a/doc/autoconf.texi
> +++ b/doc/autoconf.texi
> @@ -18065,7 +18065,16 @@ Avoid the @option{-r} option, since Posix 
> 1003.1-2004 marks it as
>  obsolescent and its behavior on special files is implementation-defined.
>  Use @option{-R} instead.  On GNU hosts the two options
>  are equivalent, but on Solaris hosts (for example) @code{cp -r}
> -reads from pipes instead of replicating them.
> +reads from pipes instead of replicating them.  AIX 5.3 @code{cp -R} may
> +corrupt its own memory with some directory hierarchies and error out or
> +dump core:
> +
> +@example
> +@kbd{mkdir -p 12345678/12345678/12345678/12345678}
> +@kbd{touch 12345678/12345678/x}
> +@kbd{cp -R 12345678 t}
> +cp: 0653-440 12345678/12345678/: name too long.
> +@end example

Does 'cp -r' fare any better (not that it's a good solution, because it
can hang on pipes)?  At any rate, this is fine for the autoconf manual.

-- 
Eric Blake   ebl...@redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to