Relicense under LGPLv2+ license.
[gnulib.git] / ChangeLog
index d52bae0..059e847 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,377 @@
+2008-06-17  Bruno Haible  <bruno@clisp.org>
+
+       * modules/tls (License): Change to LGPLv2+.
+       Reported by Eric Blake.
+
+2008-06-17  Eric Blake  <ebb9@byu.net>
+
+       Simplify c-stack prerequisites.
+       * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
+       * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
+       no longer requires <ucontext.h> to exist.  Optimize setrlimit
+       check.
+       (gl_PREREQ_C_STACK): Remove check for unused getcontext and
+       <sys/resource.h>.
+
+       Move c-stack test into testsuite.
+       * modules/c-stack-tests: New file.
+       * lib/c-stack.c [DEBUG]: Move test program...
+       * tests/test-c-stack.c: ...into this new file.  Skip rather than
+       fail test if sigaltstack is lacking.
+       * tests/test-c-stack.sh: New driver file.
+
+2008-06-16  Eric Blake  <ebb9@byu.net>
+
+       Use raise module consistently.
+       * modules/fatal-signal (Depends-on): Add raise.
+       * modules/sigprocmask (Depends-on): Likewise.
+       * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
+       * lib/sigprocmask.c (sigprocmask): Likewise.
+       * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
+       * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
+
+       Fix compliance bug in sigpending.
+       * lib/sigprocmask.c (sigpending): Return pending array via
+       parameter, not return value.
+
+2008-06-14  Eric Blake  <ebb9@byu.net>
+
+       Improve obstack-printf test code.
+       * tests/test-obstack-printf.c (test_function): Fix comment, and
+       simplify usage of obstack_* in macros.  Add a test for coverage.
+       Reported by Bruno Haible.
+
+2008-06-14  Bruno Haible  <bruno@clisp.org>
+
+       * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
+       array size as a constant, not as a const variable.
+       * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
+       AC_USE_SYSTEM_EXTENSIONS.
+       * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
+       Test whether the obstack_printf function actually exists.
+       * modules/obstack-printf (Depends-on): Add extensions.
+       (Include): Remove obstack.h.
+       * modules/obstack-printf-posix (Depends-on): Add extensions.
+       (Include): Remove obstack.h.
+
+2008-06-13  Eric Blake  <ebb9@byu.net>
+
+       Add obstack-printf and obstack-printf-posix modules.
+       * modules/obstack-printf: New file.
+       * modules/obstack-printf-posix: Likewise.
+       * MODULES.html.sh (Misc): Mention them.
+       * doc/glibc-functions/obstack_printf.texi (obstack_printf):
+       Likewise.
+       * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
+       Likewise.
+       * modules/stdio (Makefile.am): Accomodate new modules.
+       * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
+       * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
+       Declare.
+       * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
+       functions.
+       * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
+       (gl_REPLACE_OBSTACK_PRINTF): New macros
+       * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
+       * tests/test-obstack-printf.c: New file.
+       * modules/obstack-printf-tests: Likewise.
+       * modules/obstack-printf-posix-tests: Likewise.
+
+2008-06-11  Bruno Haible  <bruno@clisp.org>
+
+       * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
+       * lib/open.c: Include errno.h.
+       (open): Fail when attempting to write to a file that has a trailing
+       slash.
+       * tests/test-open.c (main): Test against trailing slash bug.
+       * doc/posix-functions/open.texi: Mention the trailing slash bug.
+
+2008-06-10  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
+       for $? to work inside the trap command, with various /bin/sh-s.
+       * tests/test-vc-list-files-cvs.sh: Likewise.
+
+2008-06-10  Bruno Haible  <bruno@clisp.org>
+
+       * lib/acl-internal.h: Don't include gettext.h here.
+       * lib/set-mode-acl.c: Include gettext.h here.
+       * lib/copy-acl.c: Likewise.
+
+2008-06-10  Bruno Haible  <bruno@clisp.org>
+
+       * lib/wait-process.h (wait_subprocess): Add termsigp argument.
+       * lib/wait-process.c (wait_subprocess): Likewise.
+       * lib/execute.h (execute): Add termsigp argument.
+       * lib/execute.c (execute): Likewise.
+       * lib/csharpcomp.c (compile_csharp_using_pnet,
+       compile_csharp_using_mono, compile_csharp_using_sscli): Update.
+       * lib/csharpexec.c (execute_csharp_using_pnet,
+       execute_csharp_using_mono, execute_csharp_using_sscli): Update.
+       * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
+       compile_using_javac, compile_using_jikes, is_envjavac_gcj,
+       is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
+       is_jikes_present): Update.
+       * lib/javaexec.c (execute_java_class): Update.
+       * lib/javaversion.c (execute_and_read_line): Update.
+       * NEWS: Document the changes.
+       Reported by Eric Blake.
+
+2008-06-10  Eric Blake  <ebb9@byu.net>
+
+       Add missing include.
+       * tests/test-strstr.c (includes): Add <signal.h>.
+       * tests/test-strcasestr.c (includes): Likewise.
+       * tests/test-memmem.c (includes): Likewise.
+
+2008-06-10  Bruno Haible  <bruno@clisp.org>
+
+       * lib/wait-process.c (wait_subprocess): Add an assertion.
+
+2008-06-10  Bruno Haible  <bruno@clisp.org>
+
+       * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
+
+2008-06-10  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-memmem.c (main): Reset SIGALRM to default handling before
+       using alarm().
+       * tests/test-strcasestr.c (main): Likewise.
+       * tests/test-strstr.c (main): Likewise.
+
+2008-06-09  Bruno Haible  <bruno@clisp.org>
+
+       Work around the Solaris 10 ACE ACLs ABI change.
+       * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
+       declare if ACL_NO_TRIVIAL is present.
+       (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
+       NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
+       NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
+       * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
+       define if ACL_NO_TRIVIAL is present.
+       (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
+       and use the current ABI.
+       (file_has_acl): Use same #if condition as elsewhere.
+       * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
+       in use, and use the current ABI.
+       * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
+       Reported by Jim Meyering.
+
+2008-06-09  Eric Blake  <ebb9@byu.net>
+
+       Work around environments that (stupidly) ignore SIGALRM.
+       * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
+       before using alarm().
+       * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
+       * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
+       Reported by Ian Beckwith <ianb@erislabs.net>.
+
+       Produce autobuild blurb earlier in log.
+       * modules/autobuild (configure.ac-early): Move AB_INIT here.
+
+2008-06-09  Jim Meyering  <meyering@redhat.com>
+       and Ondřej Vašík  <ovasik@redhat.com>
+
+       utimens.c: correct kernel bug work-around
+       Ondřej Vašík found that the invalid return value of 280 indicates
+       failure, not success, and the kernel bug we're trying to work
+       around affects not just the utimensat call, but also the fallback
+       futimens call.
+       * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
+       not success.
+       [HAVE_FUTIMENS]: Use the same work-around, here.
+
+2008-06-09  Jim Meyering  <meyering@redhat.com>
+
+       add more guards around definition of ACE_-related code
+       * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
+       ALLOW and ACE_OWNER are also defined.
+
+2008-06-08  Bruno Haible  <bruno@clisp.org>
+
+       * lib/acl-internal.h: Add me as co-author.
+       * lib/file-has-acl.c: Likewise.
+       * lib/set-mode-acl.c: Likewise.
+       * lib/copy-acl.c: Likewise.
+
+2008-06-08  Bruno Haible  <bruno@clisp.org>
+
+       Add support for AIX ACLs.
+       * lib/acl-internal.h (acl_nontrivial): New declaration.
+       * lib/file-has-acl.c (acl_nontrivial): New function.
+       (file_has_acl): Add implementation using AIX 4 ACL API.
+       * lib/set-mode-acl.c (qset_acl): Likewise.
+       * lib/copy-acl.c (qcopy_acl): Likewise.
+
+2008-06-08  Bruno Haible  <bruno@clisp.org>
+
+       Add support for HP-UX ACLs.
+       * lib/acl-internal.h (acl_nontrivial): New declaration.
+       * lib/file-has-acl.c (acl_nontrivial): New function.
+       (file_has_acl): Add implementation using HP-UX 11 ACL API.
+       * lib/set-mode-acl.c (qset_acl): Likewise.
+       * lib/copy-acl.c (qcopy_acl): Likewise.
+
+2008-06-08  Bruno Haible  <bruno@clisp.org>
+
+       Add support for Cygwin ACLs.
+       * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
+       * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
+       the chmod_or_fchmod call.
+       * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
+
+2008-06-08  Bruno Haible  <bruno@clisp.org>
+
+       Fix bug with setuid modes in Solaris 10+ code.
+       * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
+       succeeded, when the mode contains some special bits.
+
+2008-06-08  Bruno Haible  <bruno@clisp.org>
+
+       Add support for Solaris 7..10 ACLs.
+       * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
+       declarations.
+       * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
+       functions.
+       (file_has_acl): Add implementation using Solaris 7..10 ACL API.
+       * lib/set-mode-acl.c (qset_acl): Likewise.
+       * lib/copy-acl.c (qcopy_acl): Likewise.
+
+2008-06-08  Bruno Haible  <bruno@clisp.org>
+
+       * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
+       declaration.
+       * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
+       (acl_access_nontrivial): Remove MacOS X case.
+       (file_has_acl): Use acl_extended_nontrivial.
+       * lib/copy-acl.c (qcopy_acl): Likewise.
+
+2008-06-08  Bruno Haible  <bruno@clisp.org>
+
+       * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
+
+2008-06-08  Jim Meyering  <meyering@redhat.com>
+
+       * modules/acl (Maintainer): Add Bruno Haible.
+
+2008-06-07  Bruno Haible  <bruno@clisp.org>
+
+       Improve support for Tru64 ACLs.
+       * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
+       ACL on OSF/1.
+
+2008-06-07  Bruno Haible  <bruno@clisp.org>
+
+       Add support for MacOS X ACLs.
+       * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
+       ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
+       * lib/set-mode-acl.c (qset_acl): Likewise.
+       * lib/copy-acl.c (qcopy_acl): Likewise.
+
+2008-06-07  Bruno Haible  <bruno@clisp.org>
+
+       Fix memory leak introduced on 2008-05-22.
+       * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
+       use.
+
+2008-06-07  Bruno Haible  <bruno@clisp.org>
+
+       * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
+       to construct an empty ACL.
+
+2008-06-07  Bruno Haible  <bruno@clisp.org>
+
+       * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
+       precisely.
+       * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
+
+2008-06-07  Bruno Haible  <bruno@clisp.org>
+
+       * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
+       * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
+
+2008-06-07  Bruno Haible  <bruno@clisp.org>
+
+       * doc/posix-functions/_setjmp.texi: Explain the use of this function
+       regardless of POSIX.
+       * doc/posix-functions/_longjmp.texi: Likewise.
+       * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
+       SystemV platform in this case.
+
+2008-06-06  Eric Blake  <ebb9@byu.net>
+
+       Document abort() bugs.
+       * doc/posix-functions/abort.texi (abort): Mention anomalies.
+
+       * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
+       * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
+       sigsetjmp.
+       * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
+       siglongjmp, but only as a macro.
+       * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
+       is obsolete.
+       * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
+
+       Tweak documentation to cover cygwin argz bugs.
+       * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
+       argz bug fix; no code change needed since no cygwin releases
+       occurred between the last fix and the bug being tested.
+       * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
+       module and recently fixed cygwin bugs.
+       * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
+       * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
+       * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
+       * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
+       * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
+       Likewise.
+       * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
+       * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
+       * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
+       * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
+       * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
+       * doc/glibc-functions/argz_stringify.texi (argz_stringify):
+       Likewise.
+
+       Avoid gcc warning on cygwin.
+       * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
+       !ACL_NO_TRIVIAL]: Avoid unused variable.
+
+2008-06-05  Eric Blake  <ebb9@byu.net>
+
+       Be tolerant of UNKNOWN version in gnulib-tool test dir.
+       * top/GNUmakefile (_dummy): Warn rather than reconfigure if
+       git-version-gen fails to come up with a version.
+       Reported by Simon Josefsson.
+
+2008-06-05  Jim Meyering  <meyering@redhat.com>
+           Paul Eggert  <eggert@cs.ucla.edu>
+
+       utimens.c: work around a probable Linux kernel bug
+       * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
+       appears to be a kernel bug that causes utimensat to return 280
+       instead of 0, indicating success.
+
+2008-06-04  Bruno Haible  <bruno@clisp.org>
+
+       * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
+       2008-06-01 commit.
+
+2008-06-04  Bruno Haible  <bruno@clisp.org>
+
+       * lib/acl-internal.h (acl_access_nontrivial): New declaration.
+       * lib/file-has-acl.c (acl_access_nontrivial): New function.
+       (file_has_acl): Use it. Save errno afterwards.
+       * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
+
+2008-06-03  Bruno Haible  <bruno@clisp.org>
+
+       * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
+       draft code. Simplify #ifs.
+       * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
+       Put Solaris code after POSIX-draft code. Fix comments regarding
+       Solaris 10, HP-UX. Mention Cygwin.
+       * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
+
 2008-06-03  Eric Blake  <ebb9@byu.net>
 
        Provide fallback for older kernels.