aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Thomas Petazzoni <thomas.petazzoni@free-electrons.com>2009-08-04 22:28:32 +0200
committerGravatar Thomas Petazzoni <thomas.petazzoni@free-electrons.com>2009-08-04 23:55:28 +0200
commit27c667c782d90c43fb6148134feb207307674019 (patch)
tree70b62a87a37fa8dd0ecfc4fcfebb12713ec73372
parent5b72dda69f72e1953dfc7987dd1b418e1afe79a4 (diff)
downloadbuildroot-27c667c782d90c43fb6148134feb207307674019.tar.gz
buildroot-27c667c782d90c43fb6148134feb207307674019.tar.bz2
gzip: add patch to fix glibc build
Recent glibc versions introduced a futimens() function, that gzip already implemented. So waiting for a proper usage of this function in gzip, we rename the gzip internal function to gz_futimens(). Patch inspired by http://lists.pld-linux.org/mailman/pipermail/pld-cvs-commit/Week-of-Mon-20070514/155476.html Fixes bug #537 Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-rw-r--r--CHANGES1
-rw-r--r--package/gzip/gzip-1.3.12-rename-futimens.patch48
-rw-r--r--package/gzip/gzip.mk1
3 files changed, 50 insertions, 0 deletions
diff --git a/CHANGES b/CHANGES
index 0c1f667b17..905b9d4734 100644
--- a/CHANGES
+++ b/CHANGES
@@ -78,6 +78,7 @@
#509: Bump sqlite package to 3.6.16
#523: pciutils broken with external toolchain
#533: Update gamin to 0.1.10 to fix compilation
+ #537: Fix gzip build with recent glibc
2009.05, Released June 1st, 2009:
diff --git a/package/gzip/gzip-1.3.12-rename-futimens.patch b/package/gzip/gzip-1.3.12-rename-futimens.patch
new file mode 100644
index 0000000000..8315d7ca21
--- /dev/null
+++ b/package/gzip/gzip-1.3.12-rename-futimens.patch
@@ -0,0 +1,48 @@
+---
+ gzip.c | 2 +-
+ lib/utimens.c | 4 ++--
+ lib/utimens.h | 2 +-
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+Index: gzip-1.3.12/gzip.c
+===================================================================
+--- gzip-1.3.12.orig/gzip.c
++++ gzip-1.3.12/gzip.c
+@@ -1637,7 +1637,7 @@
+ }
+ }
+
+- if (futimens (ofd, ofname, timespec) != 0)
++ if (gz_futimens (ofd, ofname, timespec) != 0)
+ {
+ int e = errno;
+ WARN ((stderr, "%s: ", program_name));
+Index: gzip-1.3.12/lib/utimens.c
+===================================================================
+--- gzip-1.3.12.orig/lib/utimens.c
++++ gzip-1.3.12/lib/utimens.c
+@@ -75,7 +75,7 @@
+ Return 0 on success, -1 (setting errno) on failure. */
+
+ int
+-futimens (int fd ATTRIBUTE_UNUSED,
++gz_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 @@
+ int
+ utimens (char const *file, struct timespec const timespec[2])
+ {
+- return futimens (-1, file, timespec);
++ return gz_futimens (-1, file, timespec);
+ }
+Index: gzip-1.3.12/lib/utimens.h
+===================================================================
+--- gzip-1.3.12.orig/lib/utimens.h
++++ gzip-1.3.12/lib/utimens.h
+@@ -1,3 +1,3 @@
+ #include <time.h>
+-int futimens (int, char const *, struct timespec const [2]);
++int gz_futimens (int, char const *, struct timespec const [2]);
+ int utimens (char const *, struct timespec const [2]);
diff --git a/package/gzip/gzip.mk b/package/gzip/gzip.mk
index beffe9d2e0..84031613fd 100644
--- a/package/gzip/gzip.mk
+++ b/package/gzip/gzip.mk
@@ -18,6 +18,7 @@ gzip-source: $(DL_DIR)/$(GZIP_SOURCE)
$(GZIP_DIR)/.unpacked: $(DL_DIR)/$(GZIP_SOURCE)
$(GZIP_CAT) $(DL_DIR)/$(GZIP_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+ toolchain/patch-kernel.sh $(GZIP_DIR) package/gzip gzip\*.patch
touch $(GZIP_DIR)/.unpacked
$(GZIP_DIR)/.configured: $(GZIP_DIR)/.unpacked