"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, ×pec)) 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
