diff options
author | Mike Frysinger <vapier@gentoo.org> | 2008-03-29 17:44:26 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2008-03-29 17:44:26 +0000 |
commit | f56de39e3c47b8e9bc10842084ae01005f8ddfa9 (patch) | |
tree | 483c9c035a1ec8ee2feec67c424086c07ec4cdee /sys-devel | |
parent | old (diff) | |
download | gentoo-2-f56de39e3c47b8e9bc10842084ae01005f8ddfa9.tar.gz gentoo-2-f56de39e3c47b8e9bc10842084ae01005f8ddfa9.tar.bz2 gentoo-2-f56de39e3c47b8e9bc10842084ae01005f8ddfa9.zip |
Grab fix from upstream gnulib for %n crash #213833 by Sergey Dryabzhinsky.
(Portage version: 2.2_pre5)
Diffstat (limited to 'sys-devel')
-rw-r--r-- | sys-devel/m4/ChangeLog | 11 | ||||
-rw-r--r-- | sys-devel/m4/files/m4-1.4.10-gnulib-vasnprintf.patch | 34 | ||||
-rw-r--r-- | sys-devel/m4/files/m4-1.4.10-seek.patch | 2 | ||||
-rw-r--r-- | sys-devel/m4/m4-1.4.10-r2.ebuild | 48 |
4 files changed, 93 insertions, 2 deletions
diff --git a/sys-devel/m4/ChangeLog b/sys-devel/m4/ChangeLog index b67e6ace66d1..22783aa430f2 100644 --- a/sys-devel/m4/ChangeLog +++ b/sys-devel/m4/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for sys-devel/m4 -# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/m4/ChangeLog,v 1.101 2007/10/16 14:12:04 angelos Exp $ +# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/m4/ChangeLog,v 1.102 2008/03/29 17:44:25 vapier Exp $ + +*m4-1.4.10-r2 (29 Mar 2008) + + 29 Mar 2008; Mike Frysinger <vapier@gentoo.org> + +files/m4-1.4.10-gnulib-vasnprintf.patch, files/m4-1.4.10-seek.patch, + +m4-1.4.10-r2.ebuild: + Grab fix from upstream gnulib for %n crash #213833 by Sergey Dryabzhinsky. 16 Oct 2007; Christoph Mende <angelos@gentoo.org> m4-1.4.10.ebuild: Stable on amd64 wrt bug #195257 diff --git a/sys-devel/m4/files/m4-1.4.10-gnulib-vasnprintf.patch b/sys-devel/m4/files/m4-1.4.10-gnulib-vasnprintf.patch new file mode 100644 index 000000000000..7a205c7dcd0a --- /dev/null +++ b/sys-devel/m4/files/m4-1.4.10-gnulib-vasnprintf.patch @@ -0,0 +1,34 @@ +http://bugs.gentoo.org/213833 + +commit 913c09becd9df89dbd9b9f386e7f35c240d5efe8 +Author: Bruno Haible <bruno@clisp.org> +Date: Fri Oct 19 01:50:42 2007 +0200 + + Don't use %n on glibc >= 2.3 systems. + +diff --git a/lib/vasnprintf.c b/lib/vasnprintf.c +index f563823..5d818aa 100644 +--- a/lib/vasnprintf.c ++++ b/lib/vasnprintf.c +@@ -3385,9 +3385,21 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, + #endif + *fbp = dp->conversion; + #if USE_SNPRINTF ++# if !(__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) + fbp[1] = '%'; + fbp[2] = 'n'; + fbp[3] = '\0'; ++# else ++ /* On glibc2 systems from glibc >= 2.3 - probably also older ++ ones - we know that snprintf's returns value conforms to ++ ISO C 99: the gl_SNPRINTF_DIRECTIVE_N test passes. ++ Therefore we can avoid using %n in this situation. ++ On glibc2 systems from 2004-10-18 or newer, the use of %n ++ in format strings in writable memory may crash the program ++ (if compiled with _FORTIFY_SOURCE=2), so we should avoid it ++ in this situation. */ ++ fbp[1] = '\0'; ++# endif + #else + fbp[1] = '\0'; + #endif diff --git a/sys-devel/m4/files/m4-1.4.10-seek.patch b/sys-devel/m4/files/m4-1.4.10-seek.patch index 572d266373f1..9e3d51d0470a 100644 --- a/sys-devel/m4/files/m4-1.4.10-seek.patch +++ b/sys-devel/m4/files/m4-1.4.10-seek.patch @@ -1,3 +1,5 @@ +Fix for BSD systems pulled from upstream. + diff -ur a/src/output.c b/src/output.c --- a/src/output.c 2007-07-05 04:56:06 +0100 +++ b/src/output.c 2007-10-15 09:56:23 +0100 diff --git a/sys-devel/m4/m4-1.4.10-r2.ebuild b/sys-devel/m4/m4-1.4.10-r2.ebuild new file mode 100644 index 000000000000..4efd5ea141dd --- /dev/null +++ b/sys-devel/m4/m4-1.4.10-r2.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/m4/m4-1.4.10-r2.ebuild,v 1.1 2008/03/29 17:44:25 vapier Exp $ + +inherit eutils + +DESCRIPTION="GNU macro processor" +HOMEPAGE="http://www.gnu.org/software/m4/m4.html" +SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2 + ftp://ftp.seindal.dk/gnu/${P}.tar.bz2" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd" +IUSE="examples nls" + +# remember: cannot dep on autoconf since it needs us +DEPEND="nls? ( sys-devel/gettext )" +RDEPEND="" + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}"/${P}-seek.patch + epatch "${FILESDIR}"/${P}-gnulib-vasnprintf.patch #213833 +} + +src_compile() { + local myconf="" + [[ ${USERLAND} != "GNU" ]] && myconf="--program-prefix=g" + econf \ + $(use_enable nls) \ + --enable-changeword \ + ${myconf} \ + || die + emake || die +} + +src_install() { + emake install DESTDIR="${D}" || die + dodoc BACKLOG ChangeLog NEWS README* THANKS TODO + if use examples ; then + docinto examples + dodoc examples/* + rm -f "${D}"/usr/share/doc/${PF}/examples/Makefile* + fi + rm -f "${D}"/usr/lib/charset.alias #172864 +} |