Added patch from Gentoo for glibc 2.6 compatibility. It just randomly renames an inner function, so glibc 2.5-safe.

svn path=/nixpkgs/trunk/; revision=9441
This commit is contained in:
Michael Raskin 2007-10-11 03:41:29 +00:00
parent deca7d257f
commit 77a46300fa
9 changed files with 173 additions and 2 deletions

View File

@ -6,5 +6,5 @@ stdenv.mkDerivation {
url = http://ftp.gnu.org/gnu/cpio/cpio-2.7.tar.bz2;
md5 = "69ad6cb3d288aafe5f969f68d9fd0fb7";
};
patches = [./symlink.patch];
patches = [./symlink.patch ./gnulib-futimens.patch];
}

View File

@ -0,0 +1,30 @@
now hat glibc-2.6 declares futimens.
http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00089.html
diff -ru cpio-2.7.orig/lib/utimens.c cpio-2.7/lib/utimens.c
--- cpio-2.7.orig/lib/utimens.c 2007-05-20 21:23:57.000000000 +0900
+++ cpio-2.7/lib/utimens.c 2007-05-21 08:40:22.000000000 +0900
@@ -73,7 +73,7 @@
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])
{
/* There's currently no interface to set file timestamps with
@@ -166,5 +166,5 @@
int
utimens (char const *file, struct timespec const timespec[2])
{
- return futimens (-1, file, timespec);
+ return gl_futimens (-1, file, timespec);
}
diff -ru cpio-2.7.orig/lib/utimens.h cpio-2.7/lib/utimens.h
--- cpio-2.7.orig/lib/utimens.h 2007-05-20 21:23:57.000000000 +0900
+++ cpio-2.7/lib/utimens.h 2007-05-21 08:39:57.000000000 +0900
@@ -1,3 +1,3 @@
#include "timespec.h"
-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]);

View File

@ -6,5 +6,5 @@ stdenv.mkDerivation {
url = mirror://gnu/tar/tar-1.16.1.tar.bz2;
md5 = "d51593461c5ef1f7e37134f22338bb9e";
};
patches = [./implausible.patch];
patches = [./implausible.patch ./gnulib-futimens.patch];
}

View File

@ -0,0 +1,42 @@
now hat glibc-2.6 declares futimens.
http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00089.html
diff -ru cpio-2.7.orig/lib/utimens.c cpio-2.7/lib/utimens.c
--- cpio-2.7.orig/lib/utimens.c 2007-05-20 21:23:57.000000000 +0900
+++ cpio-2.7/lib/utimens.c 2007-05-21 08:40:22.000000000 +0900
@@ -73,7 +73,7 @@
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])
{
/* There's currently no interface to set file timestamps with
@@ -166,5 +166,5 @@
int
utimens (char const *file, struct timespec const timespec[2])
{
- return futimens (-1, file, timespec);
+ return gl_futimens (-1, file, timespec);
}
diff -ru cpio-2.7.orig/lib/utimens.h cpio-2.7/lib/utimens.h
--- cpio-2.7.orig/lib/utimens.h 2007-05-20 21:23:57.000000000 +0900
+++ cpio-2.7/lib/utimens.h 2007-05-21 08:39:57.000000000 +0900
@@ -1,3 +1,3 @@
#include "timespec.h"
-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]);
diff -ur tar-1.16.1.orig/src/misc.c tar-1.16.1/src/misc.c
--- tar-1.16.1.orig/src/misc.c 2007-05-21 08:57:02.000000000 +0900
+++ tar-1.16.1/src/misc.c 2007-05-21 08:57:16.000000000 +0900
@@ -518,7 +518,7 @@
}
#endif
- return futimens (fd, file, timespec);
+ return gl_futimens (fd, file, timespec);
}
/* A description of a working directory. */

View File

@ -6,4 +6,5 @@ stdenv.mkDerivation {
url = http://ftp.gnu.org/gnu/gzip/gzip-1.3.12.tar.gz;
sha256 = "1bw7sm68xjlnlzgcx66hnw80ac1qqyvhw0vw27zilgbzbzh5nmiz";
};
patches = [./gnulib-futimens.patch];
}

