-MD5 f3840053dbb239a234573271f11179af ChangeLog 15876
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+MD5 cec411736d9504b38b2ba0a5c8ba08a9 ChangeLog 16278
MD5 37236013e0d26d43c6bff35a8a48e8ec metadata.xml 220
MD5 b2bb47be1c71efedd650243576212700 openssl-0.9.6m.ebuild 3088
MD5 8348f8cb6117f6228e58d01f3625c2e2 openssl-0.9.7c-r1.ebuild 7021
MD5 a5a3e6682c17e1ee6d679f67d162a15a openssl-0.9.7d.ebuild 7801
MD5 f486886e3b46bc6502733a497592cac1 openssl-0.9.7d-r1.ebuild 8558
MD5 bb8c47ff76464d051ac47a20b50d79bf openssl-0.9.7d-r2.ebuild 8891
+MD5 f50265f558324d0f83bf49394a383962 openssl-0.9.7e.ebuild 7802
MD5 2e6ed24d513a8f2b1b6f03709ab5ba18 files/digest-openssl-0.9.6m 67
MD5 897d293325315cdeeb390745ed5cdd1b files/digest-openssl-0.9.7d 134
MD5 cebd09d1819c07b0fab14ad90b0da884 files/openssl-0.9.6m-gentoo.diff 1591
MD5 7483d6f0412e857e9063dce4aecf2991 files/openssl-0.9.7c-gentoo.diff 936
MD5 897d293325315cdeeb390745ed5cdd1b files/digest-openssl-0.9.7d-r2 134
MD5 f804ea4df3b388d22451cde6e9458f2b files/openssl-0.9.7c-tempfile.patch 2178
+MD5 4e6c2cbbc1ff9e36ff6d83b6c5356b7c files/openssl-0.9.7-hppa-fix-detection.patch 1718
+MD5 f8ff492f66404c732e4661cc4443a2e8 files/openssl-0.9.7-alpha-default-gcc.patch 533
+MD5 acab4ad88a6c249a7cde0511a0961a2c files/digest-openssl-0.9.7e 134
+MD5 f886f4a6a62eb4ec7bc718952d76900d files/openssl-0.9.7e-gentoo.patch 460
+MD5 bef2724dccc11edf27916526d9c08576 files/openssl-0.9.7-arm-big-endian.patch 1074
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.9.10 (GNU/Linux)
+
+iD8DBQFBvNXHroRuSHgZdywRAgkqAJ93i34gyDrbvVU1X1A33aMjdgzIcwCfWcEY
+1Al7oPGSWbq+XL+UtY/+eyY=
+=3/2e
+-----END PGP SIGNATURE-----
--- /dev/null
+diff -ur openssl-0.9.7d.orig/Configure openssl-0.9.7d/Configure
+--- openssl-0.9.7d.orig/Configure 2004-12-11 19:01:11.078248352 -0500
++++ openssl-0.9.7d/Configure 2004-12-11 19:06:46.998180760 -0500
+@@ -315,7 +315,7 @@
+ "MPE/iX-gcc", "gcc:-D_ENDIAN -DBN_DIV2W -O3 -D_POSIX_SOURCE -D_SOCKET_SOURCE -I/SYSLOG/PUB::(unknown):MPE:-L/SYSLOG/PUB -lsyslog -lsocket -lcurses:BN_LLONG DES_PTR DES_UNROLL DES_RISC1:::",
+
+ #### PARISC Linux setups
+-"linux-parisc","gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -DBN_DIV2W::-D_REENTRANT:::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::",
++"linux-parisc","gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+
+ # Dec Alpha, OSF/1 - the alpha164-cc is historical, for the conversion
+ # from the older DEC C Compiler to the newer compiler. It's now the
+diff -ur openssl-0.9.7d.orig/config openssl-0.9.7d/config
+--- openssl-0.9.7d.orig/config 2004-12-11 19:01:11.077248504 -0500
++++ openssl-0.9.7d/config 2004-12-11 19:06:55.621869760 -0500
+@@ -564,9 +564,9 @@
+ sun4d) OUT="linux-sparcv8" ;;
+ *) OUT="linux-sparcv7" ;;
+ esac ;;
+- parisc-*-linux2)
++ parisc*-*-linux2)
+- CPUARCH=`awk '/cpu family/{print substr($5,1,3)}' /proc/cpuinfo`
+- CPUSCHEDULE=`awk '/^cpu.[ ]: PA/{print substr($3,3)}' /proc/cpuinfo`
++ CPUARCH=`awk '/cpu family/{print substr($5,1,3)}' /proc/cpuinfo | head -n 1`
++ CPUSCHEDULE=`awk '/^cpu[[:space:]]*: PA/{print substr($3,3)}' /proc/cpuinfo | head -n 1`
+
+ # ??TODO ?? Model transformations
+ # 0. CPU Architecture for the 1.1 processor has letter suffixes. We strip that off
--- /dev/null
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/openssl-0.9.7e.ebuild,v 1.1 2004/12/12 23:35:07 vapier Exp $
+
+inherit eutils flag-o-matic gcc
+
+OLD_096_P="${PN}-0.9.6m"
+
+DESCRIPTION="Toolkit for SSL v2/v3 and TLS v1"
+HOMEPAGE="http://www.openssl.org/"
+SRC_URI="mirror://openssl/source/${P}.tar.gz
+ mirror://openssl/source/${OLD_096_P}.tar.gz"
+
+LICENSE="as-is"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+KEYWORDS="-*"
+IUSE="emacs uclibc"
+
+RDEPEND="virtual/libc"
+DEPEND="${RDEPEND}
+ sys-apps/diffutils
+ >=dev-lang/perl-5
+ >=sys-apps/sed-4
+ !uclibc? ( sys-devel/bc )"
+
+S=${WORKDIR}
+
+src_unpack() {
+ unpack ${A}
+
+ # openssl-0.9.7
+ cd ${WORKDIR}/${P}
+
+ epatch ${FILESDIR}/${PN}-0.9.7c-tempfile.patch
+ epatch ${FILESDIR}/addppc64support.diff
+ epatch ${FILESDIR}/${PN}-0.9.7e-gentoo.patch
+ epatch ${FILESDIR}/${PN}-0.9.7-arm-big-endian.patch
+ epatch ${FILESDIR}/${PN}-0.9.7-hppa-fix-detection.patch
+ epatch ${FILESDIR}/${PN}-0.9.7-alpha-default-gcc.patch
+
+ case $(gcc-version) in
+ 3.2)
+ filter-flags -fprefetch-loop-arrays -freduce-all-givs -funroll-loop
+ ;;
+ 3.4 | 3.3 )
+ filter-flags -fprefetch-loop-arrays -freduce-all-givs -funroll-loops
+ if [ "${ARCH}" = "ppc" -o "${ARCH}" = "ppc64" ] ; then
+ append-flags -fno-strict-aliasing
+ fi
+ ;;
+ esac
+
+ # replace CFLAGS
+ OLDIFS=$IFS
+ IFS=$'\n'
+ for a in $( grep -n -e "^\"linux-" Configure ); do
+ LINE=$( echo $a | awk -F: '{print $1}' )
+ CUR_CFLAGS=$( echo $a | awk -F: '{print $3}' )
+ # for ppc64 I have to be careful given current
+ # toolchain issues
+ if [ "${ARCH}" != "ppc64" ]; then
+ NEW_CFLAGS="$( echo $CUR_CFLAGS | sed -r -e "s|-O[23]||" -e "s/-fomit-frame-pointer//" -e "s/-mcpu=[-a-z0-9]+//" -e "s/-m486//" ) $CFLAGS"
+ else
+ NEW_CFLAGS="$( echo $CUR_CFLAGS | sed -r -e "s|-O[23]||" -e "s/-fomit-frame-pointer//" -e "s/-mcpu=[-a-z0-9]+//" -e "s/-m486//" ) "
+
+ fi
+
+ sed -i "${LINE}s/$CUR_CFLAGS/$NEW_CFLAGS/" Configure \
+ || die "sed failed"
+ done
+ IFS=$OLDIFS
+
+ if [ "$(get_libdir)" != "lib" ] ; then
+ # using a library directory other than lib requires some magic
+ sed -i \
+ -e "s+\(\$(INSTALL_PREFIX)\$(INSTALLTOP)\)/lib+\1/$(get_libdir)+g" \
+ -e "s+libdir=\$\${exec_prefix}/lib+libdir=\$\${exec_prefix}/$(get_libdir)+g" \
+ Makefile.org \
+ || die "sed failed"
+ ./config --test-sanity || die "sanity failed"
+ fi
+
+ # openssl-0.9.6
+ test -f ${ROOT}/usr/lib/libssl.so.0.9.6 && {
+ cd ${WORKDIR}/${OLD_096_P}
+
+ epatch ${FILESDIR}/${OLD_096_P}-gentoo.diff
+
+ case ${ARCH} in
+ mips)
+ epatch ${FILESDIR}/openssl-0.9.6-mips.diff
+ ;;
+ arm)
+ # patch linker to add -ldl or things linking aginst libcrypto fail
+ sed -i -e \
+ 's!^"linux-elf-arm"\(.*\)::BN\(.*\)!"linux-elf-arm"\1:-ldl:BN\2!' \
+ Configure \
+ || die "sed failed"
+ ;;
+ hppa)
+ # Tells to compile a static version of openssl
+ sed -i -e \
+ 's!^"linux-parisc"\(.*\)::BN\(.*\)::!"linux-parisc"\1:-ldl:BN\2::::::::::dlfcn:linux-shared:-fPIC::.so.\\$(SHLIB_MAJOR).\\$(SHLIB_MINOR)!' \
+ Configure \
+ || die "sed failed"
+ # Fix detection of parisc running 64 bit kernel
+ sed -i -e 's/parisc-\*-linux2/parisc\*-\*-linux2/' config \
+ || die "sed failed"
+ esac
+
+ # replace CFLAGS
+ OLDIFS=$IFS
+ IFS=$'\n'
+ for a in $( grep -n -e "^\"linux-" Configure ); do
+ LINE=$( echo $a | awk -F: '{print $1}' )
+ CUR_CFLAGS=$( echo $a | awk -F: '{print $3}' )
+ NEW_CFLAGS="$( echo $CUR_CFLAGS | sed -r -e "s|-O[23]||" -e "s/-fomit-frame-pointer//" -e "s/-mcpu=[-a-z0-9]+//" -e "s/-m486//" ) $CFLAGS"
+ sed -i "${LINE}s/$CUR_CFLAGS/$NEW_CFLAGS/" Configure \
+ || die "sed failed"
+ done
+ IFS=$OLDIFS
+ }
+}
+
+src_compile() {
+ # openssl-0.9.7
+ cd ${WORKDIR}/${P}
+
+ # Build correctly for mips, mips64, & mipsel
+ if use mips; then
+ if [[ ${CHOST/mipsel} != ${CHOST} ]] ; then
+ mipsarch="linux-mipsel"
+ else
+ mipsarch="linux-mips"
+ fi
+
+ ./Configure ${mipsarch} --prefix=/usr --openssldir=/etc/ssl \
+ shared threads || die
+ # force sparcv8 on sparc32 profile
+ elif [ "$PROFILE_ARCH" = "sparc" ]; then
+ ./Configure linux-sparcv8 --prefix=/usr --openssldir=/etc/ssl \
+ shared threads || die
+ else
+ ./config --prefix=/usr --openssldir=/etc/ssl shared threads || die
+ fi
+
+ einfo "Compiling ${P}"
+ make all || die
+
+ # openssl-0.9.6
+ test -f ${ROOT}/usr/lib/libssl.so.0.9.6 && {
+ cd ${WORKDIR}/${OLD_096_P}
+
+ # force sparcv8 on sparc32 profile
+ if [ "$PROFILE_ARCH" = "sparc" ]; then
+ SSH_TARGET="linux-sparcv8"
+ elif [ "`uname -m`" = "parisc" -o "`uname -m`" = "parisc64" ]; then
+ SSH_TARGET="linux-parisc"
+ elif use mips; then
+ if [ "`echo ${CHOST} | grep "mipsel"`" ]; then
+ SSH_TARGET="linux-mipsel"
+ else
+ SSH_TARGET="linux-mips"
+ fi
+ fi
+
+ case ${CHOST} in
+ alphaev56*|alphaev6*)
+ SSH_TARGET="linux-alpha+bwx-${CC:-gcc}"
+ ;;
+ alpha*)
+ SSH_TARGET="linux-alpha-${CC:-gcc}" ;;
+ esac
+
+ if [ ${SSH_TARGET} ]; then
+ einfo "Forcing ${SSH_TARGET} compile"
+ ./Configure ${SSH_TARGET} --prefix=/usr \
+ --openssldir=/etc/ssl shared threads || die
+ else
+ ./config --prefix=/usr --openssldir=/etc/ssl shared threads || die
+ fi
+
+ einfo "Compiling ${OLD_096_P}"
+ make all || die
+ }
+}
+
+src_test() {
+ cd ${WORKDIR}/${P}
+ make test || die
+
+ # openssl-0.9.6
+ test -f ${ROOT}/usr/lib/libssl.so.0.9.6 && {
+ cd ${WORKDIR}/${OLD_096_P}
+ make all || die
+ }
+}
+
+src_install() {
+ # openssl-0.9.7
+ cd ${WORKDIR}/${P}
+ make INSTALL_PREFIX=${D} MANDIR=/usr/share/man install || die
+ dodoc CHANGES* FAQ LICENSE NEWS README
+ dodoc doc/*.txt
+ dohtml doc/*
+ insinto /usr/share/emacs/site-lisp
+ doins doc/c-indentation.el
+
+ if use emacs ; then
+ insinto /usr/share/emacs/site-lisp
+ doins doc/c-indentation.el
+ fi
+
+ # create the certs directory. Previous openssl builds
+ # would need to create /usr/lib/ssl/certs but this looks
+ # to be the more FHS compliant setup... -raker
+ insinto /etc/ssl/certs
+ doins certs/*.pem
+ OPENSSL=${D}/usr/bin/openssl /usr/bin/perl tools/c_rehash ${D}/etc/ssl/certs
+
+ # The man pages rand.3 and passwd.1 conflict with other packages
+ # Rename them to ssl-* and also make a symlink from openssl-* to ssl-*
+ cd ${D}/usr/share/man/man1
+ mv passwd.1 ssl-passwd.1
+ ln -sf ssl-passwd.1 openssl-passwd.1
+ cd ${D}/usr/share/man/man3
+ mv rand.3 ssl-rand.3
+ ln -sf ssl-rand.3 openssl-rand.3
+
+ # openssl-0.9.6
+ test -f ${ROOT}/usr/lib/libssl.so.0.9.6 && {
+ cd ${WORKDIR}/${OLD_096_P}
+ make || die
+ dolib.so ${WORKDIR}/${OLD_096_P}/libcrypto.so.0.9.6||die "libcrypto.so.0.9.6 not found"
+ dolib.so ${WORKDIR}/${OLD_096_P}/libssl.so.0.9.6|| die "libssl.so.0.9.6 not found"
+ }
+ fperms a+x /usr/$(get_libdir)/pkgconfig #34088
+}
+
+pkg_postinst() {
+ local BN_H="${ROOT}$(gcc-config -L)/include/openssl/bn.h"
+ # Breaks things one some boxen, bug #13795. The problem is that
+ # if we have a 'gcc fixed' version in $(gcc-config -L) from 0.9.6,
+ # then breaks as it was defined as 'int BN_mod(...)' and in 0.9.7 it
+ # is a define with BN_div(...) - <azarah@gentoo.org> (24 Sep 2003)
+ if [ -f "${BN_H}" ] && [ -n "$(grep '^int[[:space:]]*BN_mod(' "${BN_H}")" ]
+ then
+ rm -f "${BN_H}"
+ fi
+
+ test -f ${ROOT}/usr/lib/libssl.so.0.9.6 && {
+ einfo "You can now re-compile all packages that are linked against"
+ einfo "OpenSSL 0.9.6 by using revdep-rebuild from gentoolkit:"
+ einfo "# revdep-rebuild --soname libssl.so.0.9.6"
+ einfo "# revdep-rebuild --soname libcrypto.so.0.9.6"
+ einfo "After this, you can delete /usr/lib/libssl.so.0.9.6 and /usr/lib/libcrypto.so.0.9.6"
+ }
+
+
+ ewarn "If you do not etc-update now and update /etc/ssl/misc/der_chop to the new version, your"
+ ewarn "system IS VULNERABLE to a symlink attack as described in bug 68407"
+ ewarn "refer to http://bugs.gentoo.org/show_bug.cgi?id=68407 if you have any doubts"
+}