# ChangeLog for dev-libs/openssl
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/ChangeLog,v 1.321 2010/03/09 13:25:30 lxnay Exp $

*openssl-0.9.8m-r1 (09 Mar 2010)

  09 Mar 2010; Fabio Erculiani <lxnay@gentoo.org> -openssl-0.9.8m.ebuild,
  +openssl-0.9.8m-r1.ebuild, +files/openssl-0.9.8m-cfb.patch:
  fix critical bug #308123, thanks Joost Ruis for reporting

*openssl-0.9.8m (05 Mar 2010)

  05 Mar 2010; Mike Frysinger <vapier@gentoo.org> +openssl-0.9.8m.ebuild,
  +files/openssl-0.9.8m-binutils.patch:
  Version bump #306925 by Hanno Boeck.

  15 Feb 2010; Mike Frysinger <vapier@gentoo.org> openssl-0.9.8l-r2.ebuild:
  Fix up man page munging #304663 by William Throwe.

  13 Feb 2010; Mike Frysinger <vapier@gentoo.org>
  openssl-1.0.0_beta5.ebuild, metadata.xml:
  Add support by Tony Cheneau for USE=rfc3779 #304717.

  27 Jan 2010; Mike Frysinger <vapier@gentoo.org> openssl-0.9.8l-r2.ebuild,
  openssl-1.0.0_beta5.ebuild:
  Unify the sed statements and make sure we always set MANSUFFIX #302165 by
  Hanno Boeck.

*openssl-1.0.0_beta5 (21 Jan 2010)

  21 Jan 2010; Mike Frysinger <vapier@gentoo.org>
  +openssl-1.0.0_beta5.ebuild:
  Version bump.

*openssl-1.0.0_beta4 (11 Jan 2010)

  11 Jan 2010; Mike Frysinger <vapier@gentoo.org>
  +openssl-1.0.0_beta4.ebuild:
  Add testing version #269482 by Daniel Black.

  11 Jan 2010; Mike Frysinger <vapier@gentoo.org> openssl-0.9.8l-r2.ebuild:
  Drop gcc-3 flag munging, add -fno-strict-aliasing for everyone, and use
  SET_X when linking things to make logs more useful.

  11 Jan 2010; Mike Frysinger <vapier@gentoo.org> openssl-0.9.8l-r2.ebuild:
  Handle renamed man pages in SEE ALSO #287783 by Guido Winkelmann.

  11 Jan 2010; Mike Frysinger <vapier@gentoo.org>
  files/openssl-0.9.8h-ldflags.patch, openssl-0.9.8l-r2.ebuild:
  Respect LDFLAGS on openssl again #181438.

  11 Jan 2010; Mike Frysinger <vapier@gentoo.org> openssl-0.9.8l-r2.ebuild,
  files/openssl-0.9.8e-bsd-sparc64.patch:
  Update the bsd-sparc patch to apply again.

  11 Jan 2010; Mike Frysinger <vapier@gentoo.org> openssl-0.9.8l-r2.ebuild:
  Link in gmp when USE=gmp #276557 by Justin Lecher.