View File

@ -0,0 +1,42 @@
now hat glibc-2.6 declares futimens.
http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00089.html
diff -ru cpio-2.7.orig/lib/utimens.c cpio-2.7/lib/utimens.c
--- cpio-2.7.orig/lib/utimens.c 2007-05-20 21:23:57.000000000 +0900
+++ cpio-2.7/lib/utimens.c 2007-05-21 08:40:22.000000000 +0900
@@ -73,7 +73,7 @@
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])
{
/* There's currently no interface to set file timestamps with
@@ -166,5 +166,5 @@
int
utimens (char const *file, struct timespec const timespec[2])
{
- return futimens (-1, file, timespec);
+ return gl_futimens (-1, file, timespec);
}
diff -ru cpio-2.7.orig/lib/utimens.h cpio-2.7/lib/utimens.h
--- cpio-2.7.orig/lib/utimens.h 2007-05-20 21:23:57.000000000 +0900
+++ cpio-2.7/lib/utimens.h 2007-05-21 08:39:57.000000000 +0900
@@ -1,3 +1,3 @@
#include "timespec.h"
-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]);
diff -ur gzip-1.3.12.orig/gzip.c gzip-1.3.12/gzip.c
--- gzip-1.3.12.orig/gzip.c 2007-05-21 09:12:46.000000000 +0900
+++ gzip-1.3.12/gzip.c 2007-05-21 09:13:14.000000000 +0900
@@ -1637,7 +1637,7 @@
}
}
- if (futimens (ofd, ofname, timespec) != 0)
+ if (gl_futimens (ofd, ofname, timespec) != 0)
{
int e = errno;
WARN ((stderr, "%s: ", program_name));

View File

@ -6,4 +6,5 @@ stdenv.mkDerivation {
url = mirror://gnu/coreutils/coreutils-6.9.tar.bz2;
sha256 = "1c4p2kiy4m024qcl1przvphy8vhivf8jvclq6bjm1pjps5d8khl9";
};
patches = [ ./gnulib-futimens.patch ] ;
}

View File

@ -0,0 +1,54 @@
now hat glibc-2.6 declares futimens.
http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00089.html
diff -ru cpio-2.7.orig/lib/utimens.c cpio-2.7/lib/utimens.c
--- cpio-2.7.orig/lib/utimens.c 2007-05-20 21:23:57.000000000 +0900
+++ cpio-2.7/lib/utimens.c 2007-05-21 08:40:22.000000000 +0900
@@ -73,7 +73,7 @@
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])
{
/* There's currently no interface to set file timestamps with
@@ -166,5 +166,5 @@
int
utimens (char const *file, struct timespec const timespec[2])
{
- return futimens (-1, file, timespec);
+ return gl_futimens (-1, file, timespec);
}
diff -ru cpio-2.7.orig/lib/utimens.h cpio-2.7/lib/utimens.h
--- cpio-2.7.orig/lib/utimens.h 2007-05-20 21:23:57.000000000 +0900
+++ cpio-2.7/lib/utimens.h 2007-05-21 08:39:57.000000000 +0900
@@ -1,3 +1,3 @@
#include "timespec.h"
-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]);
diff -ru coreutils-6.9.orig/src/copy.c coreutils-6.9/src/copy.c
--- coreutils-6.9.orig/src/copy.c 2007-05-21 09:27:22.000000000 +0900
+++ coreutils-6.9/src/copy.c 2007-05-21 09:27:47.000000000 +0900
@@ -623,7 +623,7 @@
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)
diff -ru coreutils-6.9.orig/src/touch.c coreutils-6.9/src/touch.c
--- coreutils-6.9.orig/src/touch.c 2007-05-21 09:27:22.000000000 +0900
+++ coreutils-6.9/src/touch.c 2007-05-21 09:27:57.000000000 +0900
@@ -182,7 +182,7 @@
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)
{

View File

@ -13,6 +13,7 @@ stdenv.mkDerivation {
patches = [
# PAM patch taken from SUSE's coreutils-6.7-5.src.rpm.
./su-pam.patch
../coreutils/gnulib-futimens.patch
];
buildInputs = [pam];
buildPhase = "