aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Lecher (jlec) <jlec@j-schmitz.net>2009-04-13 17:08:57 +0200
committerJustin Lecher (jlec) <jlec@j-schmitz.net>2009-04-13 17:08:57 +0200
commitb402aa28c938befc90c2fabb0731707699ee6d4b (patch)
treeb73fc9a180288f03e71fa9ef5cd51ed4b3474e53 /dev-libs/libunzip
parentrenamed: generate_tarball.sh -> generate_boinc-src_tarball.sh (diff)
downloadsci-b402aa28c938befc90c2fabb0731707699ee6d4b.tar.gz
sci-b402aa28c938befc90c2fabb0731707699ee6d4b.tar.bz2
sci-b402aa28c938befc90c2fabb0731707699ee6d4b.zip
dev-libs/libunzip added
Diffstat (limited to 'dev-libs/libunzip')
-rw-r--r--dev-libs/libunzip/ChangeLog13
-rw-r--r--dev-libs/libunzip/Manifest7
-rw-r--r--dev-libs/libunzip/files/libunzip-5.52-CVE-2008-0888.patch35
-rw-r--r--dev-libs/libunzip/files/libunzip-5.52-Makefile.patch31
-rw-r--r--dev-libs/libunzip/files/libunzip-5.52-no-exec-stack.patch13
-rw-r--r--dev-libs/libunzip/libunzip-5.52.ebuild54
-rw-r--r--dev-libs/libunzip/metadata.xml5
7 files changed, 158 insertions, 0 deletions
diff --git a/dev-libs/libunzip/ChangeLog b/dev-libs/libunzip/ChangeLog
new file mode 100644
index 000000000..ace2c0fa6
--- /dev/null
+++ b/dev-libs/libunzip/ChangeLog
@@ -0,0 +1,13 @@
+# ChangeLog for dev-libs/libunzip
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*libunzip-5.52 (13 Apr 2009)
+
+ 13 Apr 2009; Justin Lecher (jlec) <jlec@j-schmitz.net>
+ +files/libunzip-5.52-CVE-2008-0888.patch,
+ +files/libunzip-5.52-Makefile.patch,
+ +files/libunzip-5.52-no-exec-stack.patch, +metadata.xml,
+ +libunzip-5.52.ebuild:
+ Initial checkin to sci
+
diff --git a/dev-libs/libunzip/Manifest b/dev-libs/libunzip/Manifest
new file mode 100644
index 000000000..6f45ba996
--- /dev/null
+++ b/dev-libs/libunzip/Manifest
@@ -0,0 +1,7 @@
+AUX libunzip-5.52-CVE-2008-0888.patch 1075 RMD160 03d5ec7845ae9347a197c7d1484bb2d9ab96cb93 SHA1 a72e703048ddd2226d430b7375b531320997b98a SHA256 a93b927000ff5923c3e84fc4108a0f19d76a3a057a33556a2f761c18b270f87c
+AUX libunzip-5.52-Makefile.patch 1296 RMD160 e4d0c3bd9e865ff6701f4500725d69c43bab4de3 SHA1 bb7a4fe61c89ae6214e7d4bae495a52bc5ad2526 SHA256 17d857b746d4d699e7d816d240c2b211710ede7a8fac242b1574821ec5928fd5
+AUX libunzip-5.52-no-exec-stack.patch 334 RMD160 81d73b5bb66fb54f8f71252c1fe6e2036d488de9 SHA1 0f318fecebd548e9feb2e93a32c56258d5c552b1 SHA256 8e165db2c138f9729020f3e60e9d8be58d504f4cf8eb7aae18b9432d2d751d4f
+DIST unzip552.tar.gz 1140291 RMD160 b749b0923bc4cceaa6f937aef688e9713a84328c SHA1 1831bd59b9e607a69052f83b263384895e2d4a19 SHA256 145d95e2ef1ef9add2e3c97d1340907e33ab8749eb1235372e7f0b7af600a8e9
+EBUILD libunzip-5.52.ebuild 1299 RMD160 90858580bb0f28a6beb549f6233e0285b47a15ae SHA1 1cbdc82fcd755cf243d9e74d4504282efbb0113e SHA256 be9ffd065dd1560a7fadd1dd84b216de2d95051f063cbf93f7b7b60bbd8f07b6
+MISC ChangeLog 398 RMD160 33cbe0382f26ba18f1ff0a1d6f04edf204e2c3fe SHA1 2bf10dbf983b14a003e3030fc7d087c2b2e97793 SHA256 8e0590b35d869802086424f952363fe96e35f66d1dcf50009b709065be80ccf7
+MISC metadata.xml 164 RMD160 f43cbec30b7074319087c9acffdb9354b17b0db3 SHA1 9c213f5803676c56439df3716be07d6692588856 SHA256 f5f2891f2a4791cd31350bb2bb572131ad7235cd0eeb124c9912c187ac10ce92
diff --git a/dev-libs/libunzip/files/libunzip-5.52-CVE-2008-0888.patch b/dev-libs/libunzip/files/libunzip-5.52-CVE-2008-0888.patch
new file mode 100644
index 000000000..368b3eeb1
--- /dev/null
+++ b/dev-libs/libunzip/files/libunzip-5.52-CVE-2008-0888.patch
@@ -0,0 +1,35 @@
+http://bugs.gentoo.org/213761
+
+fix for CVE-2008-0888
+
+--- inflate.c
++++ inflate.c
+@@ -983,6 +983,7 @@
+ unsigned l; /* last length */
+ unsigned m; /* mask for bit lengths table */
+ unsigned n; /* number of lengths to get */
++ struct huft *tlp;
+ struct huft *tl; /* literal/length code table */
+ struct huft *td; /* distance code table */
+ unsigned bl; /* lookup bits for tl */
+@@ -996,6 +997,8 @@
+ int retval = 0; /* error code returned: initialized to "no error" */
+
+
++ td = tlp = tl = (struct huft *)NULL;
++
+ /* make local bit buffer */
+ Trace((stderr, "\ndynamic block"));
+ b = G.bb;
+@@ -1047,9 +1050,9 @@
+ while (i < n)
+ {
+ NEEDBITS(bl)
+- j = (td = tl + ((unsigned)b & m))->b;
++ j = (tlp = tl + ((unsigned)b & m))->b;
+ DUMPBITS(j)
+- j = td->v.n;
++ j = tlp->v.n;
+ if (j < 16) /* length of code in bits (0..15) */
+ ll[i++] = l = j; /* save last length in l */
+ else if (j == 16) /* repeat last length 3 to 6 times */
diff --git a/dev-libs/libunzip/files/libunzip-5.52-Makefile.patch b/dev-libs/libunzip/files/libunzip-5.52-Makefile.patch
new file mode 100644
index 000000000..b8787f2f2
--- /dev/null
+++ b/dev-libs/libunzip/files/libunzip-5.52-Makefile.patch
@@ -0,0 +1,31 @@
+--- unix/Makefile 2005-02-26 20:58:34.000000000 +0100
++++ unix/Makefile.new 2009-04-12 19:49:56.000000000 +0200
+@@ -45,6 +45,7 @@
+ CC = cc# try using "gcc" target rather than changing this (CC and LD
+ LD = $(CC)# must match, else "unresolved symbol: ___main" is possible)
+ AS = as
++RANLIB =
+ LOC = $(LOCAL_UNZIP)
+ AF = $(LOC)
+ CF = -O -I. -DUNIX $(LOC)
+@@ -810,14 +810,14 @@
+ #
+ linux_shlib: unix_make
+ # $(MAKE) objsdll CC=gcc CF="-O3 -Wall -I. -fPIC -DDLL $(LOC)"
+- $(MAKE) objsdll CC=gcc CF="-O3 -Wall -I. -fPIC -DDLL -DASM_CRC $(LOC)"\
+- AS=gcc AF="-fPIC -Di386 $(AF)" CRC32=crc_gcc
+- ln -sf crc_gcc.pic.o crc32.pic.o
+- gcc -shared -Wl,-soname,libunzip.so.0 -o libunzip.so.0.4 $(OBJSDLL)
++ $(MAKE) objsdll CC=gcc CF="-O3 -Wall -I. -fPIC -DDLL -DUNIX $(LOC)"
++ $(LD) $(LDFLAGS) -shared -Wl,-soname,libunzip.so.0 -o libunzip.so.0.4 $(OBJSDLL)
++ $(AR) $(ARFLAGS) libunzip.a $(OBJSDLL)
++ $(RANLIB) libunzip.a
+ ln -sf libunzip.so.0.4 libunzip.so.0
+ ln -sf libunzip.so.0 libunzip.so
+- gcc -c -O unzipstb.c
+- gcc -o unzip_shlib unzipstb.o -L. -lunzip
++ $(CC) $(CFLAGS) -c unzipstb.c
++ $(LD) $(LDFLAGS) -o unzip_shlib unzipstb.o -L. -lunzip
+
+ # Linux ELF shared library, as above, but using inflate() from zlib (libz.so)
+ # instead of the original UnZip version. (libz was libgz prior to 0.94)
diff --git a/dev-libs/libunzip/files/libunzip-5.52-no-exec-stack.patch b/dev-libs/libunzip/files/libunzip-5.52-no-exec-stack.patch
new file mode 100644
index 000000000..e2869bfe8
--- /dev/null
+++ b/dev-libs/libunzip/files/libunzip-5.52-no-exec-stack.patch
@@ -0,0 +1,13 @@
+Make sure that the asm files don't incorrectly trigger an executable
+stack marking in the final shared library. That's bad, mmmkay.
+
+--- unzip/crc_i386.S
++++ unzip/crc_i386.S
+@@ -238,3 +238,7 @@
+ #endif /* i386 || _i386 || _I386 || __i386 */
+
+ #endif /* !USE_ZLIB */
++
++#ifdef __ELF__
++.section .note.GNU-stack,"",%progbits
++#endif
diff --git a/dev-libs/libunzip/libunzip-5.52.ebuild b/dev-libs/libunzip/libunzip-5.52.ebuild
new file mode 100644
index 000000000..872f51ba0
--- /dev/null
+++ b/dev-libs/libunzip/libunzip-5.52.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="2"
+
+inherit eutils toolchain-funcs flag-o-matic
+
+MY_PN="${PN#lib}"
+
+DESCRIPTION="libunzip.so"
+HOMEPAGE="http://www.info-zip.org/"
+SRC_URI="mirror://gentoo/${MY_PN}${PV/.}.tar.gz"
+
+LICENSE="Info-ZIP"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-no-exec-stack.patch
+ epatch "${FILESDIR}"/${P}-CVE-2008-0888.patch #213761
+ epatch "${FILESDIR}"/${P}-Makefile.patch
+ sed -i \
+ -e 's:-O3:$(CFLAGS) $(CPPFLAGS):' \
+ -e 's:-O :$(CFLAGS) $(CPPFLAGS) :' \
+ -e "s:CC=gcc :CC=$(tc-getCC) :" \
+ -e "s:CC = cc:CC=$(tc-getCC) :" \
+ -e "s:LD=gcc :LD=$(tc-getCC) :" \
+ -e "s:AS=gcc :AS=$(tc-getCC) :" \
+ -e "s:RANLIB =:RANLIB = $(tc-getRANLIB) :" \
+ -e 's:LF2 = -s:LF2 = :' \
+ -e 's:LF = :LF = $(LDFLAGS) :' \
+ -e 's:SL = :SL = $(LDFLAGS) :' \
+ -e 's:FL = :FL = $(LDFLAGS) :' \
+ unix/Makefile \
+ || die "sed unix/Makefile failed"
+}
+
+src_compile() {
+ append-lfs-flags #104315
+ emake -f unix/Makefile linux_shlib || die "emake failed"
+}
+
+src_install() {
+ dolib.so ${PN}.so.0.4 || die
+ dolib.so ${PN}.so.0 || die
+ dolib.so ${PN}.so || die
+ dolib.a ${PN}.a || die
+ insinto /usr/include
+ doins unzip.h || die
+}
diff --git a/dev-libs/libunzip/metadata.xml b/dev-libs/libunzip/metadata.xml
new file mode 100644
index 000000000..96a2d5863
--- /dev/null
+++ b/dev-libs/libunzip/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>base-system</herd>
+</pkgmetadata>