openat: Work around compilation error with OSF/1 5.1 DTK cc.
[gnulib.git] / ChangeLog
index 548e39d..79d9777 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,242 @@
+2011-09-07  Bruno Haible  <bruno@clisp.org>
+
+       openat: Work around compilation error with OSF/1 5.1 DTK cc.
+       * lib/openat.h: Use different syntax for include of <fcntl.h>.
+
+2011-09-06  Bruno Haible  <bruno@clisp.org>
+
+       acl: Fix a test failure on newer Solaris 10 with ZFS.
+       * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
+       ENOSYS as no ACL.
+       Reported by Jim Meyering.
+
+2011-09-06  Bruno Haible  <bruno@clisp.org>
+
+       acl: Update for AIX >= 5.3 with NFS.
+       * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
+       ENOSYS as no ACL.
+
+       acl: Fix a test failure on AIX >= 5.3 with NFS.
+       * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
+       as no ACL.
+
+2011-09-06  Bruno Haible  <bruno@clisp.org>
+
+       acl: Fix a test failure on IRIX 6.5 with NFS.
+       * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
+       * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
+       of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
+       * lib/copy-acl.c (qcopy_acl): Likewise.
+
+2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+       openat: port to AIX 7.1 with large files
+       AIX 7.1 does a "#define openat open64at" if large files are in use,
+       so we can't simply #undef openat.  Use the orig_openat trick (similar
+       to orig_open in lib/open.c) to work around the problem.  Problem
+       reported by Kevin Brott for GNU tar, in the thread containing
+       <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
+       * lib/openat.c (__need_system_fcntl_h): Define first.
+       Include <fcntl.h> and <sys/types.h> before undefining.
+       (orig_openat) [HAVE_OPENAT]: New inline function.
+       (openat) [HAVE_OPENAT]: Do not undef.
+       (rpl_openat): Use orig_openat, not openat.
+
+2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
+            Bruno Haible  <bruno@clisp.org>
+
+       acl: Avoid errors on NonStop Kernel.
+       * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
+       ENOTSUP errors.
+
+2011-09-05  Bruno Haible  <bruno@clisp.org>
+
+       acl: Clean up Solaris code.
+       * lib/acl-internal.h: Remove no-op #if.
+       * lib/file-has-acl.c: Likewise.
+       * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
+       * lib/copy-acl.c (qcopy_acl): Likewise.
+
+2011-09-05  Bruno Haible  <bruno@clisp.org>
+
+       acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
+       binaries built on the original Solaris 10.
+       * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
+       trivial.
+
+2011-09-05  Bruno Haible  <bruno@clisp.org>
+
+       acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
+       * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
+       10.
+       * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
+       (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
+       * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
+       instead of acl_get, facl_get, acl_set, facl_set.
+
+2011-09-05  Bruno Haible  <bruno@clisp.org>
+
+       copy-file: Try unit tests on more file systems.
+       * tests/test-copy-file-1.sh: New file.
+       * tests/test-copy-file-2.sh: New file.
+       * modules/copy-file-tests (Files): Add them.
+       (Makefile.am): Add them to TESTS.
+
+       acl: Try unit tests on more file systems.
+       * tests/test-file-has-acl-1.sh: New file.
+       * tests/test-file-has-acl-2.sh: New file.
+       * tests/test-set-mode-acl-1.sh: New file.
+       * tests/test-set-mode-acl-2.sh: New file.
+       * tests/test-copy-acl-1.sh: New file.
+       * tests/test-copy-acl-2.sh: New file.
+       * modules/acl-tests (Files): Add them.
+       (Makefile.am): Add them to TESTS.
+
+2011-09-04  Bruno Haible  <bruno@clisp.org>
+
+       acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
+       * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
+       10.
+       (OLD_ALLOW, OLD_DENY): New macros.
+       (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
+       ACE_ACCESS_ALLOWED_ACE_TYPE.
+       (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
+       ACE_ACCESS_DENIED_ACE_TYPE.
+       (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
+       (NEW_ACE_EXECUTE): Fix value.
+       (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
+       NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
+       NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
+       NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
+       NEW_ACE_SYNCHRONIZE): New macros.
+       * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
+       instead of acl_fromtext, acl_set, facl_set.
+       Fixes a coreutils/tests/cp/perm failure.
+
+2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       openat: test for fstatat (..., 0) bug
+       Further testing with tar suggests that fstatat (..., 0)
+       does not work in general, on AIX 7.1; see
+       <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
+       So, give up entirely on AIX 7.1's fstatat, and fall back on our
+       replacement fstatat (which is what older AIX releases were using
+       anyway).
+       * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
+       use is now changed to orig_fstatat.  This was probably the right
+       thing to do anyway.
+       (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
+       (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
+       (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
+       (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
+       * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
+       and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
+       if the bug is found.
+
+       openat: test for fstatat (AT_FDCWD, ..., 0) bug
+       This tests for another fstatat bug on AIX 7.1:
+       fstatat (AT_FDCWD, ..., 0) does not work.  See
+       <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
+       * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
+       (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
+       (rpl_fstatat): Adjust so that it works around either (or both)
+       bugs if present.
+       * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
+
+2011-09-03  Karl Berry  <karl@gnu.org>
+
+       * doc/regex.texi (Character Class Operators): Avoid literal ":"
+       in index entries.
+
+2011-09-02  Bruno Haible  <bruno@clisp.org>
+
+       Allow the user to override the choice of AR, ARFLAGS, RANLIB.
+       * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
+       values of AR, ARFLAGS, RANLIB.
+       Reported by John W. Eaton <jwe@gnu.org> for Octave.
+
+2011-09-02  Bruno Haible  <bruno@clisp.org>
+
+       Find 'ar' program that fits with --host argument.
+       * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
+
+2011-09-02  Bruno Haible  <bruno@clisp.org>
+
+       tests: init.sh: Support any non-GNU diff.
+       * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
+       not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
+       Solaris 8.
+
+2011-09-02  Bruno Haible  <bruno@clisp.org>
+
+       tests: init.sh: work also with any non-GNU diff that supports -u
+       * tests/init.sh: Relax check for diff -u support.
+       Rather than checking for GNU diff via --version, simply check
+       for support for -u itself.  Useful at least on OpenBSD 4.9,
+       AIX 7.1, IRIX 6.5, and Solaris 10.
+
+2011-09-01  Bruno Haible  <bruno@clisp.org>
+
+       strtoimax, strtoumax: Document problem on HP-UX 11.
+       * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
+       * doc/posix-functions/strtoumax.texi: Likewise.
+
+2011-09-01  Bruno Haible  <bruno@clisp.org>
+
+       strtoumax: Avoid link error on OSF/1 with DTK cc.
+       * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
+       defined as a function.
+       * modules/strtoumax (Depends-on, configure.ac): Test only whether
+       strtoumax is defined, not whether it is declared.
+
+2011-09-01  Bruno Haible  <bruno@clisp.org>
+
+       strtoimax: Avoid link error on OSF/1 with DTK cc.
+       * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
+       defined as a function.
+       * modules/strtoimax (Depends-on, configure.ac): Test only whether
+       strtoimax is defined, not whether it is declared.
+
+2011-09-01  Bruno Haible  <bruno@clisp.org>
+
+       imaxdiv: Avoid link error on OSF/1 with DTK cc.
+       * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
+       as a function.
+       * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
+       whether it is declared.
+
+2011-09-01  Bruno Haible  <bruno@clisp.org>
+
+       imaxabs: Avoid link error on OSF/1 with DTK cc.
+       * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
+       as a function.
+       * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
+       whether it is declared.
+
+2011-09-01  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'strtoumax'.
+       * modules/strtoumax-tests: New file.
+       * tests/test-strtoumax.c: New file.
+
+       Tests for module 'strtoimax'.
+       * modules/strtoimax-tests: New file.
+       * tests/test-strtoimax.c: New file.
+
+       Tests for module 'imaxdiv'.
+       * modules/imaxdiv-tests: New file.
+       * tests/test-imaxdiv.c: New file.
+
+       Tests for module 'imaxabs'.
+       * modules/imaxabs-tests: New file.
+       * tests/test-imaxabs.c: New file.
+
+2011-09-01  Bruno Haible  <bruno@clisp.org>
+
+       pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
+       * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
+       pthread_create.
+
 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
 
        openat: work around AIX 7.1 fstatat issue