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

