diff options
author | Justin Lecher (jlec) <jlec@j-schmitz.net> | 2009-04-13 17:08:57 +0200 |
---|---|---|
committer | Justin Lecher (jlec) <jlec@j-schmitz.net> | 2009-04-13 17:08:57 +0200 |
commit | b402aa28c938befc90c2fabb0731707699ee6d4b (patch) | |
tree | b73fc9a180288f03e71fa9ef5cd51ed4b3474e53 /dev-libs/libunzip | |
parent | renamed: generate_tarball.sh -> generate_boinc-src_tarball.sh (diff) | |
download | sci-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/ChangeLog | 13 | ||||
-rw-r--r-- | dev-libs/libunzip/Manifest | 7 | ||||
-rw-r--r-- | dev-libs/libunzip/files/libunzip-5.52-CVE-2008-0888.patch | 35 | ||||
-rw-r--r-- | dev-libs/libunzip/files/libunzip-5.52-Makefile.patch | 31 | ||||
-rw-r--r-- | dev-libs/libunzip/files/libunzip-5.52-no-exec-stack.patch | 13 | ||||
-rw-r--r-- | dev-libs/libunzip/libunzip-5.52.ebuild | 54 | ||||
-rw-r--r-- | dev-libs/libunzip/metadata.xml | 5 |
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> |