Package: diffutils
Version: 3.2-7
Severity: serious
Tags: patch experimental upstream
Justification: fails to build from source

Diffutils doesn't build with eglibc2.16 due to gets finally being
removed but the gnulib in the package not knowing about this. The
patch has links to upstream bugs.

A new diffutils release with new gnulib is the right fix for this, but
this simple nobbling works in the meantime (and allows the arm64
bootstrap to progress)

-- System Information:
Debian Release: 6.0.6
  APT prefers stable
  APT policy: (990, 'stable')
Architecture: i386 (i686)

Kernel: Linux 2.6.32.33-kvm-i386-20111128-dirty (SMP w/1 CPU core)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
diff -Nru diffutils-3.2/debian/changelog diffutils-3.2/debian/changelog
--- diffutils-3.2/debian/changelog	2012-10-04 16:12:47.000000000 +0000
+++ diffutils-3.2/debian/changelog	2012-11-15 15:56:56.000000000 +0000
@@ -1,3 +1,9 @@
+diffutils (1:3.2-8) UNRELEASED; urgency=low
+
+  * Fix lib/stdio.in.h to build with glibc-2.16 (no gets)
+
+ -- Wookey <[email protected]>  Thu, 15 Nov 2012 15:56:17 +0000
+
 diffutils (1:3.2-7) unstable; urgency=low
 
   * Updated config.guess and config.sub for arm64. Closes: #688965, #689617.
diff -Nru diffutils-3.2/debian/patches/eglibc-2.16-nogets diffutils-3.2/debian/patches/eglibc-2.16-nogets
--- diffutils-3.2/debian/patches/eglibc-2.16-nogets	1970-01-01 00:00:00.000000000 +0000
+++ diffutils-3.2/debian/patches/eglibc-2.16-nogets	2012-11-15 16:24:49.000000000 +0000
@@ -0,0 +1,31 @@
+Description: Allow diffutils to build with glibc2.16
+ 'gets' has been removed from glibc-2.16 but gnulib still refers to it
+ causing build failures.
+ The simple fix for now is just to remove the reference in
+ lib/stdio.in.h
+ A new diffutils release made with a new gnulib is a better fix
+ .
+ diffutils (1:3.2-8) UNRELEASED; urgency=low
+ .
+   * Fix lib/stdio.in.h to build with glibc-2.16 (no gets)
+Author: Wookey <[email protected]>
+
+---
+Bug : http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00186.html
+Bug-Debian: http://bugs.debian.org/687986
+Forwarded: not-needed
+Last-Update: 2012-11-15
+
+--- diffutils-3.2.orig/lib/stdio.in.h
++++ diffutils-3.2/lib/stdio.in.h
+@@ -694,10 +694,6 @@ _GL_CXXALIAS_SYS (gets, char *, (char *s
+ #  undef gets
+ # endif
+ _GL_CXXALIASWARN (gets);
+-/* It is very rare that the developer ever has full control of stdin,
+-   so any use of gets warrants an unconditional warning.  Assume it is
+-   always declared, since it is required by C89.  */
+-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+ #endif
+ 
+ 
diff -Nru diffutils-3.2/debian/patches/series diffutils-3.2/debian/patches/series
--- diffutils-3.2/debian/patches/series	2012-10-04 16:14:44.000000000 +0000
+++ diffutils-3.2/debian/patches/series	2012-11-15 15:59:15.000000000 +0000
@@ -1,3 +1,4 @@
 01-no-usr-share-info-dir-gz
 02-gnulib-fix-for-float-in-powerpc
 99-config-guess-config-sub
+eglibc-2.16-nogets

Reply via email to