* build-aux/gendocs.sh (version):
* doc/gendocs_template:
* doc/gendocs_template_min:
* doc/gnulib.texi:
* lib/version-etc.c (COPYRIGHT_YEAR):
Update copyright dates by hand in templates and the like.
* all files: Run 'make update-copyright'.
* build-aux/gendocs.sh (version):
* doc/gendocs_template:
* doc/gendocs_template_min:
* doc/gnulib.texi:
* lib/version-etc.c (COPYRIGHT_YEAR):
Update copyright dates by hand in templates and the like.
* all files: Run 'make update-copyright'.
When running a cross-compilation to mingw on a Linux host,
but without a valid mingw rm executable, the debug-only
system() call would fail. This is not fatal to the test,
since the call is merely a debugging aid if a prior call to
the test encountered a failure and left garbage; in general,
the tests should pass and the system() call have nothing to
clean in the first place. Also, the system() call only
needs to happen once at startup, not once per iteration
into the tests performed by .h files.
* tests/test-lstat.h (test_lstat_func): Move debug cleanup...
* tests/test-rmdir.h (test_rmdir_func): Likewise.
* tests/test-unlink.h (test_unlink_func): Likewise.
* tests/test-fstatat.c (main): ...into callers.
* tests/test-lstat.c (main): Likewise.
* tests/test-rmdir.c (main): Likewise.
* tests/test-unlink.c (main): Likewise.
* tests/test-unlinkat.c (main): Likewise.
* tests/test-areadlink-with-size.c (main): Don't require a
debug-only system call to pass, aiding cross-testing to mingw.
* tests/test-areadlink.c (main): Likewise.
* tests/test-areadlinkat-with-size.c (main): Likewise.
* tests/test-areadlinkat.c (main): Likewise.
* tests/test-canonicalize-lgpl.c (main): Likewise.
* tests/test-canonicalize.c (main): Likewise.
* tests/test-chown.c (main): Likewise.
* tests/test-fchownat.c (main): Likewise.
* tests/test-lchown.c (main): Likewise.
* tests/test-fdutimensat.c (main): Likewise.
* tests/test-futimens.c (main): Likewise.
* tests/test-link.c (main): Likewise.
* tests/test-linkat.c (main): Likewise.
* tests/test-mkdir.c (main): Likewise.
* tests/test-mkdirat.c (main): Likewise.
* tests/test-mkfifo.c (main): Likewise.
* tests/test-mkfifoat.c (main): Likewise.
* tests/test-mknod.c (main): Likewise.
* tests/test-readlink.c (main): Likewise.
* tests/test-remove.c (main): Likewise.
* tests/test-rename.c (main): Likewise.
* tests/test-renameat.c (main): Likewise.
* tests/test-symlink.c (main): Likewise.
* tests/test-symlinkat.c (main): Likewise.
* tests/test-utimens.c (main): Likewise.
* tests/test-utimensat.c (main): Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
Coreutils new 'touch -h' is easier to write if we guarantee POSIX
semantics of utimensat(fd,"file",NULL,AT_SYMLINK_NOFOLLOW), rather
than blindly failing with ENOSYS even 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.
Signed-off-by: Eric Blake <ebb9@byu.net>
at-func.c wants the file name argument first. This also paves the
way to add fdutimensat(dfd,name,fd,times,flag).
* 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.
Signed-off-by: Eric Blake <ebb9@byu.net>
Wraps utimensat(,AT_SYMLINK_NOFOLLOW) or lutimes, when supported;
otherwise fail with ENOSYS. Allows coreutils' copy.c to preserve
symlink timestamps on more systems. Note that cygwin's lstat
changes atime of symlinks, but mtime can reliably be set.
* 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.
Signed-off-by: Eric Blake <ebb9@byu.net>
Exposes holes in our API, and several platform bugs.
* modules/utimens-tests: New test.
* tests/test-utimens.h: New file.
* tests/test-futimens.h: Likewise.
* tests/test-utimens.c: Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>