"Paul Eggert" <[EMAIL PROTECTED]> wrote:
> Sun patch 109933-02 for Solaris 8 sparc, released August 1, added
> support to "cp -p" to set file timestamps to microsecond resolution,
> instead of the old behavior, which set them only to 1-second
> resolution.  Sun "make" relies on this new behavior so that "make"
> actions like "dest: source; cp -p source dest" do not confuse "make".
>
> Here is a patch to add this capability to GNU coreutils.
>
> 2003-08-06  Paul Eggert  <[EMAIL PROTECTED]>
>
>       * NEWS: Add support for setting file timestamps to microsecond
>       resolution, on hosts that support this.
>       * lib/Makefile.am (libeftish_a_SOURCES): Add utimens.c, utimens.h.
>       * lib/utimens.c, lib/utimens.h: New files.
>       * m4/prereq.m4 (jm_PREREQ): Require gl_UTIMENS.
>       * m4/timespec.m4: Sync with gnulib.
>       * m4/utimens.m4: New file.
>       * src/copy.c, src/cp.c, src/install.c, src/touch.c: Include timespec.h.
>       * src/copy.c (copy_internal):
>       Set file timestamps with utimens, not utimes.
>       * src/cp.c (re_protect): Likewise.
>       * src/install.c (change_timestamps): Likewise.
>       * src/touch.c (newtime, touch, main): Likewise.
...
> diff -Naurp coreutils/src/copy.c coreutils-cp-p/src/copy.c
> --- coreutils/src/copy.c      2003-07-22 23:38:18.000000000 -0700
> +++ coreutils-cp-p/src/copy.c 2003-08-06 17:21:52.489506000 -0700

Thanks for those changes!
I've applied most of them.

In particular, I've changed this:

  * src/copy.c, src/cp.c, src/install.c, src/touch.c: Include timespec.h.
to
  Include utimens.h.

That exposed a little problem.
I've removed a few of the leading `&' like this one:

> +      if (utimens (dst_path, &timespec))

More importantly, utimes doesn't seem to work on my
system (linux-2.4.21, libc-2.3.2) so I'm changing your patch
to check for utime (not utimes) and use utimes only if `! HAVE_UTIME'.

Besides, before your change, touch used `utime' unconditionally.
Why does utimens.c bother with utimes at all?


_______________________________________________
Bug-coreutils mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-coreutils

Reply via email to