From c5908d9f7e58949e56c240e144d2cac2f1834d55 Mon Sep 17 00:00:00 2001 From: Christian Wiese Date: Fri, 5 Apr 2013 14:00:32 +0200 Subject: [PATCH] prelude-lml: fixed to build with glibc >= 2.16 where 'gets' is not defined in the gnulib anymore Note: build error without the patch ----------------------------------------------------------------------------- make[4]: *** [localcharset.lo] Error 1 make[4]: *** Waiting for unfinished jobs.... In file included from ./wchar.h:63:0, from printf-args.h:42, from printf-parse.h:26, from printf-parse.c:37: ./stdio.h:143:1: error: 'gets' undeclared here (not in a function) libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -MT vasnprintf.lo -MD -MP -MF .deps/vasnprintf.Tpo -c vasnprintf.c -fPIC -DPIC -o .libs/vasnprintf.o In file included from ./wchar.h:63:0, from printf-args.h:42, from printf-args.c:30: ./stdio.h:143:1: error: 'gets' undeclared here (not in a function) In file included from glob.c:38:0: ./stdio.h:143:1: error: 'gets' undeclared here (not in a function) make[4]: *** [printf-args.lo] Error 1 glob.c:168:1: warning: '__leaf__' attribute has no effect on unit local functions [-Wattributes] glob.c:216:1: warning: '__leaf__' attribute has no effect on unit local functions [-Wattributes] glob.c:217:1: warning: '__leaf__' attribute has no effect on unit local functions [-Wattributes] make[4]: *** [printf-parse.lo] Error 1 In file included from snprintf.c:22:0: ./stdio.h:143:1: error: 'gets' undeclared here (not in a function) In file included from vasnprintf.c:71:0: ./stdio.h:143:1: error: 'gets' undeclared here (not in a function) make[4]: *** [glob.lo] Error 1 make[4]: *** [snprintf.lo] Error 1 make[4]: *** [vasnprintf.lo] Error 1 ----------------------------------------------------------------------------- --- ...prelude-lml-1.0.0-glibc-2.16-no-gets.patch | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 security/prelude-lml/prelude-lml-1.0.0-glibc-2.16-no-gets.patch diff --git a/security/prelude-lml/prelude-lml-1.0.0-glibc-2.16-no-gets.patch b/security/prelude-lml/prelude-lml-1.0.0-glibc-2.16-no-gets.patch new file mode 100644 index 000000000..f3e3de5c4 --- /dev/null +++ b/security/prelude-lml/prelude-lml-1.0.0-glibc-2.16-no-gets.patch @@ -0,0 +1,33 @@ +# --- SDE-COPYRIGHT-NOTE-BEGIN --- +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# +# Filename: package/.../prelude-lml/prelude-lml-1.0.0-glibc-2.16-no-gets.patch +# Copyright (C) 2013 The OpenSDE Project +# +# More information can be found in the files COPYING and README. +# +# This patch file is dual-licensed. It is available under the license the +# patched project is licensed under, as long as it is an OpenSource license +# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms +# of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# --- SDE-COPYRIGHT-NOTE-END --- + +--- prelude-lml-1.0.0/libmissing/stdio.in.h.orig 2012-10-30 17:15:24.449864079 +0100 ++++ prelude-lml-1.0.0/libmissing/stdio.in.h 2012-10-30 17:18:49.534581397 +0100 +@@ -114,10 +114,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 warningbesides, C11 ++ removed it. */ + #undef gets ++#if HAVE_RAW_DECL_GETS + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); ++#endif + + #if @GNULIB_FOPEN@ + # if @REPLACE_FOPEN@