Better fix than workaround the koji insufficient utimensat support issue to

prevent failures in other packages
This commit is contained in:
Ondrej Vasik 2009-08-24 08:38:17 +00:00
parent 1bc86eb295
commit 5fd0b055f5
2 changed files with 25 additions and 29 deletions

View File

@ -1,26 +1,18 @@
diff -urNp coreutils-7.5-orig/tests/cp/preserve-slink-time coreutils-7.5/tests/cp/preserve-slink-time diff -urNp coreutils-7.5-orig/src/copy.c coreutils-7.5/src/copy.c
--- coreutils-7.5-orig/tests/cp/preserve-slink-time 2009-08-15 17:25:32.000000000 +0200 --- coreutils-7.5-orig/src/copy.c
+++ coreutils-7.5/tests/cp/preserve-slink-time 2009-08-21 12:45:41.000000000 +0200 +++ coreutils-7.5/src/copy.c
@@ -28,6 +28,10 @@ grep '^#define HAVE_UTIMENSAT' "$CONFIG_ @@ -124,7 +124,13 @@ static inline int
utimens_symlink (char const *file, struct timespec const *timespec)
ln -s no-such dangle || framework_failure {
#if HAVE_UTIMENSAT
+cp -Pp dangle d3 2>error - return utimensat (AT_FDCWD, file, timespec, AT_SYMLINK_NOFOLLOW);
+grep 'Function not implemented' error > /dev/null && + int err = utimensat (AT_FDCWD, file, timespec, AT_SYMLINK_NOFOLLOW);
+ skip_test_ 'utimensat function not implemented' + /* When configuring on a system with new headers and libraries, and
+ + running on one with a kernel that is old enough to lack the syscall,
# If the current file system lacks sub-second resolution, sleep for 2s to + utimensat fails with ENOTSUP. Ignore that. */
# ensure that the times on the copy are different from those of the original. + if (err && errno == ENOSYS)
case $(stat --format=%y dangle) in + err = 0;
diff -urNp coreutils-7.5-orig/tests/mv/part-symlink coreutils-7.5/tests/mv/part-symlink + return err;
--- coreutils-7.5-orig/tests/mv/part-symlink 2009-08-15 17:25:32.000000000 +0200 #else
+++ coreutils-7.5/tests/mv/part-symlink 2009-08-21 12:52:13.000000000 +0200 /* Don't set errno=ENOTSUP here as we don't want
@@ -201,6 +201,8 @@ cat <<\EOF > $expected to output an error message for this case. */
EOF
+grep 'Function not implemented' $actual > /dev/null &&
+ skip_test_ 'utimensat function not implemented'
# Redirect to stderr, since stdout is already taken.
compare $expected $actual 1>&2 || fail=1

View File

@ -1,7 +1,7 @@
Summary: A set of basic GNU tools commonly used in shell scripts Summary: A set of basic GNU tools commonly used in shell scripts
Name: coreutils Name: coreutils
Version: 7.5 Version: 7.5
Release: 1%{?dist} Release: 2%{?dist}
License: GPLv3+ License: GPLv3+
Group: System Environment/Base Group: System Environment/Base
Url: http://www.gnu.org/software/coreutils/ Url: http://www.gnu.org/software/coreutils/
@ -18,12 +18,12 @@ Source202: coreutils-su-l.pamd
Source203: coreutils-runuser-l.pamd Source203: coreutils-runuser-l.pamd
# From upstream # From upstream
Patch1: coreutils-7.5-kojiutimensatskip.patch
# Our patches # Our patches
Patch100: coreutils-6.10-configuration.patch Patch100: coreutils-6.10-configuration.patch
Patch101: coreutils-6.10-manpages.patch Patch101: coreutils-6.10-manpages.patch
Patch102: coreutils-7.4-sttytcsadrain.patch Patch102: coreutils-7.4-sttytcsadrain.patch
Patch103: coreutils-7.5-kojiutimensatskip.patch
# sh-utils # sh-utils
Patch703: sh-utils-2.0.11-dateman.patch Patch703: sh-utils-2.0.11-dateman.patch
@ -108,12 +108,12 @@ Libraries for coreutils package.
%setup -q %setup -q
# From upstream # From upstream
%patch1 -p1 -b .kojiutimensat
# Our patches # Our patches
%patch100 -p1 -b .configure %patch100 -p1 -b .configure
%patch101 -p1 -b .manpages %patch101 -p1 -b .manpages
%patch102 -p1 -b .tcsadrain %patch102 -p1 -b .tcsadrain
%patch103 -p1 -b .kojiutimensat
# sh-utils # sh-utils
%patch703 -p1 -b .dateman %patch703 -p1 -b .dateman
@ -328,6 +328,10 @@ fi
%{_libdir}/coreutils %{_libdir}/coreutils
%changelog %changelog
* Mon Aug 24 2009 Ondrej Vasik <ovasik@redhat.com> - 7.5-2
- Better fix than workaround the koji insufficient utimensat
support issue to prevent failures in other packages
* Fri Aug 21 2009 Ondrej Vasik <ovasik@redhat.com> - 7.5-1 * Fri Aug 21 2009 Ondrej Vasik <ovasik@redhat.com> - 7.5-1
- New upstream release 7.5, remove already applied patches, - New upstream release 7.5, remove already applied patches,
defuzz few others, xz in default set(by dependencies), defuzz few others, xz in default set(by dependencies),