X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2FChangeLog;h=2c182f9bd53190f9a6828104cc39da9e944bf57f;hb=7926b523071cfc66fa2252b51a8d51ffd9df7219;hp=87bf2c246ac5c14a834e4e5da75c257422c18aa3;hpb=0b78641d85af3b72e3b9d94cb7b94e45f3c08ee5;p=gnulib.git diff --git a/lib/ChangeLog b/lib/ChangeLog index 87bf2c246..2c182f9bd 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,293 @@ +2006-01-09 Paul Eggert + + Sync from coreutils. + * chdir-long.c (cdb_free): Don't bother trying to open directory + for write access: POSIX says that must fail. + * fts.c (diropen): Likewise. + * save-cwd.c (save_cwd): Likewise. + * chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as + well, for minor improvements on hosts that lack O_DIRECTORY. + * chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]: + Don't try O_WRONLY unless O_RDONLY failed wth EACCES. + Fall back on chown if open failed with EACCES. + + * gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]: + Report an error at compile-time if only a 1-second nominal clock + resolution is found. + + * lchmod.h: New file. + * mkdir-p.c: Include lchmod.h, lchown.h. + (make_dir_parents): Use lchown rather than chown, and + lchmod rather than chmod. + + * mountlist.c (ME_DUMMY): "none" and "proc" file systems are dummies + too. Problem with "none" reported by Bob Proulx. Problem with + "proc" reported by n0dalus. + + * mountlist.c: Include . + (dev_from_mount_options) + [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: + New function. It no longer assumes "dev=" has the System V meaning + on Linux (since it doesn't). It also parses "dev=" more carefully. + (read_file_system_list) + [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it. + MOUNTED_GETMNTENT2 is new here; the code didn't used to look for + dev= in that case. + + * posixtm.h (PDS_PRE_2000): New macro. + * posixtm.c (year): Arg is now syntax_bits rather than allow_century. + All usages changed. Reject dates outside the range 1969-1999 if + PDS_PRE_2000 is used. + +2006-01-09 Jim Meyering + + Sync from coreutils. + + * version-etc.c (COPYRIGHT_YEAR): Update to 2006. + + Rewrite fts.c not to change the current working directory, + by using openat, fstatat, fdopendir, etc.. + + * fts.c [! _LIBC]: Include "openat.h", "unistd--.h", and "fcntl--.h". + [_LIBC] (fchdir): Don't undef or define; no longer used. + (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir. + Now, this `function' always succeeds, and consumes its file descriptor + parameter -- so callers must not close such FDs. Update callers. + (diropen_fd, opendirat, cwd_advance_fd): New functions. + (diropen): Add parameter, SP. Adjust all callers. + Implement using diropen_fd, rather than open. + (fts_open): Initialize new member, fts_cwd_fd. + Remove fts_rft-setting code. + (fts_close): Close fts_cwd_fd, if necessary. + (__opendir2): Define in terms of opendir or opendirat, + depending on whether the FST_NOCHDIR flag is set. + (fts_build): Since fts_safe_changedir consumes its FD, and since + this code must do `closedir(dirp)', dup the dirfd(dirp) argument, + and close the dup'd file descriptor upon failure. + (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat. + (fts_safe_changedir): Tweak semantics to reflect that this function + now calls cwd_advance_fd and hence consumes its FD argument. + * fts_.h [struct FTS] (fts_cwd_fd): New member. + (fts_rft): Remove now-unused member. + + * openat.c (fchownat): New function. + * openat.h (fchmodat, fchownat): Declare. + (chmodat, lchmodat): Define convenience functions. + (chownat, lchownat): Likewise. + + * chdir-safer.h, chdir-safer.c: New files. + + * modechange.c (mode_compile): Reject an invalid mode string + that starts with an octal digit. From Andreas Gruenbacher. + + * openat.c: Include "fcntl--.h" and "unistd--.h", to map open + and dup to open_safer and dup_safer, respectively. + (openat_permissive): Fix typo in comment. + + * openat.c: Don't include , , , + "gettext.h"; either no longer needed or are guaranteed by openat.h. + (_): Remove; no longer needed. + (openat): Renamed from rpl_openat; no need for rpl_openat + since openat.h renames openat for us. + Replace most of the body with a call to openat_permissive, + to avoid duplicate code. + Port to (probably hypothetical) environments were mode_t is + wider than int. + (openat_permissive): Require mode arg, so that we can check + types better. Put it just after flags. Change cwd failure + indicator from pointer-to-bool to pointer-to-errno-value. + All callers changed. + Invoke openat_save_fail and/or openat_restore_fail if + cwd_errno is null, so that openat can call us. + (openat_permissive, fdopendir, fstatat, unlinkat): + Simplify errno handling to avoid some duplicate code, + as it's OK to set errno on success. + * openat.h: Revamp code so that function macros depend on + __OPENAT_PREFIX only, not also on AT_FDCWD. + (openat_ro): Remove. Caller changed to use openat_permissive. + (openat_permissive): Now a macro, if not a function. + (openat_restore_fail, openat_save_fail): Now always functions, + since mkdirat needs them even if __OPENAT_PREFIX is defined. + + * openat-priv.h: New file, defining macros used by mkdirat.c + and openat.c. + * mkdirat.c: Include openat-priv.h. + Remove definitions of macros defined therein. + * openat.c: Likewise. + + * mkdirat.c (mkdirat): New file and function. + * openat.h (mkdirat): Declare. + + * openat.c (fdopendir): Don't change errno when returning non-NULL. + + * openat.h (openat_permissive): Declare. + (openat_ro): Define. + + * openat.c (EXPECTED_ERRNO): New macro. + (openat_permissive): New function -- used in remove.c rewrite. + (all functions): Set errno just before returning, only if there + was an actual failure. + Use EXPECTED_ERRNO rather than comparing against only ENOTDIR. + + Emulate openat-family functions using Linux's procfs, if possible. + Idea and some code based on Ulrich Drepper's glibc changes. + + * openat.c: (BUILD_PROC_NAME): New macro. + Include , , "alloca.h" and "intprops.h". + (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s, + before falling back on save_cwd and restore_cwd. + (fdopendir, fstatat, unlinkat): Likewise. + + * openat.c (fstatat, unlinkat): Perform the syscall directly, + skipping the save_cwd...restore_cwd overhead, if FILE is absolute. + + * openat.c (rpl_openat): Use the promoted type (int), not mode_t, + as second argument to va_arg. Otherwise, some versions of gcc + warn that `if this code is reached, the program will abort'. + +2006-01-09 Andreas Gruenbacher + + Sync from coreutils. + + Add POSIX ACL support + * acl.h (copy_acl, set_acl): Add declarations. + * acl.c (acl_entries): Add fallback implementation for POSIX ACL + systems other than Linux. + (chmod_or_fchmod): New function: use fchmod when possible, + and chmod otherwise. + (file_has_acl): Add a POSIX ACL implementation, with a + Linux-specific subcase. + (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and + S_ISVTX from one file to another. Fall back to fchmod/chmod when + acls are unsupported. + (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and + S_ISVTX to a defined value. Fall back to fchmod/chmod when acls + are unsupported. + +2006-01-09 Bruno Haible + + * sysexit_.h (EX_OK): New macro. + Suggested by Martin Lambers . + +2006-01-09 Bruno Haible + + * javacomp.sh.in: Move to ../build-aux/javacomp.sh.in. + * javaexec.sh.in: Move to ../build-aux/javaexec.sh.in. + * csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in. + * csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in. + +2006-01-09 Bruno Haible + + * stdint_.h (SIZE_MAX): Write the value without involving negative + numbers. + +2005-10-16 Bruno Haible + + * stdint_.h: On Linux libc4 and libc5, include and + don't define _STDINT_H_NEED_SIGNED_INT_TYPES. + +2006-01-04 Paul Eggert + + * strftime.c (tzname): Don't declare if it is already #defined. + Problem reported for Mingw by Mark Junker. + +2006-01-03 Paul Eggert + + * xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use + long int, not int, for nanosecond counts, so that people who are + used to POSIX struct timespec won't be surprised. Reported by Jim + Meyering. + +2005-12-16 Jim Meyering + + * fprintftime.c, fprintftime.h: New files. + +2005-12-10 Sergey Poznyakoff + + * argp-fmtstream.c (__argp_fmtstream_update): Fix coredump + * argp-help.c (fill_in_uparams): Check if the constructed + struct uparams is valid. Fall back to the default values if it is + not. + +2005-12-09 Sergey Poznyakoff + + * argp-help.c (__argp_base_name): New function + (__argp_short_program_name): Rewrite using __argp_base_name + * argp-namefrob.h: Define program_invocation_name and + program_invocation_short_name if requested + (__argp_base_name): Add prototype + * argp-parse.c (argp_def): Use gettext wrappers + (argp_default_parser): Use __argp_base_name + * argp-pin.c: New file. Defines program_invocation_name and + program_invocation_short_name on systems that lack them. + +2005-12-07 Paul Eggert + + * stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for + TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3 + porting problem reported by Georg Schwarz in + . + +2005-07-09 Bruno Haible + + * csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix. + * csharpcomp.c (compile_csharp_using_sscli): Likewise. + Reported by Mark Junker . + +2005-11-29 Paul Eggert + + * stdint_.h (intmax_t) [defined intmax_t]: Do not declare. + (uintmax_t) [defined uintmax_t]: Do not declare. + (SIZE_MAX) [defined SIZE_MAX]: Do not define. + This works around a problem if intmax_t.m4 and/or uintmax_t.m4 + and/or size_max.m4 are also used. Problem reported by Mark D. Baushke. + (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the + sake of portability to weird hosts that C allows (though we don't + know of any practical examples). + + * savedir.h (fdsavedir): New decl. + * savedir.c (fdsavedir, savedirstream): New functions; the latter + contains most of the former guts of savedir. + (savedir): Use savedirstream. + Include "openat.h". + +2005-11-15 Paul Eggert + + * xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as + coreutils no longer futzes with rounding modes. + +2005-11-14 Jim Meyering + + * mkstemp-safer.c: Include , required for possible + replacement of mkstemp. + +2005-11-10 Paul Eggert + + * gethrxtime.c: Include "timespec.h" rather than the sys/time / time + business. + (gethrxtime) [! (HAVE_NANOUPTIME + || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME) + || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling + our own approximation. + +2005-11-10 Simon Josefsson + + * readline.c: Remove EOL. + +2005-11-08 Eric Blake + + * inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS. + +2005-11-08 Eric Blake + + * getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS. + +2005-10-30 Paul Eggert + + Fix porting problem reported by Theodoros V. Kalamatianos. + * utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]: + Don't assume that futimes failing means we must fail. + 2005-10-29 Paul Eggert * getcwd.c (__getcwd): Don't assume that system calls after readdir