*openssl-0.9.8l-r2 (27 Nov 2009)

  27 Nov 2009; Mike Frysinger <vapier@gentoo.org> +openssl-0.9.8l-r2.ebuild,
  files/openssl-0.9.8l-CVE-2009-2409.patch:
  Add other half of MD2 disable so that root certs arent checked #294615 by
  Alexander Danilov.

  23 Nov 2009; Raúl Porcel <armin76@gentoo.org> openssl-0.9.8l-r1.ebuild:
  ia64/m68k/s390/sh/sparc stable wrt #292022

  23 Nov 2009; Brent Baude <ranger@gentoo.org> openssl-0.9.8l-r1.ebuild:
  Marking openssl-0.9.8l-r1 ppc64 for bug 292022

  23 Nov 2009; Markus Meier <maekke@gentoo.org> openssl-0.9.8l-r1.ebuild:
  amd64/arm/x86 stable, bug #292022

  22 Nov 2009; Tobias Klausmann <klausman@gentoo.org>
  openssl-0.9.8l-r1.ebuild:
  Stable on alpha, bug #292022

  21 Nov 2009; nixnut <nixnut@gentoo.org> openssl-0.9.8l-r1.ebuild:
  ppc stable #292022

  21 Nov 2009; Jeroen Roovers <jer@gentoo.org> openssl-0.9.8l-r1.ebuild:
  Stable for HPPA (bug #292022).

  21 Nov 2009; Mike Frysinger <vapier@gentoo.org> openssl-0.9.8l-r1.ebuild,
  +files/openssl-0.9.8l-binutils.patch:
  Add fix from upstream/fedora for building with newer binutils #289130 by
  Martin Jansa. Also drop the alpha gcc/ccc patch as ccc is long dead.

*openssl-0.9.8l-r1 (21 Nov 2009)

  21 Nov 2009; Mike Frysinger <vapier@gentoo.org> +openssl-0.9.8l-r1.ebuild,
  +files/openssl-0.9.8l-CVE-2009-1387.patch,
  +files/openssl-0.9.8l-CVE-2009-2409.patch,
  +files/openssl-0.9.8l-dtls-compat.patch:
  Add fixes from upstream but not in the 0.9.8l release.

  08 Nov 2009; nixnut <nixnut@gentoo.org> openssl-0.9.8l.ebuild:
  ppc stable #292022

  08 Nov 2009; Jeroen Roovers <jer@gentoo.org> openssl-0.9.8l.ebuild:
  Stable for HPPA (bug #292022).

  07 Nov 2009; Tobias Klausmann <klausman@gentoo.org> openssl-0.9.8l.ebuild:
  Stable on alpha, bug #292022

  05 Nov 2009; Mike Frysinger <vapier@gentoo.org> openssl-0.9.8l.ebuild,
  +files/openssl-0.9.8l-CVE-2009-1377.patch,
  +files/openssl-0.9.8l-CVE-2009-1378.patch,
  +files/openssl-0.9.8l-CVE-2009-1379.patch:
  Add some patches from upstream #270305.

*openssl-0.9.8l (05 Nov 2009)

  05 Nov 2009; Mike Frysinger <vapier@gentoo.org> +openssl-0.9.8l.ebuild:
  Version bump.

  01 Nov 2009; nixnut <nixnut@gentoo.org> openssl-0.9.8k-r1.ebuild:
  ppc stable #290545

  29 Oct 2009; Christian Faulhammer <fauli@gentoo.org>
  openssl-0.9.8k-r1.ebuild:
  stable x86, bug 290545

  26 Oct 2009; Jeroen Roovers <jer@gentoo.org> openssl-0.9.8k-r1.ebuild:
  Stable for HPPA (bug #290545).

  21 Jun 2009; Fabian Groffen <grobian@gentoo.org>
  files/gentoo.config-0.9.8:
  update gentoo.config script to include support for Prefix arches

  29 May 2009; Mike Frysinger <vapier@gentoo.org>
  -files/openssl-0.9.8b-parallel-build.patch, -openssl-0.9.8h-r1.ebuild,
  -files/openssl-0.9.8h-pkcs12.patch, -openssl-0.9.8i.ebuild:
  Punt old packages vuln to GLSA 200902-02 #271772 by Robert Buchholz.

*openssl-0.9.8k-r1 (29 May 2009)

  29 May 2009; Diego E. Pettenò <flameeyes@gentoo.org>
  +openssl-0.9.8k-r1.ebuild:
  Revision bump with zlib linked in at build-time rather than dlopened. See
  bug #271415.

  09 Apr 2009; Mike Frysinger <vapier@gentoo.org> openssl-0.9.8k.ebuild:
  Make sure we dont accidently create /etc/sandbox.d with 0700 perms #265376
  by Friedrich Oslage.

  02 Apr 2009; Raúl Porcel <armin76@gentoo.org> openssl-0.9.8k.ebuild:
  alpha/arm/ia64/m68k/s390/sh stable wrt #263751

  29 Mar 2009; Markus Meier <maekke@gentoo.org> openssl-0.9.8k.ebuild:
  x86 stable, bug #263751

  26 Mar 2009; Jeroen Roovers <jer@gentoo.org> openssl-0.9.8k.ebuild:
  Stable for HPPA (bug #263751).

  26 Mar 2009; Brent Baude <ranger@gentoo.org> openssl-0.9.8k.ebuild:
  Marking openssl-0.9.8k ppc64 and ppc for bug 263751

  26 Mar 2009; Ferris McCormick <fmccor@gentoo.org> openssl-0.9.8k.ebuild:
  Sparc stable --- security Bug #263751 --- All tests run as they should.

  26 Mar 2009; Richard Freeman <rich0@gentoo.org> openssl-0.9.8k.ebuild:
  amd64 stable - 263751

*openssl-0.9.8k (25 Mar 2009)

  25 Mar 2009; Mike Frysinger <vapier@gentoo.org>
  +files/openssl-0.9.8k-toolchain.patch, +openssl-0.9.8k.ebuild:
  Version bump #263751.

  19 Feb 2009; Raúl Porcel <armin76@gentoo.org>
  +files/openssl-0.9.8j-ia64.patch, openssl-0.9.8j.ebuild:
  Add patch to fix ia64 build failure from the openssl mailing list, thanks
  to Ryan Bebeau for letting me know, ia64 stable

  10 Jan 2009; Markus Meier <maekke@gentoo.org> openssl-0.9.8j.ebuild:
  amd64 stable, bug #251346

  09 Jan 2009; Raúl Porcel <armin76@gentoo.org> openssl-0.9.8j.ebuild:
  alpha/sparc/x86 stable wrt #251346

  08 Jan 2009; Brent Baude <ranger@gentoo.org> openssl-0.9.8j.ebuild:
  Marking openssl-0.9.8j ppc64 and ppc for bug 251346

  08 Jan 2009; Jeroen Roovers <jer@gentoo.org> openssl-0.9.8j.ebuild:
  Stable for HPPA (bug #25134).

*openssl-0.9.8j (08 Jan 2009)

  08 Jan 2009; Peter Alfredsen <loki_val@gentoo.org>
  +files/openssl-0.9.8j-parallel-build.patch, +openssl-0.9.8j.ebuild:
  Bump, bug 254183 and CVE-2008-5077, bug 251346. Parallel build fails
  horribly, forcing -j1. Since we don't install fips, sedded that part out
  of the root makefile to get around a build failure.

  03 Oct 2008; Raúl Porcel <armin76@gentoo.org> openssl-0.9.8h-r1.ebuild:
  alpha/ia64/x86 stable wrt #239301

  02 Oct 2008; Jeroen Roovers <jer@gentoo.org> openssl-0.9.8h-r1.ebuild:
  Stable for HPPA (bug #239301).

  02 Oct 2008; Brent Baude <ranger@gentoo.org> openssl-0.9.8h-r1.ebuild:
  stable ppc, bug 239301

  02 Oct 2008; Brent Baude <ranger@gentoo.org> openssl-0.9.8h-r1.ebuild:
  stable ppc64, bug 239301

  02 Oct 2008; Ferris McCormick <fmccor@gentoo.org>
  openssl-0.9.8h-r1.ebuild:
  Sparc stable --- Bug #239301 --- looks good and all tests successful.

  02 Oct 2008; Thomas Anderson <gentoofan23@gentoo.org>
  openssl-0.9.8h-r1.ebuild:
  stable amd64, bug 239301

*openssl-0.9.8i (02 Oct 2008)

  02 Oct 2008; Mike Frysinger <vapier@gentoo.org> +openssl-0.9.8i.ebuild:
  Version bump #239030 by Lars (Polynomial-C).

*openssl-0.9.8h-r1 (21 Jun 2008)

  21 Jun 2008; Mike Frysinger <vapier@gentoo.org>
  +files/openssl-0.9.8h-ldflags.patch, +files/openssl-0.9.8h-pkcs12.patch,
  +openssl-0.9.8h-r1.ebuild:
  Respect LDFLAGS #181438 by Arfrever Frehtes Taifersar Arahesis and add fix
  from upstream for PKCS12 troubles #224843 by Per Pomsel.

  05 Jun 2008; Tobias Scherbaum <dertobi123@gentoo.org>
  openssl-0.9.8g-r2.ebuild:
  ppc stable, bug #223429

  03 Jun 2008; Steve Dibb <beandog@gentoo.org> openssl-0.9.8g-r2.ebuild:
  amd64 stable, security bug 223429

  02 Jun 2008; Raúl Porcel <armin76@gentoo.org> openssl-0.9.8g-r2.ebuild:
  alpha/ia64/sparc stable wrt security #223429

  31 May 2008; Markus Rothe <corsair@gentoo.org> openssl-0.9.8g-r2.ebuild:
  Stable on ppc64; bug #223429

  31 May 2008; Jeroen Roovers <jer@gentoo.org> openssl-0.9.8g-r2.ebuild:
  Stable for HPPA (bug #223429).

  31 May 2008; Christian Faulhammer <opfer@gentoo.org>
  openssl-0.9.8g-r2.ebuild:
  stable x86, security bug 223429

*openssl-0.9.8g-r2 (30 May 2008)

  30 May 2008; Doug Goldstein <cardoe@gentoo.org>
  +files/openssl-0.9.8g-CVE-2008-0891.patch,
  +files/openssl-0.9.8g-CVE-2008-1672.patch, +openssl-0.9.8g-r2.ebuild:
  Security fix for CVE-2008-0891 & CVE-2008-1672. bug #223429

*openssl-0.9.8h (28 May 2008)

  28 May 2008; Mike Frysinger <vapier@gentoo.org> +openssl-0.9.8h.ebuild:
  Version bump.

  16 May 2008; Ulrich Mueller <ulm@gentoo.org> openssl-0.9.8g-r1.ebuild:
  Don't install bogus Emacs support file, bug 222337.

*openssl-0.9.8g-r1 (25 Mar 2008)

  25 Mar 2008; Doug Goldstein <cardoe@gentoo.org>
  +files/openssl-0.9.8g-sslv3-no-tlsext.patch, +openssl-0.9.8g-r1.ebuild:
  Patch from OpenSSL's bug tracker not to send TLS Extensions on SSLv3 only
  connections, while not explicitly against the SSL spec, several SSL
  implementations can not handle it. Patch by Kaspar Brand
  <ossl-rt@velox.ch> from http://rt.openssl.org/Ticket/Display.html?id=1629.
  Resolves bug #198914

  24 Dec 2007; Mike Frysinger <vapier@gentoo.org> openssl-0.9.8g.ebuild:
  Dont force src_test any longer as things seem to be sane.

  24 Nov 2007; Brent Baude <ranger@gentoo.org> openssl-0.9.8g.ebuild:
  Keywording openssl-0.9.8g ppc for bug 198370

  19 Nov 2007; Joshua Kinard <kumba@gentoo.org> openssl-0.9.8g.ebuild:
  Stable on mips, per #198370.

  16 Nov 2007; Doug Goldstein <cardoe@gentoo.org> openssl-0.9.8g.ebuild:
  change depend to mit-krb5 since openssl's Configure script specifically
  states they don't support building against heimdal and it will break. Which
  results in a die during the ebuild

  12 Nov 2007; Mike Frysinger <vapier@gentoo.org> openssl-0.9.8g.ebuild:
  Filter out $APPS from the environment #197996.

  09 Nov 2007; Daniel Gryniewicz <dang@gentoo.org> openssl-0.9.8g.ebuild:
  Marked stable on amd64 for bug #198370

  08 Nov 2007; Jeroen Roovers <jer@gentoo.org> openssl-0.9.8g.ebuild:
  Stable for HPPA (bug #198370).

  07 Nov 2007; Markus Rothe <corsair@gentoo.org> openssl-0.9.8g.ebuild:
  Stable on ppc64; bug #198370

  07 Nov 2007; Raúl Porcel <armin76@gentoo.org> openssl-0.9.8g.ebuild:
  alpha/ia64 stable wrt #198370

  07 Nov 2007; Jurek Bartuszek <jurek@gentoo.org> openssl-0.9.8g.ebuild:
  x86 stable (bug #198370)

  07 Nov 2007; Ferris McCormick <fmccor@gentoo.org> openssl-0.9.8g.ebuild:
  Sparc stable, Bug #198370; early, but all tests check out and can't
  duplicate reported problems.

*openssl-0.9.8g (20 Oct 2007)

  20 Oct 2007; <vapier@gentoo.org> +openssl-0.9.8g.ebuild:
  Version bump. Enable tlsext #196191 by Hanno Boeck. Fix double test running
  #196149 by Dustin Surawicz.

  16 Oct 2007; Tobias Scherbaum <dertobi123@gentoo.org>
  openssl-0.9.8f.ebuild:
  ppc stable, bug #195634

  16 Oct 2007; Christoph Mende <angelos@gentoo.org> openssl-0.9.8f.ebuild:
  Stable on amd64 wrt bug #195634

  14 Oct 2007; Jeroen Roovers <jer@gentoo.org> openssl-0.9.8f.ebuild:
  Stable for HPPA (bug #195634).

  14 Oct 2007; Markus Rothe <corsair@gentoo.org> openssl-0.9.8f.ebuild:
  Stable on ppc64; bug #195634

  14 Oct 2007; Raúl Porcel <armin76@gentoo.org> openssl-0.9.8f.ebuild:
  alpha/ia64/sparc stable wrt security #195634

  13 Oct 2007; Dawid Węgliński <cla@gentoo.org> openssl-0.9.8f.ebuild:
  Stable on x86 wrt bug #195634

*openssl-0.9.8f (13 Oct 2007)

  13 Oct 2007; Mike Frysinger <vapier@gentoo.org>
  +files/openssl-0.9.8f-fix-version.patch, +openssl-0.9.8f.ebuild:
  Version bump.

  11 Oct 2007; Mike Frysinger <vapier@gentoo.org>
  +files/openssl-0.9.8e-padlock-O0.patch, openssl-0.9.8e-r4.ebuild:
  Fix from upstream for building with -O0 #185104.

*openssl-0.9.8e-r4 (07 Oct 2007)

  07 Oct 2007; Mike Frysinger <vapier@gentoo.org> +openssl-0.9.8e-r4.ebuild:
  Enable camellia and mdc2 regardless of USE=bindist #194946 by Justin Foote.
  Flesh out support for USE="gmp kerberos zlib".

  03 Oct 2007; Chris Gianelloni <wolf31o2@gentoo.org>
  openssl-0.9.8e-r3.ebuild:
  Stable on amd64 wrt bug #194039.

  01 Oct 2007; Jeroen Roovers <jer@gentoo.org> openssl-0.9.8e-r3.ebuild:
  Stable for HPPA (bug #194039).

  01 Oct 2007; Roy Marples <uberlord@gentoo.org>
  +files/openssl-0.9.8e-bsd-sparc64.patch, openssl-0.9.8e-r3.ebuild:
  Love the ~sparc-fbsd keyword.

  01 Oct 2007; Raúl Porcel <armin76@gentoo.org> openssl-0.9.8e-r3.ebuild:
  alpha/ia64/sparc stable wrt security #194039

  01 Oct 2007; Joe Peterson <lavajoe@gentoo.org> openssl-0.9.8e-r3.ebuild:
  Add ~x86-fbsd keyword

  01 Oct 2007; Mike Frysinger <vapier@gentoo.org> openssl-0.9.8e-r3.ebuild:
  Tweak how we do the manpage renaming so that it is POSIX friendly #194335 by
  Joe Peterson.

  01 Oct 2007; Joshua Kinard <kumba@gentoo.org> openssl-0.9.8e-r3.ebuild:
  Stable on mips, per #194039.

  30 Sep 2007; Tobias Scherbaum <dertobi123@gentoo.org>
  openssl-0.9.8e-r3.ebuild:
  ppc stable, bug #194039

  30 Sep 2007; Markus Meier <maekke@gentoo.org> openssl-0.9.8e-r3.ebuild:
  x86 stable, security bug #194039

  30 Sep 2007; Mike Frysinger <vapier@gentoo.org> openssl-0.9.8e-r3.ebuild:
  We dont actually need the hppa patch anymore as exit() in awk at first match
  makes the head useless.

  30 Sep 2007; Mike Frysinger <vapier@gentoo.org>
  +files/openssl-0.9.8e-make.patch, openssl-0.9.8e-r3.ebuild:
  Fix building on Gentoo/BSD setups where `make` != `$MAKE` #146316.

  30 Sep 2007; Markus Rothe <corsair@gentoo.org> openssl-0.9.8e-r3.ebuild:
  Stable on ppc64; bug #194039

*openssl-0.9.8e-r3 (30 Sep 2007)

  30 Sep 2007; Mike Frysinger <vapier@gentoo.org>
  +files/openssl-0.9.8e-CVE-2007-5135.patch, +openssl-0.9.8e-r3.ebuild:
  Add fix from upstream for CVE-2007-5135 #194039.

  29 Aug 2007; Markus Rothe <corsair@gentoo.org> openssl-0.9.8e-r2.ebuild:
  Stable on ppc64; bug #188799

  28 Aug 2007; Christoph Mende <angelos@gentoo.org>
  openssl-0.9.8e-r2.ebuild:
  Stable on amd64 wrt security bug #188799

  28 Aug 2007; Tobias Scherbaum <dertobi123@gentoo.org>
  openssl-0.9.8e-r2.ebuild:
  ppc stable, bug #188799

  27 Aug 2007; Jeroen Roovers <jer@gentoo.org> openssl-0.9.8e-r2.ebuild:
  Stable for HPPA (bug #188799).

  27 Aug 2007; Gustavo Zacarias <gustavoz@gentoo.org>
  openssl-0.9.8e-r2.ebuild:
  Stable on sparc wrt security #188799

  25 Aug 2007; Raúl Porcel <armin76@gentoo.org> openssl-0.9.8e-r2.ebuild:
  alpha/ia64/x86 stable wrt security #188799

*openssl-0.9.8e-r2 (25 Aug 2007)

  25 Aug 2007; Mike Frysinger <vapier@gentoo.org>
  +files/openssl-0.9.8e-CVE-2007-3108.patch, +openssl-0.9.8e-r2.ebuild:
  Add fix from upstream for CVE-2007-3108 #188799.

*openssl-0.9.8e-r1 (22 Jun 2007)

  22 Jun 2007; Mike Frysinger <vapier@gentoo.org>
  +files/openssl-0.9.8-evp-key-len.patch, +files/openssl-0.9.8-gcc42.patch,
  +openssl-0.9.8e-r1.ebuild:
  Fix from upstream for encfs/ssh troubles #168750 and fix from PLD Linux for
  gcc-4.2 troubles #158324.

  22 Apr 2007; Bryan Østergaard <kloeri@gentoo.org> openssl-0.9.8d.ebuild:
  Stable on Mips.

*openssl-0.9.8e (27 Feb 2007)
*openssl-0.9.7m (27 Feb 2007)

  27 Feb 2007; Mike Frysinger <vapier@gentoo.org> +openssl-0.9.7m.ebuild,
  +openssl-0.9.8e.ebuild:
  Version bump #168357 by Michael Huber.

  04 Nov 2006; Ilya A. Volynets-Evenbakh <iluxa@gentoo.org>
  openssl-0.9.8d.ebuild:
  0.9.8 builds on mips now, so add mips back to keywords

  03 Nov 2006; Ilya A. Volynets-Evenbakh <iluxa@gentoo.org>
  openssl-0.9.7l.ebuild:
  Stabilize on mips

  23 Oct 2006; Joslwah <joslwah@gentoo.org> openssl-0.9.8d.ebuild:
  Mark ppc64 stable.

  18 Oct 2006; Roy Marples <uberlord@gentoo.org> openssl-0.9.7l.ebuild:
  Added ~sparc-fbsd keyword.

  14 Oct 2006; Aron Griffis <agriffis@gentoo.org> openssl-0.9.7l.ebuild,
  openssl-0.9.8d.ebuild:
  Mark 0.9.8d 0.9.7l stable on ia64. #145510

  14 Oct 2006; Jason Wever <weeve@gentoo.org> openssl-0.9.8d.ebuild:
  Added fix from bug #149958 for ppc64.

  01 Oct 2006; Mike Frysinger <vapier@gentoo.org>
  +files/openssl-0.9.8-makedepend.patch, openssl-0.9.7l.ebuild,
  openssl-0.9.8d.ebuild:
  Fix up depend system to use gcc to generate deps #149583.

  01 Oct 2006; Mike Frysinger <vapier@gentoo.org> openssl-0.9.8d.ebuild:
  Respect LDFLAGS #149676 by Donnie Berkholz.

  30 Sep 2006; Fernando J. Pereda <ferdy@gentoo.org> openssl-0.9.7l.ebuild,
  openssl-0.9.8d.ebuild:
  Stable on alpha as per security bug #145510

  28 Sep 2006; Tobias Scherbaum <dertobi123@gentoo.org>
  openssl-0.9.7l.ebuild, openssl-0.9.8d.ebuild:
  ppc stable, bug #145510

  28 Sep 2006; Gustavo Zacarias <gustavoz@gentoo.org> openssl-0.9.7l.ebuild,
  openssl-0.9.8d.ebuild:
  Stable on hppa wrt security #145510

  28 Sep 2006; Jason Wever <weeve@gentoo.org> openssl-0.9.7l.ebuild,
  openssl-0.9.8d.ebuild:
  Stable on SPARC wrt security bug #145510.

  28 Sep 2006; Chris Gianelloni <wolf31o2@gentoo.org> openssl-0.9.7l.ebuild,
  openssl-0.9.8d.ebuild:
  Stable on amd64/x86 wrt bug #145510.

  28 Sep 2006; Brent Baude <ranger@gentoo.org> openssl-0.9.7l.ebuild:
  Marking openssl-0.9.7l ppc64 stable for sec bug #145510

*openssl-0.9.8d (28 Sep 2006)
*openssl-0.9.7l (28 Sep 2006)

  28 Sep 2006; Mike Frysinger <vapier@gentoo.org> +openssl-0.9.7l.ebuild,
  +openssl-0.9.8d.ebuild:
  Version bump for security #145510 and #148654.

  24 Sep 2006; Michael Hanselmann <hansmi@gentoo.org>
  openssl-0.9.8c-r2.ebuild:
  Stable on ppc.

*openssl-0.9.8c-r2 (18 Sep 2006)

  18 Sep 2006; Mike Frysinger <vapier@gentoo.org> files/gentoo.config-0.9.8,
  -openssl-0.9.8c-r1.ebuild, +openssl-0.9.8c-r2.ebuild:
  Force people to re-emerge openssl on i686 so that they get the optimized
  version. You will probably have to re-emerge openssh/etc... if you
  experience troubles. Openssl sucks sometimes.

*openssl-0.9.8c-r1 (16 Sep 2006)

  16 Sep 2006; Mike Frysinger <vapier@gentoo.org> -openssl-0.9.8c.ebuild,
  +openssl-0.9.8c-r1.ebuild:
  Remove USE=sse2 for now as it breaks ABI #147758 by Andrew Stimpson and
  revert asm targets for i686.

  15 Sep 2006; Mike Frysinger <vapier@gentoo.org> files/gentoo.config-0.9.8,
  openssl-0.9.8c.ebuild:
  Add support for USE=sse2 and reclassify i686/sparc7 targets #147551.

  07 Sep 2006; Gustavo Zacarias <gustavoz@gentoo.org> openssl-0.9.7k.ebuild:
  Stable on hppa wrt security #146375

  07 Sep 2006; Joshua Kinard <kumba@gentoo.org> openssl-0.9.8b.ebuild,
  openssl-0.9.8c.ebuild:
  Remask openssl-0.9.8 on mips due to changes upstream which need resolving.

  06 Sep 2006; Ilya A. Volynets-Evenbakh <iluxa@gentoo.org>
  openssl-0.9.8c.ebuild:
  Don't run src_test when test is not in FEATURES.

  06 Sep 2006; Markus Rothe <corsair@gentoo.org> openssl-0.9.7k.ebuild,
  openssl-0.9.8c.ebuild:
  0.9.8c ~ppc64 again. fails test with gcc-3.4. marked 0.9.7k stable on ppc64

  06 Sep 2006; Joshua Jackson <tsunam@gentoo.org> openssl-0.9.7k.ebuild,
  openssl-0.9.8c.ebuild:
  stable x86; security bug #146375

  05 Sep 2006; Thomas Cort <tcort@gentoo.org> openssl-0.9.8c.ebuild:
  Stable on alpha wrt security Bug #146375.

  05 Sep 2006; Markus Rothe <corsair@gentoo.org> openssl-0.9.8c.ebuild:
  Stable on ppc64; bug #146375

  05 Sep 2006; Jason Wever <weeve@gentoo.org> openssl-0.9.7k.ebuild:
  Stable on SPARC wrt security bug #146375.

  05 Sep 2006; Mike Doty <kingtaco@gentoo.org> openssl-0.9.8c.ebuild:
  amd64 stable, bug 146375

  05 Sep 2006; Joseph Jezak <josejx@gentoo.org> openssl-0.9.7k.ebuild:
  Marked ppc stable for bug #146375.

*openssl-0.9.8c (05 Sep 2006)
*openssl-0.9.7k (05 Sep 2006)

  05 Sep 2006; Mike Frysinger <vapier@gentoo.org> +openssl-0.9.7k.ebuild,
  +openssl-0.9.8c.ebuild:
  Version bump #146375 by Sune Kloppenborg Jeppesen.

  05 Sep 2006; Joshua Kinard <kumba@gentoo.org> openssl-0.9.8b.ebuild:
  Added ~mips to KEYWORDS.

  03 Sep 2006; Joshua Jackson <tsunam@gentoo.org> openssl-0.9.8b.ebuild:
  Added ~x86 as per bug 145605

  02 Sep 2006; Michael Sterrett <mr_bones_@gentoo.org>
  openssl-0.9.7j.ebuild:
  keepdir instead of dodir for empty directory

  02 Sep 2006; <nixnut@gentoo.org> openssl-0.9.8b.ebuild:
  ~ppc added. bug 145605

  01 Sep 2006; Jason Wever <weeve@gentoo.org> openssl-0.9.8b.ebuild:
  Added ~sparc keyword wrt bug #145605.

  31 Aug 2006; <blubb@gentoo.org> openssl-0.9.8b.ebuild:
  marked ~amd64

  30 Aug 2006; Markus Rothe <corsair@gentoo.org> openssl-0.9.8b.ebuild:
  Added ~ppc64; bug #145605

  09 Jul 2006; Joshua Kinard <kumba@gentoo.org> openssl-0.9.7j.ebuild:
  Marked stable on mips.

  06 Jul 2006; <solar@gentoo.org> openssl-0.9.7i.ebuild,
  openssl-0.9.7j.ebuild:
  - openssl needs tc- functions exported for the install phase so we dont try
  to install for x86 when compiling for ppc

  01 Jul 2006; Jason Wever <weeve@gentoo.org> openssl-0.9.7j.ebuild:
  Fixed typo when I added filtering for -mv8 CFLAG, solves bug #138583.

  30 Jun 2006; Jason Wever <weeve@gentoo.org> openssl-0.9.7j.ebuild:
  Filtered out the assumed -mv8 use flag as it was removed in >=gcc-4.0.0

  28 Jun 2006; Joshua Jackson <tsunam@gentoo.org> openssl-0.9.7j.ebuild:
  Stable x86; bug #137143

  27 Jun 2006; Thomas Cort <tcort@gentoo.org> openssl-0.9.7j.ebuild:
  Stable on alpha wrt Bug #137143.

  25 Jun 2006; Guy Martin <gmsoft@gentoo.org> openssl-0.9.7j.ebuild:
  Stable on hppa.

  25 Jun 2006; Guy Martin <gmsoft@gentoo.org> ChangeLog:
  Stable on hppa.

  21 Jun 2006; Gustavo Zacarias <gustavoz@gentoo.org> openssl-0.9.7j.ebuild:
  Stable on sparc wrt #137143

  21 Jun 2006; <nixnut@gentoo.org> openssl-0.9.7j.ebuild:
  Stable on ppc; bug #137143

  20 Jun 2006; Simon Stelling <blubb@gentoo.org> openssl-0.9.7j.ebuild:
  stable on amd64

  18 Jun 2006; Markus Rothe <corsair@gentoo.org> openssl-0.9.7j.ebuild:
  Stable on ppc64; bug #137143

  14 May 2006; Mike Frysinger <vapier@gentoo.org>
  +files/openssl-0.9.7j-doc-updates.patch,
  +files/openssl-0.9.8b-doc-updates.patch, openssl-0.9.7i.ebuild,
  openssl-0.9.7j.ebuild, openssl-0.9.8a.ebuild, openssl-0.9.8b.ebuild:
  Dont run src_test twice and namespace common manpages to prevent conflicts
  with other packages #132830 by Diego Pettenò.

*openssl-0.9.8b (05 May 2006)

  05 May 2006; Mike Frysinger <vapier@gentoo.org>
  +files/openssl-0.9.8b-parallel-build.patch, +openssl-0.9.8b.ebuild:
  Version bump.

*openssl-0.9.7j (05 May 2006)

  05 May 2006; Mike Frysinger <vapier@gentoo.org> +openssl-0.9.7j.ebuild:
  Version bump.

  27 Apr 2006; Marien Zwart <marienz@gentoo.org> Manifest:
  Fixing SHA256 digest, pass four

  19 Apr 2006; Seemant Kulleen <seemant@gentoo.org> ChangeLog:
  fix the Manifest -- got hit by this on a few different build boxes

  19 Apr 2006; Mike Frysinger <vapier@gentoo.org>
  +files/openssl-0.9.7i-m68k.patch, openssl-0.9.7i.ebuild:
  Add support for m68k shared libs #113807 by Kolbjørn Barmen.

  30 Mar 2006; Diego Pettenò <flameeyes@gentoo.org> openssl-0.9.7i.ebuild:
  Add ~x86-fbsd keyword.

  09 Mar 2006; Mike Frysinger <vapier@gentoo.org> openssl-0.9.7e-r2.ebuild,
  openssl-0.9.7g-r1.ebuild, openssl-0.9.7h.ebuild, openssl-0.9.7i.ebuild,
  openssl-0.9.8a.ebuild:
  Use revdep-rebuild --library instead of revdep-rebuild --soname #125506 by
  Carsten Lohrke.

  15 Feb 2006; Markus Rothe <corsair@gentoo.org> openssl-0.9.7i.ebuild:
  Stable on ppc64; bug #122071

  13 Feb 2006; Mark Loeser <halcy0n@gentoo.org> openssl-0.9.7e-r2.ebuild:
  Fix leading spaces

  12 Feb 2006; Mike Frysinger <vapier@gentoo.org> openssl-0.9.7i.ebuild,
  openssl-0.9.8a.ebuild:
  Run sed in LC_ALL=C in order to fix [a-z] in funky locales #122554 by Erkki
  Eilonen.

  09 Feb 2006; Simon Stelling <blubb@gentoo.org> openssl-0.9.7e-r2.ebuild,
  openssl-0.9.7i.ebuild:
  stable on amd64

  09 Feb 2006; Joshua Kinard <kumba@gentoo.org> openssl-0.9.7i.ebuild:
  Marked stable on mips.

  09 Feb 2006; Aron Griffis <agriffis@gentoo.org> openssl-0.9.7i.ebuild:
  Mark 0.9.7i stable on alpha

  08 Feb 2006; Gustavo Zacarias <gustavoz@gentoo.org> openssl-0.9.7i.ebuild:
  Stable on sparc wrt #122071

  08 Feb 2006; <nixnut@gentoo.org> openssl-0.9.7i.ebuild:
  Stable on ppc. bug 122071

  08 Feb 2006; Saleem Abdulrasool <compnerd@gentoo.org>
  openssl-0.9.7i.ebuild:
  stable on x86 as per bug #122071

  06 Jan 2006; Mike Frysinger <vapier@gentoo.org> openssl-0.9.6m.ebuild,
  openssl-0.9.7e-r2.ebuild, openssl-0.9.7g-r1.ebuild, openssl-0.9.7h.ebuild,
  openssl-0.9.7i.ebuild, openssl-0.9.8a.ebuild:
  Add ca-certificates for most systems.

  13 Dec 2005; Markus Rothe <corsair@gentoo.org> openssl-0.9.7i.ebuild:
  Added ~ppc64 keyword; bug #114592

  09 Nov 2005; <dang@gentoo.org> openssl-0.9.7i.ebuild:
  Add back in ~amd64.  It is ABI compat as far as I can tell

  26 Oct 2005; Mike Frysinger <vapier@gentoo.org>
  +files/gentoo.config-0.9.8, +files/openssl-0.9.8-toolchain.patch,
  openssl-0.9.8a.ebuild:
  Clean up ebuild and fix building on x86 #110457 by Justin Guyett.

*openssl-0.9.7i (16 Oct 2005)

  16 Oct 2005; Mike Frysinger <vapier@gentoo.org> +openssl-0.9.7i.ebuild:
  Version bump.

*openssl-0.9.8a (12 Oct 2005)
*openssl-0.9.7h (12 Oct 2005)

  12 Oct 2005; Mike Frysinger <vapier@gentoo.org>
  +files/openssl-0.9.7h-ABI-compat.patch, +openssl-0.9.7h.ebuild,
  +files/openssl-0.9.8-hppa-fix-detection.patch, +openssl-0.9.8a.ebuild:
  Version bumpage.

*openssl-0.9.8-r1 (12 Oct 2005)
*openssl-0.9.7g-r1 (12 Oct 2005)
*openssl-0.9.7e-r2 (12 Oct 2005)

  12 Oct 2005; Mike Frysinger <vapier@gentoo.org>
  +files/openssl-0.9.7-CAN-2005-2969.patch,
  +files/openssl-0.9.8-CAN-2005-2969.patch, -openssl-0.9.7d-r2.ebuild,
  +openssl-0.9.7e-r2.ebuild, +openssl-0.9.7g-r1.ebuild,
  +openssl-0.9.8-r1.ebuild:
  Add fixes for CAN-2005-2969 #108852.

  02 Sep 2005; MATSUU Takuto <matsuu@gentoo.org>
  +files/openssl-0.9.7e-superh.patch, openssl-0.9.7e-r1.ebuild:
  Added patch to support sh.

  18 Aug 2005; Mike Frysinger <vapier@gentoo.org> openssl-0.9.7e-r1.ebuild,
  openssl-0.9.7g.ebuild, openssl-0.9.8.ebuild:
  Add support for USE=zlib #79179 by Stefan Riemer.

  13 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
  files/gentoo.config-0.9.7g, +files/openssl-0.9.7g-amd64-fbsd.patch,
  openssl-0.9.7g.ebuild:
  Added patch to support amd64-fbsd target. Updated config script.

  12 Aug 2005; <stkn@gentoo.org> +files/openssl-0.9.7c-tempfile.patch:
  Readding missing patch.

  12 Aug 2005; Caleb Tennis <caleb@gentoo.org> -openssl-0.9.7e.ebuild:
  remove stale version

  12 Aug 2005; Caleb Tennis <caleb@gentoo.org>
  -files/openssl-0.9.7c-gentoo.diff, -files/openssl-0.9.7c-tempfile.patch,
  -openssl-0.9.7c-r1.ebuild:
  remove old version that was package.masked for security reasons

  07 Aug 2005; MATSUU Takuto <matsuu@gentoo.org> files/gentoo.config-0.9.7g,
  files/openssl-0.9.7g-superh.patch:
  Fixed compile issue on sh. Bug 98418.

  08 Jul 2005; Hardave Riar <hardave@gentoo.org> openssl-0.9.7g.ebuild:
  Marked ~mips, bug #92076.

  06 Jul 2005; Martin Schlemmer <azarah@gentoo.org> openssl-0.9.8.ebuild:
  Remove custom config stuff as asked in gentoo.config-0.9.7g - bug #98072
  responsible.

  05 Jul 2005; Martin Schlemmer <azarah@gentoo.org>
  openssl-0.9.7c-r1.ebuild, openssl-0.9.7d-r2.ebuild, openssl-0.9.7e.ebuild,
  openssl-0.9.7e-r1.ebuild, openssl-0.9.7g.ebuild:
  Fix creating certificates cannot find libcrypt/libssl on new install.

*openssl-0.9.8 (05 Jul 2005)

  05 Jul 2005; Martin Schlemmer <azarah@gentoo.org>
  +files/openssl-0.9.8-make-engines-dir.patch,
  +files/openssl-0.9.8-parallel-build.patch,
  +files/openssl-0.9.8-ppc64.patch, +openssl-0.9.8.ebuild:
  Update version. Fix parallel build. Fix new engines not creating install
  dir. Fix creating certificates cannot find libcrypt/libssl on new install.

  04 Jul 2005; Hardave Riar <hardave@gentoo.org> openssl-0.9.7e-r1.ebuild:
  Stable on mips.

  02 Jul 2005; Bryan Østergaard <kloeri@gentoo.org>
  openssl-0.9.7e-r1.ebuild:
  Stable on alpha.

  17 Jun 2005; Michael Hanselmann <hansmi@gentoo.org>
  openssl-0.9.7e-r1.ebuild:
  Stable on ppc.

  13 Jun 2005; Diego Pettenò <flameeyes@gentoo.org>
  files/gentoo.config-0.9.7g:
  Unbreak uclibc cross-compilation and beautify the script using a case
  instead of a series of ifs.

  13 Jun 2005; Diego Pettenò <flameeyes@gentoo.org>
  files/gentoo.config-0.9.7g, openssl-0.9.7g.ebuild:
  Fixed the gentoo.config script to be aware of different OS (in this case,
  FreeBSD), and added an output to tell which target is selected.

  29 May 2005; <solar@gentoo.org> openssl-0.9.7d-r2.ebuild,
  openssl-0.9.7e.ebuild:
  echangelog - update package to use libc expanded variable elibc_uclibc vs
  uclibc so USE=-* works

  26 May 2005; Markus Rothe <corsair@gentoo.org> openssl-0.9.7e-r1.ebuild:
  Stable on ppc64

  11 May 2005; Gustavo Zacarias <gustavoz@gentoo.org> openssl-0.9.7g.ebuild:
  Back to ~sparc wrt #92075

  10 May 2005; Mike Frysinger <vapier@gentoo.org>
  +files/openssl-0.9.7g-ABI-compat.patch, openssl-0.9.7g.ebuild:
  Add patch to fix amd64 ABI breakage #86358. Thanks to Daniel Gryniewicz for
  tracking this down.

  10 May 2005; Mike Frysinger <vapier@gentoo.org>
  +files/openssl-0.9.7e-ptr-casting.patch,
  +files/openssl-0.9.7e-x86_64-bn-asm.patch,
  +files/openssl-0.9.7g-mem-clr-ptr-cast.patch,
  +files/openssl-0.9.7g-ptr-casting.patch, openssl-0.9.7e-r1.ebuild,
  openssl-0.9.7g.ebuild:
  Some misc pointer/asm fixes from upstream.

  09 May 2005; Mike Frysinger <vapier@gentoo.org>
  +files/gentoo.config-0.9.7g, openssl-0.9.7g.ebuild:
  Add cross-compiling support #85344.

  02 May 2005; Gustavo Zacarias <gustavoz@gentoo.org>
  openssl-0.9.7e-r1.ebuild:
  Stable on sparc

*openssl-0.9.7g (01 May 2005)

  01 May 2005; Mike Frysinger <vapier@gentoo.org>
  +files/openssl-0.9.7g-no-fips.patch, +openssl-0.9.7g.ebuild:
  Version bump #86358.

  20 Apr 2005; <solar@gentoo.org> openssl-0.9.7e-r1.ebuild:
  - clean out patent or otherwise encumbered code when USE=bindist is set

  08 Apr 2005; Markus Rothe <corsair@gentoo.org> openssl-0.9.7e.ebuild:
  Stable on ppc64

  29 Mar 2005; Mamoru KOMACHI <usata@gentoo.org> openssl-0.9.7d.ebuild,
  openssl-0.9.7d-r1.ebuild, openssl-0.9.7d-r2.ebuild, openssl-0.9.7e.ebuild,
  openssl-0.9.7e-r1.ebuild:
  Install elisp file only if emacs USE flag is set; bug #85944.

  22 Mar 2005; Jeremy Huddleston <eradicator@gentoo.org>
  openssl-0.9.7e-r1.ebuild:
  Use correct toolchain CC.

  13 Mar 2005; Mike Frysinger <vapier@gentoo.org>
  +files/openssl-0.9.7e-no-fips.patch, openssl-0.9.7e-r1.ebuild:
  Dont install the fips stuff #80878 by Kaiting Chen.

  02 Mar 2005; Daniel Goller <morfic@gentoo.org> openssl-0.9.7e.ebuild:
  Stable on ppc

  14 Feb 2005; Gustavo Zacarias <gustavoz@gentoo.org> openssl-0.9.7e.ebuild:
  Stable on sparc

*openssl-0.9.7e-r1 (14 Feb 2005)

  14 Feb 2005; Robin H. Johnson <robbat2@gentoo.org>
  +openssl-0.9.7e-r1.ebuild:
  Bug #69550, make sure openssl is built correctly to work with unstripped
  /lib/ld.so.

  07 Feb 2005; Bryan Østergaard <kloeri@gentoo.org> openssl-0.9.7e.ebuild:
  Stable on alpha.

  13 Dec 2004; Jeremy Huddleston <eradicator@gentoo.org>
  openssl-0.9.7d-r2.ebuild, openssl-0.9.7e.ebuild:
  Added support for sparc64-multilib.

*openssl-0.9.7e (12 Dec 2004)

  12 Dec 2004; Mike Frysinger <vapier@gentoo.org>
  +files/openssl-0.9.7-alpha-default-gcc.patch,
  +files/openssl-0.9.7-arm-big-endian.patch,
  +files/openssl-0.9.7-hppa-fix-detection.patch,
  +files/openssl-0.9.7e-gentoo.patch, +openssl-0.9.7e.ebuild:
  Version bump #68983 by Lars. Also cleanup the sed-scripts to be patches and
  add an arm big endian fix #74054.

  07 Nov 2004; Joshua Kinard <kumba@gentoo.org> openssl-0.9.7d-r2.ebuild:
  Marked stable on mips.

  05 Nov 2004; Jason Wever <weeve@gentoo.org> openssl-0.9.7d-r2.ebuild:
  Stable on sparc wrt security bug #68407.

  06 Nov 2004; Bryan Østergaard <kloeri@gentoo.org>
  openssl-0.9.7d-r2.ebuild:
  Stable on alpha, bug 68407.

  05 Nov 2004; Karol Wojtaszek <sekretarz@gentoo.org>
  openssl-0.9.7d-r2.ebuild:
  Stable on amd64

  05 Nov 2004; Markus Rothe <corsair@gentoo.org> openssl-0.9.7d-r2.ebuild:
  Stable on ppc64; bug #68407

*openssl-0.9.7d-r2 (06 Nov 2004)

  06 Nov 2004; Daniel Black <dragonheart@gentoo.org>
  +files/openssl-0.9.7c-tempfile.patch, +openssl-0.9.7d-r2.ebuild:
  Fixed insecure temp file creation as per bug #68407. stable on x86 and ppc

  21 Sep 2004; Michael Sterrett <mr_bones_@gentoo.org>
  openssl-0.9.7d-r1.ebuild:
  error check sed

  01 Sep 2004; Travis Tilley <lv@gentoo.org> openssl-0.9.7d-r1.ebuild:
  made openssl use $(get_libdir) to optionally install to lib64/lib32

  19 Jul 2004; Mike Frysinger <vapier@gentoo.org> openssl-0.9.7d-r1.ebuild:
  Move `make test` out of src_compile() and into src_test() where it should be.

  13 Jul 2004; Daniel Ahlberg <aliz@gentoo.org> openssl-0.9.7d-r1.ebuild:
  Change back to single make.
  Added diffutils to DEPEND, closing #55560.

  01 Jul 2004; Jeremy Huddleston <eradicator@gentoo.org>
  openssl-0.9.6m.ebuild, openssl-0.9.7c-r1.ebuild, openssl-0.9.7c.ebuild,
  openssl-0.9.7d-r1.ebuild, openssl-0.9.7d.ebuild:
  virtual/glibc -> virtual/libc

  28 Jun 2004; <solar@gentoo.org> openssl-0.9.7d-r1.ebuild:
  added missing uclibc to IUSE

  25 Jun 2004; <solar@gentoo.org> openssl-0.9.7d-r1.ebuild:
  uclibc update

  15 Jun 2004; Daniel Ahlberg <aliz@gentoo.org> openssl-0.9.7d-r1.ebuild,
  openssl-0.9.7d.ebuild:
  Fall back to single thread make if parallell fails. Hopefully closing #48475.

  15 Jun 2004; <solar@gentoo.org> openssl-0.9.7d.ebuild:
  remove dep of bc when uclibc is used

*openssl-0.9.7d-r1 (14 Jun 2004)

  14 Jun 2004; Daniel Ahlberg <aliz@gentoo.org> openssl-0.9.7d-r1.ebuild,
  Add smime patch from CVS, closing #50440.

  06 Jun 2004; Aron Griffis <agriffis@gentoo.org> openssl-0.9.7c-r1.ebuild,
  openssl-0.9.7d.ebuild:
  Fix use invocation

  16 May 2004; Luca Barbato <lu_zero@gentoo.org> openssl-0.9.7d.ebuild:
  Minor workaround for ppc and ppc64 gcc-3.3.3 and gcc-3.4

  10 May 2004; Tom Gall <tgall@gentoo.org> openssl-0.9.7d.ebuild:
  fix for ppc64, bug #50637

  28 Apr 2004; Tom Gall <tgall@gentoo.org> openssl-0.9.7d.ebuild:
  patch fix ppc64, bug #49102

  25 Apr 2004; Daniel Ahlberg <aliz@gentoo.org> openssl-0.9.7d.ebuild:
  Install emacs files, from #47854.

  20 Apr 2004; Tom Gall <tgall@gentoo.org> openssl-0.9.7d.ebuild:
  fix for ppc64 support see #45463

  30 Mar 2004; Daniel Ahlberg <aliz@gentoo.org> openssl-0.9.7d.ebuild:
  + use gcc eclass instead of gcc-dumpversion.
  + filter -funroll-loops, closing #45600.
  + use emake of 0.9.7, closing #45002.

*openssl-0.9.6m (17 Mar 2004)
*openssl-0.9.7d (17 Mar 2004)

  17 Mar 2004; Daniel Ahlberg <aliz@gentoo.org> openssl-0.9.7d.ebuild,
  openssl-0.9.6m.ebuild:
  Security update, also removed some old ebuilds.

  01 Mar 2004; Tom Gall <tgall@gentoo.org> openssl-0.9.7c-r1.ebuild:
  remove call to make test for ppc64 for now. This is problematic, as
  we have some bug running around for ppc64 but we also need to move
  forward. 

  16 Feb 2004; Gustavo Zacarias <gustavoz@gentoo.org>
  openssl-0.9.7c-r1.ebuild:
  Fixed compilation of sparc32 target on sparc64

  10 Feb 2004; Bartosch Pixa <darkspecter@gentoo.org>
  openssl-0.9.7c-r1.ebuild:
  set ppc in keywords

  28 Jan 2004; Aron Griffis <agriffis@gentoo.org> openssl-0.9.7c-r1.ebuild:
  stable on alpha and ia64

  18 Jan 2004; Jason Wever <weeve@gentoo.org> openssl-0.9.7c-r1.ebuild:
  Marked stable on sparc.

  18 Jan 2004; Martin Guy <gmsoft@gentoo.org> openssl-0.9.7c-r1.ebuild:
  Marked stable on hppa.

*openssl-0.9.7b-r3 (17 Jan 2004)

  17 Jan 2004; Joshua Kinard <kumba@gentoo.org> openssl-0.9.6k-r1.ebuild,
  openssl-0.9.6k.ebuild, openssl-0.9.6l.ebuild, openssl-0.9.7b-r3.ebuild,
  openssl-0.9.7b.ebuild, openssl-0.9.7c-r1.ebuild, openssl-0.9.7c.ebuild:
  Bumped mips to stable, fixed copyright headers, &  Removed inherit on gcc.eclass
  and replaced $(gcc-version) calls with a ${gcc_version} variable defined by
  calling gcc -dumpversion directly. The reason for this was to resolve
  dependency issues reported by repoman.

  17 Jan 2004; Guy Martin <gmsoft@gentoo.org> openssl-0.9.7c-r1.ebuild:
  Fixed detection of the target on hppa smp box.

  13 Jan 2004; Daniel Ahlberg <aliz@gentoo.org> openssl-0.9.7c-r1.ebuild:
  More CFLAGS filtering, Closing #34261.

  09 Jan 2004; Daniel Ahlberg <aliz@gentoo.org> openssl-0.9.7c-r1.ebuild:
  Update the way CFLAGS are changed.

  08 Jan 2004; Robin H. Johnson <robbat2@gentoo.org> openssl-0.9.7c-r1.ebuild:
  fix bug #37600

  03 Jan 2004; Daniel Ahlberg <aliz@gentoo.org> openssl-0.9.7c-r1.ebuild:
  Better filtering of existing cflags to be replaced by our own. Closing #35283.

  16 Dec 2003; Joshua Kinard <kumba@gentoo.org> openssl-0.9.7c-r1.ebuild:
  Made a change to the mips detection so we can differentiate betweem mips and
  mipsel machines, and pass the apropriate configure target, otherwise the
  testsuite fails

*openssl-0.9.6l (04 Nov 2003)
*openssl-0.9.7c-r1 (04 Nov 2003)

  8 Dec 2003; Guy Martin <gmsoft@gentoo.org> openssl-0.9.6k.ebuild,
  openssl-0.9.6k-r1.ebuild, openssl-0.9.6l.ebuild :
  Forcing target linux-parisc even on 32bit kernel because detection fail
  on multicpu box.

  25 Nov 2003; Guy Martin <gmsoft@gentoo.org> openssl-0.9.7c-r1.ebuild :
  Fix detection of parisc64 boxes.

  17 Nov 2003; Joshua Kinard <kumba@gentoo.org> openssl-0.9.7c-r1.ebuild:
  Made a tweak to allow openssl to build on mips64 platforms (64-bit kernel,
  32-bit userland)

  12 Nov 2003; Daniel Ahlberg <aliz@gentoo.org> openssl-0.9.7c.ebuild, openssl-0.9.7c-r1.ebuild :
  Make test removes the built libraries to be rebuilt later with make install, this was not the case with 
  0.9.6 libraries as they where only inserted into ${D}. Now we run make again before installing those 
  libraries to make sure they exist. Closing #32858.

  06 Nov 2003; Paul de Vrieze <pauldv@gentoo.org> openssl-0.9.7c-r1.ebuild:
  Add checks so that missing 0.9.6 libs when they should be there will cause the
  ebuild to fail, so saving from mishap

  04 Nov 2003; Daniel AHlberg <aliz@gentoo.org> openssl-0.9.7c-r1.ebuild openssl-0.9.6l.ebuild :
  Security update.

  28 Oct 2003; Daniel Ahlberg <aliz@gentoo.org> openssl-0.9.7c.ebuild :
  Add make test to compile process. Closes #30066.

*openssl-0.9.6k-r1 (10 Oct 2003)

  10 Oct 2003; Daniel Ahlberg <aliz@gentoo.org> openssl-0.9.6k-r1.ebuild:
  Adding the fix for bn.h to the 0.9.6k series

  01 Oct 2003; Jon Portnoy <avenj@gentoo.org> openssl-0.9.7c.ebuild :
  Stable for ia64

  30 Sep 2003; <rac@gentoo.org> openssl-0.9.7c.ebuild:
  Keyword amd64

  30 Sep 2003; Christian Birchinger <joker@gentoo.org> openssl-0.9.6k.ebuild:
  Added sparc stable keyword

*openssl-0.9.7c (30 Sep 2003)
*openssl-0.9.6k (30 Sep 2003)

  30 Sep 2003; Daniel Ahlberg <aliz@gentoo.org> openssl-0.9.7c.ebuild, openssl-0.9.6k.ebuild :
  Security update.

*openssl-0.9.7b-r2 (16 Sep 2003)

  24 Sep 2003; Martin Schlemmer <azarah@gentoo.org> openssl-0.9.7b-r1.ebuild,
  openssl-0.9.7b-r2.ebuild, openssl-0.9.7b.ebuild:
  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(...).

  19 Sep 2003; Daniel Ahlberg <aliz@gentoo.org> openssl-0.9.7b-r2.ebuild :
  Filter "-fprefetch-loop-arrays" for all GCC 3.3 versions.
  Closing #28997.

  17 Sep 2003; Daniel Ahlberg <aliz@gentoo.org> openssl-0.9.7b-r2.ebuild :
  Closing #12971 and #25461. Removing from packages.mask

  16 Sep 2003; Daniel Ahlberg <aliz@gentoo.org> openssl-0.9.7b-r2.ebuild :
  This version optionally installs openssl-0.9.6 if upgrading, and leaves it out
  if installing from scratch. Libraries from openssl-0.9.6 are needed becuse every
  program linking to openssl links directly to the version named library instead of
  the symlink.

*openssl-0.9.7b-r1 (02 Sep 2003)

  02 Sep 2003; Mike Frysinger <vapier@gentoo.org> :
  Add a version so ppl running ~ can unmask/emerge it.

  29 Jul 2003; Will Woods <wwoods@gentoo.org> openssl-0.9.6j.ebuild:
  Use SSH_TARGET on alpha to force it to honor CHOST, marked stable.

*openssl-0.9.6j (23 May 2003)

  29 Sep 2003; Joshua Kinard <kumba@gentoo.org> openssl-0.9.6j.ebuild:
  Changes ~mips to mips in KEYWORDS

  23 Sep 2003; Bartosch Pixa <darkspecter@gentoo.org> openssl-0.9.6j.ebuild:
  set ppc in keywords

  23 Jul 2003; Guy Martin <gmsoft@gentoo.org> openssl-0.9.6j.ebuild :
  Marked stable on hppa.

  01 Jul 2003; Todd Sunderlin <todd@gentoo.org> openssl-0.9.6j.ebuild :
  set stable on sparc

  14 Jun 2003; Guy Martin <gmsoft@gentoo.org> openssl-0.9.6j.ebuild :
  Added a build fix for people running a 64bit kernel.

  23 May 2003; Brandon Low <lostlogic@gentoo.org> openssl-0.9.6j.ebuild:
  Bump, lots of nice security fixes, several patches from 0.9.6i-r2 are merged
  in here

  20 May 2003; Tavis Ormandy <taviso@gentoo.org> openssl-0.9.6i-r2.ebuild,
  openssl-0.9.7b.ebuild:
  ccc/openssl co-existance fixes.

  18 May 2003; Tavis Ormandy <taviso@gentoo.org> openssl-0.9.6i-r2.ebuild:
  making ccc usable.

*openssl-0.9.7b (10 Apr 2003)

  17 Apr 2003; Tavis Ormandy <taviso@gentoo.org> openssl-0.9.6i-r2.ebuild,
  openssl-0.9.7b.ebuild:
  Setting openssl-0.9.6i-r2 to completely ignore ccc, even if found - if used, result wont be
  backward compatible.
  
  Produce libssl.so on linux-alpha*-ccc in openssl-0.9.7b.

  10 Apr 2003; Brandon Low <lostlogic@gentoo.org> Manifest,
  openssl-0.9.7b.ebuild:
  Bump

*openssl-0.9.6i-r2 (24 Mar 2003)

  14 Jun 2003; Guy Martin <gmsoft@gentoo.org> openssl-0.9.6i-r2.ebuild :
  Added a build fix for people running a 64bit kernel.

  19 Mar 2003; Daniel Ahlberg <aliz@gentoo.org> :
  Security update. Added patch against Klima-Pokorny-Rosa attack.

*openssl-0.9.7a-r2 (24 Mar 2003)

  19 Mar 2003; Daniel Ahlberg <aliz@gentoo.org> :
  Security update. Added patch against Klima-Pokorny-Rosa attack.

*openssl-0.9.6i-r1 (19 Mar 2003)

  19 Mar 2003; Daniel Ahlberg <aliz@gentoo.org> :
  Security update.

*openssl-0.9.7a-r1 (19 Mar 2003)

  19 Mar 2003; Daniel Ahlberg <aliz@gentoo.org> :
  Security update.

  13 Mar 2003; Guy Martin <gmsoft@gento.org> openssl-0.9.6i.ebuild :
  Now produce also libssl.so on hppa.

  28 Feb 2003; Maarten Thibaut <murphy@gentoo.org> openssl-0.9.6i.ebuild :
  Add code to detect sparc32 build on sparc64. Add code to compile for
  sparc32 on sparc64 depending on PROFILE_ARCH environment variable.

  23 Feb 2003; Zach Welch <zwelch@gentoo.org> openssl-0.9.6i.ebuild :
  Add arm patch to ebuild to fix problems linking aginst libcrypto.so
  Cleanup several lintool violations

  21 Feb 2003; Zach Welch <zwelch@gentoo.org> openssl-0.9.6i.ebuild :
  Added arm to keywords.

  21 Feb 2003; Jan Seidel <tuxus@gentoo.org> openssl-0.9.6g-r1.ebuild openssl-0.9.6i.ebuild :
  added a patch for mips
 
  12 Feb 2003; Guy Martin <gmsoft@gentoo.org> :
  Added -fPIC to CFLAGS for hppa needed by many apps linking to openssl.

  09 Feb 2003; Guy Martin <gmsoft@gentoo.org> :
  Added hppa to keywords.

  07 Jan 2003; Daniel Ahlberg <aliz@gentoo.org> openssl-0.9.7.ebuild :
  Added warning message and some info on how to successfully emerge new version.

*openssl-0.9.7 (05 Jan 2003)

  05 Jan 2003; Daniel Ahlberg <aliz@gentoo.org> files/digest-openssl-0.9.7 :
  Version bump. Found by jochem prins <j.prins@gmx.net> in #12973. Masked.

  05 Jan 2003; Daniel Ahlberg <aliz@gentoo.org> files/digest-openssl-0.9.6h :
  Removed masking in packages.mask and marked it unstable.

  19 Dec 2002; Daniel Ahlberg <aliz@gentoo.org> files/digest-openssl-0.9.6h :
  Re-made digest. The new md5 sum is the same as the md5sum in the announcement
  mail. I must have made the old digest against a bad archive.

*openssl-0.9.6h (16 Dec 2002)

  16 Dec 2002; Daniel Ahlberg <aliz@gentoo.org> :
  Version bump. Masked in packages.mask. NOT binary compatible with g so it will break things
  unless you re-emerge does packages failing.

  06 Dec 2002; Rodney Rees <manson@gentoo.org> : changed sparc ~sparc keywords
 
*openssl-0.9.6g-r1 (04 Nov 2002)

  21 Feb 2003; Jan Seidel <tuxus@gentoo.org> :
  Added a patch for mips

  25 Nov 2002; Nick Hadaway <raker@gentoo.org> openssl-0.9.6g-r1.ebuild :
  Updated ebuild so the certs directory is created.

  04 Nov 2002; Daniel Ahlberg <aliz@gentoo.org> :
  Changed openssldir to /etc as suggested by Corporate Gadfly <corporate_gadfly@hotmail.com> in #9315.

*opessl-0.9.6g (29 Aug 2002)

  09 Feb 2003; Jan Seidel <tuxus@gentoo.org> :
  Added a patch for mips (apache2 with openssl) 

  19 Jan 2003; Jan Seidel <tuxus@gentoo.org> :
  Added mips to keywords

  06 Oct 2002; Jack Morgan <jmorgan@gentoo.org> :
  Added sparc/sparc64 keywords 

  27 Sep 2002; Daniel Ahlberg <aliz@gentoo.org> :
  Cleaned out files/. 

  Made OpenSSL use native crypt() instead of built-in. Thanks to Jason Jeremias 
  <jason@penguinsolutions.com> in #8438.

  17 Sep 2002; Mark Guertin <gerk@gentoo.org> openssl-0.9.6g.ebuild :
  Added ppc to keywords

  29 Aug 2002; Daniel Ahlberg <aliz@gentoo.org> openssl-0.9.6g.ebuild :
  Version bump, closes #6290. Ebuild contributed by hannes@mehnert.org.

*openssl-0.9.6e (30 Jul 2002)

  2 Aug 2002; Calum Selkirk <cselkirk@gentoo.org> openssl-0.9.6e.ebuild :

  Added ppc to KEYWORDS.

  30 Jul 2002; Daniel Ahlberg <aliz@gentoo.org> openssl-0.9.6e.ebuild :

  New version to fix security, http://www.openssl.org/news/secadv_20020730.txt

*openssl-0.9.6d-r1 (10 Jul 2002)

  10 Jul 2002; Josh Tegart <jtegart@gentoo.org> : 

  Fixed problem that prevented openssl-0.9.6d from building on sparc. The 
  Configure script incorrectly set the SHARED_LDFLAGS in the Makefile. The new 
  ebuild simply removes the incorrect value if ARCH="sparc".
  
*openssl-0.9.6d (13 May 2002)

  13 May 2002; Donny Davies <woodchip@gentoo.org> :

  Update to latest.  Added LICENSE, SLOT.  Use make vs. emake.

*openssl-0.9.6c-r1 (3 Apr 2002)

  patch from src_unpack; it was redundant.  Remove the manpage sed stuff
  and pass MANDIR to make install instead.  Fix a longstanding annoyance
  with the support scripts getting installed into /usr/ssl and install
  them in the proper place: /usr/lib/ssl.  Add a patch for compiling with
  gcc-3.  Fix a glitch with the html docs getting installed into a redundant
  'doc' subdirectory.  Remove all old patches, digests and ebuilds.

  21 Mar 2002; Daniel Robbins <drobbins@gentoo.org> : Fixed 0.9.6c ebuild so
  that it doesn't do 'sed -e "foo" | cat > Makefile', which breaks often.  Now
  it is a standard 2-liner.

  21 Mar 2002; Seemant Kulleen <seemant@gentoo.org> openssl-0.9.6c.ebuild :
  Fixed so that html documentation is no longer gzipped.  Small enough to not
  warrant a revision bump on the ebuild.

*openssl-0.9.6c (1 Feb 2002)

  1 Feb 2002; G.Bevin <gbevin@gentoo.org> ChangeLog :
  
  Added initial ChangeLog which should be updated whenever the package is
  updated in any way. This changelog is targetted to users. This means that the
  comments should well explained and written in clean English. The details about
  writing correct changelogs are explained in the skel.ChangeLog file which you
  can find in the root directory of the portage repository.
