Package: gettext
Version: 0.18.1.1-10
Severity: normal
Tags: upstream experimental patch

gettext does not build against (e)glibc 2.16 because gets has been
removed but the 3(!) embedded copies of gnulib stdio.in.h files still
use it.

Links to the issue upstream are included in the debian/patch

A proper fix will be a new upstream release made with a newer version
of gnulib, but in the meantime this simple fix allows it to build, so
that eglibc 2.16 can be uploaded.

Fix found because I have to use eglibc2.16 for the arm64 bootstrap. 

-- 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 gettext-0.18.1.1/debian/changelog gettext-0.18.1.1/debian/changelog
--- gettext-0.18.1.1/debian/changelog	2012-06-07 10:08:07.000000000 +0000
+++ gettext-0.18.1.1/debian/changelog	2012-11-15 18:44:38.000000000 +0000
@@ -1,3 +1,9 @@
+gettext (0.18.1.1-10) precise; urgency=low
+
+  * Fix FTBFS on eglibc-2.16 (due to gets removal/outdated gnulib)
+
+ -- Wookey <[email protected]>  Thu, 15 Nov 2012 17:04:09 +0000
+
 gettext (0.18.1.1-9) unstable; urgency=low
 
   * Build with hardened build flags.
diff -Nru gettext-0.18.1.1/debian/control gettext-0.18.1.1/debian/control
diff -Nru gettext-0.18.1.1/debian/gettext.lintian-overrides gettext-0.18.1.1/debian/gettext.lintian-overrides
\ No newline at end of file
diff -Nru gettext-0.18.1.1/debian/patches/eglibc-21.6-ftbfs-nogets gettext-0.18.1.1/debian/patches/eglibc-21.6-ftbfs-nogets
--- gettext-0.18.1.1/debian/patches/eglibc-21.6-ftbfs-nogets	1970-01-01 00:00:00.000000000 +0000
+++ gettext-0.18.1.1/debian/patches/eglibc-21.6-ftbfs-nogets	2012-11-15 19:14:59.000000000 +0000
@@ -0,0 +1,71 @@
+Description:  Allow package to build with glibc-2.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 put a check around the reference in
+ lib/stdio.in.h
+ A new release made with a new gnulib is a better fix.
+ .
+ gettext (0.18.1.1-10) precise; urgency=low
+ .
+   * Fix FTBFS on eglibc-2.16 (due to gets removal/outdated gnulib)
+Author: Wookey <[email protected]>
+Last-Update: 2012-11-5
+Bug : http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00186.html
+Bug-Debian: http://bugs.debian.org/687986
+Forwarded: no
+
+Index: gettext-0.18.1.1/gettext-tools/gnulib-lib/stdio.in.h
+===================================================================
+--- gettext-0.18.1.1.orig/gettext-tools/gnulib-lib/stdio.in.h	2012-11-15 18:46:24.000000000 +0000
++++ gettext-0.18.1.1/gettext-tools/gnulib-lib/stdio.in.h	2012-11-15 19:14:37.000000000 +0000
+@@ -138,10 +138,12 @@
+ #endif
+ 
+ /* 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.  */
++   so any use of gets warrants an unconditional warning.  */
+ #undef gets
++#ifdef HAVE_RAW_DECL_GETS
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++#endif
++#undef gets
+ 
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
+Index: gettext-0.18.1.1/gettext-runtime/gnulib-lib/stdio.in.h
+===================================================================
+--- gettext-0.18.1.1.orig/gettext-runtime/gnulib-lib/stdio.in.h	2010-05-17 19:56:12.000000000 +0000
++++ gettext-0.18.1.1/gettext-runtime/gnulib-lib/stdio.in.h	2012-11-15 19:11:15.000000000 +0000
+@@ -138,10 +138,11 @@
+ #endif
+ 
+ /* 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.  */
++   so any use of gets warrants an unconditional warning. */
+ #undef gets
++#ifdef HAVE_RAW_DECL_GETS
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++#endif
+ 
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
+Index: gettext-0.18.1.1/gettext-tools/libgettextpo/stdio.in.h
+===================================================================
+--- gettext-0.18.1.1.orig/gettext-tools/libgettextpo/stdio.in.h	2010-05-17 19:58:03.000000000 +0000
++++ gettext-0.18.1.1/gettext-tools/libgettextpo/stdio.in.h	2012-11-15 19:11:53.000000000 +0000
+@@ -138,10 +138,11 @@
+ #endif
+ 
+ /* 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.  */
++   so any use of gets warrants an unconditional warning.  */
+ #undef gets
++#ifdef HAVE_RAW_DECL_GETS
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++#endif
+ 
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
diff -Nru gettext-0.18.1.1/debian/patches/series gettext-0.18.1.1/debian/patches/series
--- gettext-0.18.1.1/debian/patches/series	2012-05-16 10:00:56.000000000 +0000
+++ gettext-0.18.1.1/debian/patches/series	2012-11-15 18:46:24.000000000 +0000
@@ -5,3 +5,4 @@
 05-quotes-around-pwd-in-project-id
 06-msgfmt-default-little-endian
 99-config-guess-config-sub
+eglibc-21.6-ftbfs-nogets
diff -Nru gettext-0.18.1.1/debian/rules gettext-0.18.1.1/debian/rules

Reply via email to