summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2005-05-31 03:13:26 +0000
committerMike Frysinger <vapier@gentoo.org>2005-05-31 03:13:26 +0000
commit07d6c363100145e3b524639d4999bfcafc6d94ca (patch)
tree19f30b1db5d53c6e4b2fe85b4cfbb00c882f1202 /app-arch
parentStable ppc-macos (diff)
downloadgentoo-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')
-rw-r--r--app-arch/gzip/ChangeLog8
-rw-r--r--app-arch/gzip/files/digest-gzip-1.3.5-r71
-rw-r--r--app-arch/gzip/files/gzip-1.3.5-alpha.patch28
-rw-r--r--app-arch/gzip/gzip-1.3.5-r7.ebuild86
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
+}