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>
2012.11.x
Thomas Petazzoni 2009-08-04 22:28:32 +02:00
parent 5b72dda69f
commit 27c667c782
3 changed files with 50 additions and 0 deletions

View File

@ -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:

View File

@ -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]);

View File

@ -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