From fa9d798bc882ebe9c13a106531ca84cdc819cfd2 Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Wed, 13 Jun 2007 12:07:35 +0000 Subject: [PATCH] - Disambiguate futimens() from the glibc implementation (bug #242321). --- coreutils-futimens.patch | 47 ++++++++++++++++++++++++++++++++++++++++ coreutils.spec | 5 +++++ 2 files changed, 52 insertions(+) create mode 100644 coreutils-futimens.patch diff --git a/coreutils-futimens.patch b/coreutils-futimens.patch new file mode 100644 index 0000000..bb08384 --- /dev/null +++ b/coreutils-futimens.patch @@ -0,0 +1,47 @@ +--- coreutils-6.9/lib/utimens.h.futimens 2007-02-23 18:25:21.000000000 +0000 ++++ coreutils-6.9/lib/utimens.h 2007-06-13 11:40:37.000000000 +0100 +@@ -1,3 +1,3 @@ + #include +-int futimens (int, char const *, struct timespec const [2]); ++int gl_futimens (int, char const *, struct timespec const [2]); + int utimens (char const *, struct timespec const [2]); +--- coreutils-6.9/lib/utimens.c.futimens 2007-01-18 08:33:34.000000000 +0000 ++++ coreutils-6.9/lib/utimens.c 2007-06-13 11:40:37.000000000 +0100 +@@ -75,7 +75,7 @@ struct utimbuf + Return 0 on success, -1 (setting errno) on failure. */ + + int +-futimens (int fd ATTRIBUTE_UNUSED, ++gl_futimens (int fd ATTRIBUTE_UNUSED, + char const *file, struct timespec const timespec[2]) + { + /* Some Linux-based NFS clients are buggy, and mishandle time stamps +@@ -185,5 +185,5 @@ futimens (int fd ATTRIBUTE_UNUSED, + int + utimens (char const *file, struct timespec const timespec[2]) + { +- return futimens (-1, file, timespec); ++ return gl_futimens (-1, file, timespec); + } +--- coreutils-6.9/src/copy.c.futimens 2007-06-13 11:56:44.000000000 +0100 ++++ coreutils-6.9/src/copy.c 2007-06-13 11:57:00.000000000 +0100 +@@ -547,7 +547,7 @@ copy_reg (char const *src_name, char con + timespec[0] = get_stat_atime (src_sb); + timespec[1] = get_stat_mtime (src_sb); + +- if (futimens (dest_desc, dst_name, timespec) != 0) ++ if (gl_futimens (dest_desc, dst_name, timespec) != 0) + { + error (0, errno, _("preserving times for %s"), quote (dst_name)); + if (x->require_preserve) +--- coreutils-6.9/src/touch.c.futimens 2007-06-13 11:58:00.000000000 +0100 ++++ coreutils-6.9/src/touch.c 2007-06-13 11:58:06.000000000 +0100 +@@ -182,7 +182,7 @@ touch (const char *file) + t = timespec; + } + +- ok = (futimens (fd, (fd == STDOUT_FILENO ? NULL : file), t) == 0); ++ ok = (gl_futimens (fd, (fd == STDOUT_FILENO ? NULL : file), t) == 0); + + if (fd == STDIN_FILENO) + { diff --git a/coreutils.spec b/coreutils.spec index 46e68a6..3a606cc 100644 --- a/coreutils.spec +++ b/coreutils.spec @@ -17,6 +17,7 @@ Source202: coreutils-su-l.pamd Source203: coreutils-runuser-l.pamd # From upstream +Patch1: coreutils-futimens.patch # Our patches Patch100: coreutils-chgrp.patch @@ -81,6 +82,7 @@ the old GNU fileutils, sh-utils, and textutils packages. %setup -q # From upstream +%patch1 -p1 -b .futimens # Our patches %patch100 -p1 -b .chgrp @@ -266,6 +268,9 @@ fi /sbin/runuser %changelog +* Wed Jun 13 2007 Tim Waugh +- Disambiguate futimens() from the glibc implementation (bug #242321). + * Mon Apr 02 2007 Karsten Hopp 6.9-2 - /bin/mv in %%post requires libselinux