X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=ChangeLog;h=800f672a80bd198e63b9819b0dcdb3ffe87f43dc;hb=ab362e8297c325a60d542907672dde4321120fef;hp=61e6168bc8896c984cd02f2ab8340995a682b2b3;hpb=231bdaf6198a766ae5442fef6f4b8e661d523868;p=gnulib.git diff --git a/ChangeLog b/ChangeLog index 61e6168bc..800f672a8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,356 @@ +2009-10-20 Pádraig Brady + + acl: warn if ACL support is not detected + * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found. + +2009-10-19 Giuseppe Scrivano + + * lib/nproc.h: Add extern "C" block for C++. + +2009-10-18 Reuben Thomas + Bruno Haible + + * doc/posix-functions/isascii.texi: Document the 2 alternative APIs. + * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs. + * doc/posix-functions/isalpha.texi: Likewise. + * doc/posix-functions/isblank.texi: Likewise. + * doc/posix-functions/iscntrl.texi: Likewise. + * doc/posix-functions/isdigit.texi: Likewise. + * doc/posix-functions/isgraph.texi: Likewise. + * doc/posix-functions/islower.texi: Likewise. + * doc/posix-functions/isprint.texi: Likewise. + * doc/posix-functions/ispunct.texi: Likewise. + * doc/posix-functions/isspace.texi: Likewise. + * doc/posix-functions/isupper.texi: Likewise. + * doc/posix-functions/isxdigit.texi: Likewise. + +2009-10-18 Bruno Haible + + Tests for module 'isblank'. + * modules/isblank-tests: New file. + * tests/test-isblank.c: New file. + + New module 'isblank'. + * lib/isblank.c: New file. + * m4/isblank.m4: New file. + * modules/isblank: New file. + * doc/posix-functions/isblank.texi: Mention the new module. + +2009-10-18 Bruno Haible + + New module 'ctype'. + * lib/ctype.in.h: New file. + * m4/ctype.m4: New file. + * modules/ctype: New file. + * doc/posix-headers/ctype.texi: Mention the new module. + +2009-10-18 Jim Meyering + + m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization + Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted + right after its initialization, rather than farther down. + Keeping these in close proximity makes it easier to ensure + that each such variable is initialized. E.g., + + LIB_CLOCK_GETTIME= + AC_SUBST([LIB_CLOCK_GETTIME]) + + This change also increments these serial numbers. + * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use. + * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise. + +2009-10-18 Bruno Haible + + Don't let environment variables perturb build. + * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here... + (gl_PREREQ_GETHRXTIME): ... not here. + +2009-10-18 Bruno Haible + + Avoid symlink attack in localcharset module. + * lib/localcharset.c: Include , . + (O_NOFOLLOW): Define fallback. + (get_charset_aliases): Don't open the file if it is a symbolic link. + * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from + gl_FCNTL_H. + (gl_FCNTL_H): Require it. + * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise. + * modules/localcharset (Files): Add m4/fcntl_h.m4. + Reported by Fergal Glynn . + +2009-10-18 Bruno Haible + + Implement nproc for mingw. + * lib/nproc.c: Include + (num_processors): On native Windows platforms, try GetSystemInfo. + +2009-10-18 Bruno Haible + + Implement nproc for IRIX. + * lib/nproc.c: Include . + (num_processors): On IRIX systems, try sysmp. + * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp. + +2009-10-18 Bruno Haible + + Implement nproc for HP-UX. + * lib/nproc.c: Include + (num_processors): On HP-UX systems, try pstat_getdynamic. + * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and + pstat_getdynamic. + +2009-10-18 Giuseppe Scrivano + Bruno Haible + + Implement nproc for NetBSD, OpenBSD. + * lib/nproc.c: Include , , . + (ARRAY_SIZE): New macro. + (num_processors): On BSD systems, try sysctl of HW_NCPU. + * m4/nproc.m4: New file. + * modules/nproc (Files): Add m4/nproc.m4. + (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation. + (Makefile.am): Instead, augment lib_SOURCES. + +2009-10-18 Bruno Haible + + Fix recognition of sys/sysctl.h on OpenBSD 4.0. + * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include + sys/param.h. + +2009-10-16 Eric Blake + + utimensat: new module + * modules/utimensat: New file. + * lib/utimensat.c (utimensat): Likewise. + * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise. + * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat, + so we can work around Linux bugs. + * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses. + * modules/sys_stat (Makefile.am): Substitute them. + * lib/sys_stat.in.h (utimensat): Declare it. + * MODULES.html.sh (systems lacking POSIX:2008): Mention module. + * doc/posix-functions/utimensat.texi (utimensat): Likewise. + * modules/utimensat-tests: New test. + * tests/test-utimensat.c: Likewise. + + utimens: let lutimens work on non-symlinks + * lib/utimens.c (lutimens): Fall back to utimens rather than + failing with ENOSYS, when file is not a symlink. + (utimens): Reduce redirection. + * tests/test-lutimens.h (test_lutimens): Update test to cover + non-symlinks. + * tests/test-utimens.h (test_utimens): Update test to cover + symlinks. + * tests/test-utimens.c (main): Update caller. + + utimens: cache whether utimensat syscall works + * lib/utimens.c (utimensat_works_really): New cache variable. + (fdutimens, lutimens): Use it to avoid failing syscall. + + test-stat-time, test-utimens: improve portability + * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for + ext4 on alpha, and for cygwin. + * tests/test-utimens-common.h: New file. + (nap): Factor delays into single function. + * tests/test-lutimens.h (test_lutimens): Use new header. + * tests/test-futimens.h (test_futimens): Likewise. + * tests/test-utimens.h (test_utimens): Likewise. Also, force NFS + timestamps to occur from same machine, as was done previously for + test_utimens. + * modules/utimens-tests (Files): Ship new file. + * modules/futimens-tests (Files): Likewise. + Reported in part by Jim Meyering. + + sys_stat: sort replacement declarations + * lib/sys_stat.in.h: Sort declarations. + * lib/futimens.c (futimens): Fix typo. + +2009-10-15 Jim Meyering + + don't let environment settings perturb build + Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP + could cause a configure-time and/or build-time malfunction. + Typically, a configure-time function-in-library test is performed + via code like this: + + LIB_VAR= + AC_SUBST([LIB_VAR]) + prefix_saved_LIBS=$LIBS + AC_SEARCH_LIBS([FUNC], [LIB_NAME], + [test "$ac_cv_search_FUNC" = "none required" || + LIB_VAR=$ac_cv_search_FUNC]) + LIBS=$prefix_saved_LIBS + + However, in each of the files affected by this change, the LIB_VAR= + initialization was omitted. Thus, when set in the environment, its + value would propagate into generated Makefiles when FUNC is not found + in LIB_NAME. + * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var. + * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise. + +2009-10-14 Eric Blake + + fchdir: avoid infinite recursion in mingw + * lib/fchdir.c (rpl_fstat): Call system fstat, rather than + recursing. + + test-stat-time: port to mingw + * tests/test-stat-time.c (force_unlink): Return a value. + (test_ctime) [W32]: Fix compilation error. + (nap): Don't call usleep with too large an argument. Use + force_unlink. + * doc/pastposix-functions/usleep.texi (usleep): Document the + portability issue. + +2009-10-13 Jim Meyering + + use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/* + * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS. + * modules/pipe-filter-ii: Likewise. + * modules/sys_socket-tests: Likewise. + * modules/tsearch-tests: Likewise. + * Makefile (sc_prefer_ac_check_funcs_once): New rule. + (check): Depend on it. + +2009-10-12 Eric Blake + + utimens-tests: port to NFS file systems + * tests/test-utimens.h (test_utimens): Refactor utimecmp + comparisons to avoid spurious failures from timestamp drift + between NFS machines. + +2009-10-12 Eric Blake + + stat-time-tests: minor cleanups + * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE. + * tests/test-stat-time.c (nap): Separate assignment from call. + Suggested by Paolo Bonzini and Bruno Haible. + + sys_stat: guarantee struct timespec + * lib/sys_stat.in.h (includes): Always include + * modules/sys_stat (Depends-on): Add time. + * tests/test-sys_stat.c: Guarantee struct timespec, as well as + mode_t permission values. + * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to + get at subsecond timestamps. + +2009-10-10 Eric Blake + + futimens: new module + * modules/futimens: New file. + * lib/futimens.c (futimens): Likewise. + * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise. + * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so + we can work around Linux bugs. + * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses. + * modules/sys_stat (Makefile.am): Substitute them. + * lib/sys_stat.in.h (futimens): Declare it. + * MODULES.html.sh (systems lacking POSIX:2008): Mention module. + * doc/posix-functions/futimens.texi (futimens): Likewise. + * modules/futimens-tests: New test. + * tests/test-futimens.c: Likewise. + + utimens: introduce fdutimens + * lib/utimens.h (fdutimens): New prototype. + * lib/utimens.c (gl_futimens): Move guts... + (fdutimens): ...to new interface. + * tests/test-utimens.c (do_fdutimens): Use it. + + utimens: add UTIME_NOW and UTIME_OMIT support + * lib/utimens.c (validate_timespec, update_timespec): New helper + functions. + (gl_futimens, lutimens): Use them. + * modules/utimens (Depends-on): Add gettime, lstat, stat-time, + stdbool, sys_stat. + (Link): Mention resulting library dependency. + * modules/utimecmp (Link): Likewise. + * modules/utimens-tests (Depends-on): Drop stat-time, stdbool. + (Makefile.am): Pick up library dependency. + * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a + definition. + * tests/test-sys_stat.c: Test the definitions. + * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this. + * NEWS: Document library dependency. + + utimecmp: support symlink timestamps + * lib/utimecmp.c (utimecmp): Use new interface. Skip effort of + hashing when possible. Use pathconf when available. + (SYSCALL_RESOLUTION): Recognize tighter resolution. + * modules/utimecmp (Depends-on): Add lstat. + + utimens: add lutimens interface + * lib/utimens.c (lutimens): New function. + * m4/utimens.m4 (gl_UTIMENS): Check for lutimes. + * lib/utimens.h (lutimens): Declare new interface. + * tests/test-utimens.c (main): Enhance test. + * tests/test-lutimens.h (test_lutimens): New file. + * modules/utimens-tests (Files): Distribute it. + (Depends-on): Add symlink. + (configure.ac): Check for usleep. + + utimens: validate futimens usage + * lib/utimens.c (gl_futimens): Require valid fd up front, using + fewer syscalls on failure later on. Avoid compiler warning on + mingw. + * modules/utimens (Depends-on): Add dup2. + + utimens: add test + * modules/utimens-tests: New test. + * tests/test-utimens.h: New file. + * tests/test-futimens.h: Likewise. + * tests/test-utimens.c: Likewise. + + doc: mention timestamp portability issues + * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat + instead. + * doc/posix-functions/utime.texi (utime): Likewise. + * doc/posix-functions/utimes.texi (utimes): Likewise. + * doc/glibc-functions/futimes.texi (futimes): Refer to futimens + instead. + * doc/posix-functions/futimens.texi (futimens): Mention utimens + module. + * doc/posix-functions/utimensat.texi (utimensat): Likewise. + Mention weakness with symlink timestamps. + * doc/glibc-functions/futimesat.texi (futimesat): New file; refer + to utimensat/futimens instead. + * doc/gnulib.texi (Glibc sys/time.h): Include new file. + + test-dup2: enhance test + * tests/test-dup2.c (main): Also check AT_FDCWD. + + test-stat-time: avoid more spurious failures + * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for + xfs; and avoid race if the two timestamps cross quantization edge. + + relocatable: prefer 'file system' over 'filesystem' + * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING. + (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling. + * doc/relocatable-maint.texi (Supporting Relocation): Likewise. + * doc/relocatable.texi (Enabling Relocatability): Likewise. + * lib/relocatable.c (compute_curr_prefix): Likewise. + +2009-10-10 Jim Meyering + + stat-time-tests: check for the usleep function + * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP. + +2009-10-10 Bruno Haible + + * modules/xnanosleep: Put the Link section after the Include section. + 2009-10-09 Eric Blake + dup2: work around FreeBSD 6.1 bug + * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug. + * doc/posix-functions/dup2.texi (dup2): Document it. + Reported by Nelson H. F. Beebe and Jim Meyering. + + test-stat-time: port to buggy NFS clients + * tests/test-stat-time.c (main) [W32]: Reduce ifdefs. + (test_ctime): Also skip test if mtime and ctime are skewed. + maint: prefer 'file system' over 'filesystem' * doc/posix-functions/fstatat.texi (fstatat): Likewise. * doc/posix-functions/lstat.texi (lstat): Likewise. @@ -256,7 +607,7 @@ 2009-10-04 Paolo Bonzini Bruno Haible - * lib/uname.c (uname): Use a table-driver algorithm to compute + * lib/uname.c (uname): Use a table-driven algorithm to compute Windows NT versions. 2009-10-04 Bruno Haible