diff options
author | Mike Frysinger <vapier@gentoo.org> | 2005-05-31 03:13:26 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2005-05-31 03:13:26 +0000 |
commit | 07d6c363100145e3b524639d4999bfcafc6d94ca (patch) | |
tree | 19f30b1db5d53c6e4b2fe85b4cfbb00c882f1202 /app-arch/gzip | |
parent | Stable ppc-macos (diff) | |
download | gentoo-2-07d6c363100145e3b524639d4999bfcafc6d94ca.tar.gz gentoo-2-07d6c363100145e3b524639d4999bfcafc6d94ca.tar.bz2 gentoo-2-07d6c363100145e3b524639d4999bfcafc6d94ca.zip |
Fix segfault on alpha/xorg with a patch from Debian #92232.
(Portage version: 2.0.51.22-r1)
Diffstat (limited to 'app-arch/gzip')
-rw-r--r-- | app-arch/gzip/ChangeLog | 8 | ||||
-rw-r--r-- | app-arch/gzip/files/digest-gzip-1.3.5-r7 | 1 | ||||
-rw-r--r-- | app-arch/gzip/files/gzip-1.3.5-alpha.patch | 28 | ||||
-rw-r--r-- | app-arch/gzip/gzip-1.3.5-r7.ebuild | 86 |
4 files changed, 122 insertions, 1 deletions
diff --git a/app-arch/gzip/ChangeLog b/app-arch/gzip/ChangeLog index 954b2ea6c468..a0a4a5d34633 100644 --- a/app-arch/gzip/ChangeLog +++ b/app-arch/gzip/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for app-arch/gzip # Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-arch/gzip/ChangeLog,v 1.54 2005/05/06 17:34:55 spb Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-arch/gzip/ChangeLog,v 1.55 2005/05/31 03:13:26 vapier Exp $ + +*gzip-1.3.5-r7 (31 May 2005) + + 31 May 2005; Mike Frysinger <vapier@gentoo.org> + +files/gzip-1.3.5-alpha.patch, +gzip-1.3.5-r7.ebuild: + Fix segfault on alpha/xorg with a patch from Debian #92232. 06 May 2005; Stephen Bennett <spb@gentoo.org> gzip-1.3.5-r6.ebuild: Mips stable for #89946. diff --git a/app-arch/gzip/files/digest-gzip-1.3.5-r7 b/app-arch/gzip/files/digest-gzip-1.3.5-r7 new file mode 100644 index 000000000000..07db7e681363 --- /dev/null +++ b/app-arch/gzip/files/digest-gzip-1.3.5-r7 @@ -0,0 +1 @@ +MD5 3d6c191dfd2bf307014b421c12dc8469 gzip-1.3.5.tar.gz 331550 diff --git a/app-arch/gzip/files/gzip-1.3.5-alpha.patch b/app-arch/gzip/files/gzip-1.3.5-alpha.patch new file mode 100644 index 000000000000..c31cd3209595 --- /dev/null +++ b/app-arch/gzip/files/gzip-1.3.5-alpha.patch @@ -0,0 +1,28 @@ +Taken from Debian. + +http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=187417 +http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=184057 +http://bugs.gentoo.org/92232 + +--- gzip-1.3.5.orig/deflate.c ++++ gzip-1.3.5/deflate.c +@@ -643,7 +643,8 @@ + /* Find the longest match, discarding those <= prev_length. + * At this point we have always match_length < MIN_MATCH + */ +- if (hash_head != NIL && strstart - hash_head <= MAX_DIST) { ++ if (hash_head != NIL && strstart - hash_head <= MAX_DIST && ++ strstart <= window_size - MIN_LOOKAHEAD) { + /* To simplify the code, we prevent matches with the string + * of window index 0 (in particular we have to avoid a match + * of the string with itself at the start of the input file). +@@ -737,7 +738,8 @@ + match_length = MIN_MATCH-1; + + if (hash_head != NIL && prev_length < max_lazy_match && +- strstart - hash_head <= MAX_DIST) { ++ strstart - hash_head <= MAX_DIST && ++ strstart <= window_size - MIN_LOOKAHEAD) { + /* To simplify the code, we prevent matches with the string + * of window index 0 (in particular we have to avoid a match + * of the string with itself at the start of the input file). diff --git a/app-arch/gzip/gzip-1.3.5-r7.ebuild b/app-arch/gzip/gzip-1.3.5-r7.ebuild new file mode 100644 index 000000000000..2d9b678edbda --- /dev/null +++ b/app-arch/gzip/gzip-1.3.5-r7.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-arch/gzip/gzip-1.3.5-r7.ebuild,v 1.1 2005/05/31 03:13:26 vapier Exp $ + +inherit eutils flag-o-matic + +DESCRIPTION="Standard GNU compressor" +HOMEPAGE="http://www.gnu.org/software/gzip/gzip.html" +SRC_URI="mirror://gentoo/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 m68k mips ppc ppc64 s390 sh sparc x86" +IUSE="nls build static pic" + +RDEPEND="" +DEPEND="${RDEPEND} + nls? ( sys-devel/gettext )" +PROVIDE="virtual/gzip" + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}"/${P}-debian.patch + epatch "${FILESDIR}"/${P}-znew-tempfile-2.patch + epatch "${FILESDIR}"/${P}-gunzip-dir.patch + epatch "${FILESDIR}"/${P}-asm-execstack.patch + epatch "${FILESDIR}"/${P}-gzip-perm.patch + epatch "${FILESDIR}"/${P}-infodir.patch + epatch "${FILESDIR}"/${P}-rsync.patch + epatch "${FILESDIR}"/${P}-zgrep-sed.patch + epatch "${FILESDIR}"/${P}-alpha.patch +} + +src_compile() { + use static && append-flags -static + # avoid text relocation in gzip + use pic && export DEFS="NO_ASM" + econf --exec-prefix=/ $(use_enable nls) || die + emake || die +} + +src_install() { + dodir /usr/bin /usr/share/man/man1 + make prefix=${D}/usr \ + exec_prefix=${D}/ \ + mandir=${D}/usr/share/man \ + infodir=${D}/usr/share/info \ + install || die + + cd ${D}/bin + + for i in gzexe zforce zgrep zmore znew zcmp + do + sed -i -e "s:${D}::" ${i} || die + chmod 755 ${i} + done + + # No need to waste space -- these guys should be links + # gzcat is equivilant to zcat, but historically zcat + # was a link to compress. + rm -f gunzip zcat zcmp zegrep zfgrep + dosym gzip /bin/gunzip + dosym gzip /bin/gzcat + dosym gzip /bin/zcat + dosym zdiff /bin/zcmp + dosym zgrep /bin/zegrep + dosym zgrep /bin/zfgrep + + if ! use build + then + cd ${D}/usr/share/man/man1 + rm -f gunzip.* zcmp.* zcat.* + ln -s gzip.1.gz gunzip.1.gz + ln -s zdiff.1.gz zcmp.1.gz + ln -s gzip.1.gz zcat.1.gz + ln -s gzip.1.gz gzcat.1.gz + cd ${S} + rm -rf ${D}/usr/man ${D}/usr/lib + dodoc ChangeLog NEWS README THANKS TODO + docinto txt + dodoc algorithm.doc gzip.doc + else + rm -rf ${D}/usr + fi +} |