diff options
author | Mike Frysinger <vapier@gentoo.org> | 2011-09-17 07:25:06 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2011-09-17 07:25:06 +0000 |
commit | b83fc724611b28034496c37db4d6662b594bdfbb (patch) | |
tree | 777af47a374ce5560fa5df584a82fa6b8229b624 /sys-devel/make | |
parent | Initial import. (diff) | |
download | gentoo-2-b83fc724611b28034496c37db4d6662b594bdfbb.tar.gz gentoo-2-b83fc724611b28034496c37db4d6662b594bdfbb.tar.bz2 gentoo-2-b83fc724611b28034496c37db4d6662b594bdfbb.zip |
Punt broken glob build #383311 by Lars Wendler.
(Portage version: 2.2.0_alpha58/cvs/Linux x86_64)
Diffstat (limited to 'sys-devel/make')
-rw-r--r-- | sys-devel/make/ChangeLog | 6 | ||||
-rw-r--r-- | sys-devel/make/files/make-3.82-glob-speedup.patch | 89 | ||||
-rw-r--r-- | sys-devel/make/make-3.82-r2.ebuild | 44 |
3 files changed, 5 insertions, 134 deletions
diff --git a/sys-devel/make/ChangeLog b/sys-devel/make/ChangeLog index ec7adab32a9c..aea5f283853c 100644 --- a/sys-devel/make/ChangeLog +++ b/sys-devel/make/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for sys-devel/make # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/make/ChangeLog,v 1.86 2011/09/17 05:21:57 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/make/ChangeLog,v 1.87 2011/09/17 07:25:05 vapier Exp $ + + 17 Sep 2011; Mike Frysinger <vapier@gentoo.org> -make-3.82-r2.ebuild, + -files/make-3.82-glob-speedup.patch: + Punt broken glob build #383311 by Lars Wendler. *make-3.82-r2 (17 Sep 2011) diff --git a/sys-devel/make/files/make-3.82-glob-speedup.patch b/sys-devel/make/files/make-3.82-glob-speedup.patch deleted file mode 100644 index 79ca87eb60f5..000000000000 --- a/sys-devel/make/files/make-3.82-glob-speedup.patch +++ /dev/null @@ -1,89 +0,0 @@ -change from upstream to speed up by skipping unused globs - -https://bugs.gentoo.org/382845 - ---- a/read.c 2011/04/29 15:27:39 1.198 -+++ b/read.c 2011/05/02 00:18:06 1.199 -@@ -2901,6 +2901,7 @@ - const char *name; - const char **nlist = 0; - char *tildep = 0; -+ int globme = 1; - #ifndef NO_ARCHIVES - char *arname = 0; - char *memname = 0; -@@ -3109,32 +3110,40 @@ - } - #endif /* !NO_ARCHIVES */ - -- switch (glob (name, GLOB_NOSORT|GLOB_ALTDIRFUNC, NULL, &gl)) -- { -- case GLOB_NOSPACE: -- fatal (NILF, _("virtual memory exhausted")); -- -- case 0: -- /* Success. */ -- i = gl.gl_pathc; -- nlist = (const char **)gl.gl_pathv; -- break; -- -- case GLOB_NOMATCH: -- /* If we want only existing items, skip this one. */ -- if (flags & PARSEFS_EXISTS) -- { -- i = 0; -- break; -- } -- /* FALLTHROUGH */ -- -- default: -- /* By default keep this name. */ -+ /* glob() is expensive: don't call it unless we need to. */ -+ if (!(flags & PARSEFS_EXISTS) || strpbrk (name, "?*[") == NULL) -+ { -+ globme = 0; - i = 1; - nlist = &name; -- break; -- } -+ } -+ else -+ switch (glob (name, GLOB_NOSORT|GLOB_ALTDIRFUNC, NULL, &gl)) -+ { -+ case GLOB_NOSPACE: -+ fatal (NILF, _("virtual memory exhausted")); -+ -+ case 0: -+ /* Success. */ -+ i = gl.gl_pathc; -+ nlist = (const char **)gl.gl_pathv; -+ break; -+ -+ case GLOB_NOMATCH: -+ /* If we want only existing items, skip this one. */ -+ if (flags & PARSEFS_EXISTS) -+ { -+ i = 0; -+ break; -+ } -+ /* FALLTHROUGH */ -+ -+ default: -+ /* By default keep this name. */ -+ i = 1; -+ nlist = &name; -+ break; -+ } - - /* For each matched element, add it to the list. */ - while (i-- > 0) -@@ -3174,7 +3183,8 @@ - #endif /* !NO_ARCHIVES */ - NEWELT (concat (2, prefix, nlist[i])); - -- globfree (&gl); -+ if (globme) -+ globfree (&gl); - - #ifndef NO_ARCHIVES - if (arname) diff --git a/sys-devel/make/make-3.82-r2.ebuild b/sys-devel/make/make-3.82-r2.ebuild deleted file mode 100644 index 6e4ec2db80a4..000000000000 --- a/sys-devel/make/make-3.82-r2.ebuild +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/make/make-3.82-r2.ebuild,v 1.1 2011/09/17 05:21:57 vapier Exp $ - -EAPI="2" - -inherit flag-o-matic eutils - -DESCRIPTION="Standard tool to compile source trees" -HOMEPAGE="http://www.gnu.org/software/make/make.html" -SRC_URI="mirror://gnu//make/${P}.tar.bz2" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd" -IUSE="nls static" - -DEPEND="nls? ( sys-devel/gettext )" -RDEPEND="nls? ( virtual/libintl )" - -src_prepare() { - epatch "${FILESDIR}"/${P}-archives-many-objs.patch #334889 - epatch "${FILESDIR}"/${P}-MAKEFLAGS-reexec.patch #31975 - epatch "${FILESDIR}"/${P}-memory-corruption.patch #355907 - epatch "${FILESDIR}"/${P}-glob-speedup.patch #382845 -} - -src_configure() { - use static && append-ldflags -static - econf \ - --program-prefix=g \ - $(use_enable nls) -} - -src_install() { - emake DESTDIR="${D}" install || die "make install failed" - dodoc AUTHORS ChangeLog NEWS README* - if [[ ${USERLAND} == "GNU" ]] ; then - # we install everywhere as 'gmake' but on GNU systems, - # symlink 'make' to 'gmake' - dosym gmake /usr/bin/make - dosym gmake.1 /usr/share/man/man1/make.1 - fi -} |