# ChangeLog for sys-libs/db
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/sys-libs/db/ChangeLog,v 1.297 2009/10/01 20:27:01 klausman Exp $

  01 Oct 2009; Tobias Klausmann <klausman@gentoo.org> db-4.7.25_p4.ebuild:
  Stable on alpha, bug #285324

  30 Sep 2009; Markus Meier <maekke@gentoo.org> db-4.7.25_p4.ebuild:
  amd64/x86 stable, bug #285324

  27 Sep 2009; nixnut <nixnut@gentoo.org> db-4.7.25_p4.ebuild:
  ppc stable #285324

  26 Sep 2009; Brent Baude <ranger@gentoo.org> db-4.7.25_p4.ebuild:
  Marking db-4.7.25_p4 ppc64 for bug 285324

  23 Sep 2009; Jeroen Roovers <jer@gentoo.org> db-4.7.25_p4.ebuild:
  Stable for HPPA (bug #285324).

  20 Sep 2009; Robin H. Johnson <robbat2@gentoo.org> db-4.2.52_p4-r2.ebuild,
  db-4.2.52_p5.ebuild, db-4.2.52_p5-r1.ebuild, db-4.3.29-r2.ebuild,
  db-4.3.29_p1.ebuild, db-4.3.29_p1-r1.ebuild, db-4.4.20_p4.ebuild,
  db-4.4.20_p4-r1.ebuild, db-4.5.20_p2.ebuild, db-4.5.20_p2-r1.ebuild,
  db-4.6.21_p4.ebuild, db-4.7.25_p3.ebuild, db-4.7.25_p4.ebuild,
  db-4.8.24.ebuild:
  berkeley_db_svc is not always built, and might be going away permanently
  in db-4.8 series, but I suspect it might come back too, so just don't try
  to rename it if it doesn't exist. Thanks to Sebastian Luettich
  <selu@mediman.org>.

  19 Sep 2009; Robin H. Johnson <robbat2@gentoo.org> db-4.8.24.ebuild,
  +files/db-4.8.24-java-manifest-location.patch:
  Bug #285516: Build fix for java compile.

*db-4.8.24 (18 Sep 2009)

  18 Sep 2009; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
  +db-4.8.24.ebuild, +files/db-4.8-libtool.patch:
  Version bump (bug #285320).

  15 Sep 2009; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
  db-4.2.52_p5-r1.ebuild, db-4.3.29_p1-r1.ebuild, db-4.4.20_p4-r1.ebuild,
  db-4.5.20_p2-r1.ebuild, db-4.6.21_p4.ebuild, db-4.7.25_p4.ebuild:
  Use more standard date format in DB_VERSION_STRING.

  13 Sep 2009; Robin H. Johnson <robbat2@gentoo.org> db-4.7.25_p4.ebuild:
  Bug #270851: with FEATURES=test USE=-tcl, we need to include Tcl anyway so
  that the testsuite works.

  29 Jul 2009; Paul de Vrieze <pauldv@gentoo.org> db-3.2.9-r11.ebuild,
  db-3.2.9_p2.ebuild, db-4.2.52_p4-r2.ebuild, db-4.2.52_p5.ebuild,
  db-4.2.52_p5-r1.ebuild, db-4.3.29-r2.ebuild, db-4.3.29_p1.ebuild,
  db-4.3.29_p1-r1.ebuild, db-4.4.20_p4.ebuild, db-4.4.20_p4-r1.ebuild,
  db-4.5.20_p2.ebuild, db-4.5.20_p2-r1.ebuild, db-4.6.21_p4.ebuild:
  Fix bug #278962 and don't use the FEATURES variable in the ebuild when
  checking for the test feature.

  05 Jul 2009; Mike Frysinger <vapier@gentoo.org> db-4.7.25_p4.ebuild:
  Add --with-mutex option for arm systems as suggested by thomasq #273906.

*db-4.7.25_p4 (21 Jun 2009)

  21 Jun 2009; Caleb Tennis <caleb@gentoo.org> +db-4.7.25_p4.ebuild:
  Version bump, from #272983

  01 Jun 2009; Raúl Porcel <armin76@gentoo.org> db-4.6.21_p4.ebuild:
  arm/ia64/m68k/s390/sh/sparc stable wrt #248905

  24 May 2009; Markus Meier <maekke@gentoo.org> db-4.6.21_p4.ebuild:
  amd64/x86 stable, bug #248905

  07 May 2009; Jeroen Roovers <jer@gentoo.org> db-4.6.21_p4.ebuild:
  Stable for HPPA (bug #248905).

  03 May 2009; Tobias Klausmann <klausman@gentoo.org> db-4.6.21_p4.ebuild:
  Stable on alpha, bug #248905

  26 Apr 2009; Brent Baude <ranger@gentoo.org> db-4.6.21_p4.ebuild:
  stable ppc, bug 248905

  21 Apr 2009; Brent Baude <ranger@gentoo.org> db-4.6.21_p4.ebuild:
  Marking db-4.6.21_p4 ppc64 for bug 248905

  19 Apr 2009; Caleb Tennis <caleb@gentoo.org -db-4.6.21_p1.ebuild,
  -db-4.6.21_p3.ebuild, -db-4.6.21_p3-r1.ebuild, -db-4.7.25.ebuild,
  -db-4.7.25_p1.ebuild, -db-4.7.25_p1-r1.ebuild:
  Removing stale versions

*db-4.7.25_p3 (21 Mar 2009)
*db-4.6.21_p4 (21 Mar 2009)

  21 Mar 2009; Caleb Tennis <caleb@gentoo.org> +db-4.6.21_p4.ebuild,
  +db-4.7.25_p3.ebuild:
  Bumping db 4.6 and 4.7 per 259039

  14 Mar 2009; Mike Frysinger <vapier@gentoo.org> db-4.2.52_p4-r2.ebuild,
  db-4.2.52_p5.ebuild, db-4.2.52_p5-r1.ebuild, db-4.3.29-r2.ebuild,
  db-4.3.29_p1.ebuild, db-4.3.29_p1-r1.ebuild, db-4.4.20_p4.ebuild,
  db-4.4.20_p4-r1.ebuild, db-4.5.20_p2.ebuild, db-4.5.20_p2-r1.ebuild:
  Drop remaining USE=bootstrap usage #256439.

  24 Feb 2009; Joshua Kinard <kumba@gentoo.org> db-4.6.21_p3-r1.ebuild:
  Add ~mips to KEYWORDS

  07 Feb 2009; Mike Frysinger <vapier@gentoo.org> db-4.5.20_p2.ebuild,
  db-4.5.20_p2-r1.ebuild, db-4.6.21_p1.ebuild, db-4.6.21_p3.ebuild,
  db-4.6.21_p3-r1.ebuild, db-4.7.25.ebuild, db-4.7.25_p1.ebuild,
  db-4.7.25_p1-r1.ebuild:
  Use is-flagq rather than is-flag.

  07 Feb 2009; Mike Frysinger <vapier@gentoo.org> db-4.7.25_p1-r1.ebuild:
  Cleanup src_compile and src_install.

  07 Feb 2009; Mike Frysinger <vapier@gentoo.org> db-4.6.21_p1.ebuild,
  db-4.6.21_p3.ebuild, db-4.6.21_p3-r1.ebuild, db-4.7.25.ebuild,
  db-4.7.25_p1.ebuild, db-4.7.25_p1-r1.ebuild:
  Drop USE=bootstrap #256439.

  20 Sep 2008; Brent Baude <ranger@gentoo.org> db-3.2.9_p2.ebuild,
  db-4.2.52_p5-r1.ebuild, db-4.3.29_p1-r1.ebuild, db-4.5.20_p2-r1.ebuild:
  Mass stablization for ppc and ppc64 for bug 237127

  17 Sep 2008; Jeremy Olexa <darkside@gentoo.org> db-3.2.9_p2.ebuild,
  db-4.2.52_p5-r1.ebuild, db-4.3.29_p1-r1.ebuild, db-4.5.20_p2-r1.ebuild:
  amd64 stable. Thanks to Chad A. Simmons (amd64 AT) for testing, bug #237127

  17 Sep 2008; Raúl Porcel <armin76@gentoo.org> db-3.2.9_p2.ebuild,
  db-4.2.52_p5-r1.ebuild, db-4.3.29_p1-r1.ebuild, db-4.5.20_p2-r1.ebuild:
  ia64/sparc/x86 stable wrt #237127

  16 Sep 2008; Tobias Klausmann <klausman@gentoo.org>
  db-4.5.20_p2-r1.ebuild:
  Stable on alpha, bug #237127

  16 Sep 2008; Tobias Klausmann <klausman@gentoo.org>
  db-4.3.29_p1-r1.ebuild:
  Stable on alpha, bug #237127

  16 Sep 2008; Tobias Klausmann <klausman@gentoo.org>
  db-4.2.52_p5-r1.ebuild:
  Stable on alpha, bug #237127

  16 Sep 2008; Tobias Klausmann <klausman@gentoo.org> db-3.2.9_p2.ebuild:
  Stable on alpha, bug #237127

  16 Sep 2008; Jeroen Roovers <jer@gentoo.org> db-3.2.9_p2.ebuild,
  db-4.2.52_p5-r1.ebuild, db-4.3.29_p1-r1.ebuild, db-4.5.20_p2-r1.ebuild:
  Stable for HPPA (bug #237127).

  09 Sep 2008; Robin H. Johnson <robbat2@gentoo.org> db-4.2.52_p5-r1.ebuild,
  db-4.3.29_p1-r1.ebuild, db-4.5.20_p2-r1.ebuild, db-4.6.21_p3-r1.ebuild,
  db-4.7.25_p1-r1.ebuild:
  Fix bug #235025 for libtool-2.2 and non-bash boxes.

  16 Aug 2008; Robin H. Johnson <robbat2@gentoo.org>
  +files/db-3.2.9-gcc43.patch, db-3.2.9_p2.ebuild:
  Bug #218469, fix compilation with GCC4.3.

  16 Aug 2008; Robin H. Johnson <robbat2@gentoo.org> db-4.3.29_p1-r1.ebuild,
  db-4.4.20_p4-r1.ebuild, db-4.5.20_p2-r1.ebuild, db-4.6.21_p3-r1.ebuild,
  db-4.7.25_p1-r1.ebuild:
  Add o_direct support per bug #208967, not used by default.

  16 Aug 2008; Robin H. Johnson <robbat2@gentoo.org> metadata.xml:
  Bug #234081, cleanup entity in metadata.

*db-4.2.52_p5-r1 (16 Aug 2008)

  16 Aug 2008; Robin H. Johnson <robbat2@gentoo.org>
  +db-4.2.52_p5-r1.ebuild:
  Fix 4.2 slot for SONAME bug #182972, java support bug #217661 and also
  properly do what the jarlocation patches were supported to do.

*db-4.3.29_p1-r1 (16 Aug 2008)

  16 Aug 2008; Robin H. Johnson <robbat2@gentoo.org>
  +db-4.3.29_p1-r1.ebuild:
  Fix 4.3 slot for SONAME bug #182972, java support bug #217661 and also
  properly do what the jarlocation patches were supported to do.

*db-4.4.20_p4-r1 (16 Aug 2008)

  16 Aug 2008; Robin H. Johnson <robbat2@gentoo.org>
  +db-4.4.20_p4-r1.ebuild:
  Fix 4.4 slot for SONAME bug #182972, java support bug #217661 and also
  properly do what the jarlocation patches were supported to do.

*db-4.5.20_p2-r1 (16 Aug 2008)

  16 Aug 2008; Robin H. Johnson <robbat2@gentoo.org>
  +db-4.5.20_p2-r1.ebuild:
  Fix 4.5 slot for SONAME bug #182972, java support bug #217661 and also
  properly do what the jarlocation patches were supported to do.

*db-4.6.21_p3-r1 (16 Aug 2008)

  16 Aug 2008; Robin H. Johnson <robbat2@gentoo.org>
  +db-4.6.21_p3-r1.ebuild:
  Fix 4.6 slot for SONAME bug #182972, java support bug #217661 and also
  properly do what the jarlocation patches were supported to do.

*db-4.7.25_p1-r1 (16 Aug 2008)

  16 Aug 2008; Robin H. Johnson <robbat2@gentoo.org>
  +db-4.7.25_p1-r1.ebuild:
  Fix 4.7 slot for SONAME bug #182972, java support bug #217661 and also
  properly do what the jarlocation patches were supported to do.

*db-4.7.25_p1 (16 Aug 2008)

  16 Aug 2008; Robin H. Johnson <robbat2@gentoo.org> +db-4.7.25_p1.ebuild:
  Version bump.

*db-4.6.21_p3 (16 Aug 2008)

  16 Aug 2008; Robin H. Johnson <robbat2@gentoo.org> +db-4.6.21_p3.ebuild:
  Version bump and cleanup.

  16 Aug 2008; Robin H. Johnson <robbat2@gentoo.org> db-3.2.9_p2.ebuild,
  db-4.2.52_p5.ebuild, db-4.3.29_p1.ebuild, db-4.4.20_p4.ebuild,
  db-4.5.20_p2.ebuild, db-4.6.21_p1.ebuild, db-4.7.25.ebuild:
  Use the Oracle load-balancer rather than a single mirror.

*db-4.3.29_p1 (16 Aug 2008)

  16 Aug 2008; Robin H. Johnson <robbat2@gentoo.org> +db-4.3.29_p1.ebuild:
  Fix gnuconfig usage in 4.3 per bug #160192, update for Oracle download
  location, and include one further patch from upstream to fix minor race
  bug (same as 4.2 changes).

*db-4.2.52_p5 (16 Aug 2008)

  16 Aug 2008; Robin H. Johnson <robbat2@gentoo.org> +db-4.2.52_p5.ebuild:
  Fix gnuconfig usage in 4.2 per bug #160192, update for Oracle download
  location, and include one further patch from upstream to fix minor race
  bug.

  16 Aug 2008; Robin H. Johnson <robbat2@gentoo.org> db-3.2.9_p2.ebuild:
  Chop out other old stuff that is not needed since gnuconfig is gone.

*db-3.2.9_p2 (16 Aug 2008)

  16 Aug 2008; Robin H. Johnson <robbat2@gentoo.org> +db-3.2.9_p2.ebuild:
  Add db-3.2.9_p2, should be identical in result to 3.2.9-r11, but has a
  cleaned up build process and does not use gnuconfig per bug #160192.

  16 Aug 2008; Robin H. Johnson <robbat2@gentoo.org> -db-1.85-r1.ebuild,
  db-1.85-r3.ebuild:
  Remove old 1.85 ebuild, plus clean up 1.85 for downloading from Oracle.

  16 Aug 2008; Robin H. Johnson <robbat2@gentoo.org> db-4.4.20_p4.ebuild,
  db-4.5.20_p2.ebuild:
  Start ebuild cleanup so we can get rid of gnuconfig in old slots.

*db-4.7.25 (16 Aug 2008)

  16 Aug 2008; Robin H. Johnson <robbat2@gentoo.org> +db-4.7.25.ebuild:
  Adding package.masked db-4.7.25 per bug #228063. You can run the testsuite
  if you like, but db has never had a good history of testsuite passes, the
  testsuite also takes 12 hours on a quad-core 2.4Ghz machine.

*db-4.6.21_p1 (21 May 2008)

  21 May 2008; Caleb Tennis <caleb@gentoo.org> -db-4.6.19.ebuild,
  -db-4.6.21.ebuild, +db-4.6.21_p1.ebuild:
  patch rev bump, remove older versions of 4.6

  20 Mar 2008; Ryan Hill <dirtyepic@gentoo.org> db-4.5.20_p2.ebuild:
  Keyword ~mips for bug #178750.

  10 Mar 2008; <ricmm@gentoo.org> db-4.2.52_p4-r2.ebuild:
  Drop to ~mips due to unstable deps

  29 Feb 2008; Santiago M. Mola <coldwind@gentoo.org> db-4.3.29-r2.ebuild:
  amd64 stable wrt bug #204213

  18 Feb 2008; Jeroen Roovers <jer@gentoo.org> db-4.3.29-r2.ebuild:
  Stable for HPPA (bug #204213).

  17 Feb 2008; Raúl Porcel <armin76@gentoo.org> db-4.3.29-r2.ebuild:
  alpha stable wrt #201213

  13 Feb 2008; Petteri Räty <betelgeuse@gentoo.org> -db-3.2.9-r10.ebuild:
  Remove generation 1 ebuild.

  13 Feb 2008; Raúl Porcel <armin76@gentoo.org> db-3.2.9-r11.ebuild:
  alpha stable wrt #209942

  13 Feb 2008; Jeroen Roovers <jer@gentoo.org> db-3.2.9-r11.ebuild:
  Stable for HPPA (bug #209942).

  12 Feb 2008; <pauldv@gentoo.org> db-3.2.9-r11.ebuild:
  The java useflag actually fails because of db's way to find the headers (bug
  #207164). As the lack of reports indicates that people don't use it. The
  useflag is disabled for now on this old version of db.

  05 Jan 2008; Raúl Porcel <armin76@gentoo.org> db-4.3.29-r2.ebuild:
  Add ~alpha wrt #204213

  19 Nov 2007; Joshua Kinard <kumba@gentoo.org> db-1.85-r3.ebuild:
  Stable on mips, per #159445.

*db-4.6.21 (04 Nov 2007)

  04 Nov 2007; Caleb Tennis <caleb@gentoo.org> +db-4.6.21.ebuild:
  version bump

  25 Oct 2007; Michael Sterrett <mr_bones_@gentoo.org> +db-3.2.9-r10.ebuild:
  Restored removed version since it broke deps on mips and hppa.

  25 Oct 2007; Torsten Veller <tove@gentoo.org> db-3.2.9-r11.ebuild:
  Added a missing quote (#196944)

  24 Oct 2007; William L. Thomson Jr. <wltjr@gentoo.org> db-1.85-r1.ebuild,
  -db-3.2.9-r10.ebuild, db-3.2.9-r11.ebuild, db-4.4.20_p4.ebuild,
  db-4.5.20_p2.ebuild, db-4.6.19.ebuild:
  Removed java gen 1 ebuild, quoted vars

  03 Sep 2007; Caleb Tennis <caleb@gentoo.org> db-3.2.9-r11.ebuild:
  Changing java dep per bug #181832

  27 Aug 2007; Jurek Bartuszek <jurek@gentoo.org> db-4.5.20_p2.ebuild:
  x86 stable (bug #178750)

  20 Aug 2007; Caleb Tennis <caleb@gentoo.org> db-1.85-r1.ebuild,
  -db-1.85-r2.ebuild, -db-4.2.52_p2-r1.ebuild, -db-4.6.18.ebuild:
  remove some unnecessary versions

*db-4.6.19 (19 Aug 2007)

  19 Aug 2007; Caleb Tennis <caleb@gentoo.org> +db-4.6.19.ebuild:
  version bump

*db-4.6.18 (15 Aug 2007)

  15 Aug 2007; Caleb Tennis <caleb@gentoo.org>
  +files/db-4.6-jarlocation.patch,
  +files/db-4.6-jni-check-prefix-first.patch, +files/db-4.6-libtool.patch,
  +db-4.6.18.ebuild:
  Next major revision of db.  package.mask'd for now for further testing

  09 Aug 2007; Jeroen Roovers <jer@gentoo.org> db-4.5.20_p2.ebuild:
  Stable for HPPA (bug #178750).

  27 Jul 2007; Raúl Porcel <armin76@gentoo.org> db-4.5.20_p2.ebuild:
  alpha stable

  12 Jul 2007; Roy Marples <uberlord@gentoo.org> db-4.5.20_p2.ebuild:
  Keyworded ~sparc-fbsd

  04 Jul 2007; Jeroen Roovers <jer@gentoo.org> db-4.5.20_p2.ebuild:
  Reverting to ~hppa. :\

  04 Jul 2007; Jeroen Roovers <jer@gentoo.org> db-4.5.20_p2.ebuild:
  Stable for HPPA (bug #178750).

  01 Jul 2007; Christoph Mende <angelos@gentoo.org> db-4.5.20_p2.ebuild:
  Appending -O2 for people who don't have any optimization turned on, bug
  #171231

  26 Jun 2007; Raúl Porcel <armin76@gentoo.org> db-4.5.20_p2.ebuild:
  ia64 stable wrt #178750

  26 Jun 2007; Lars Weiler <pylon@gentoo.org> db-4.5.20_p2.ebuild:
  Stable on ppc; bug #178750.

  15 Jun 2007; Christoph Mende <angelos@gentoo.org> db-4.5.20_p2.ebuild:
  Stable on amd64 wrt bug 178750

  13 Jun 2007; Raúl Porcel <armin76@gentoo.org> db-4.5.20_p2.ebuild:
  Add ~alpha

  13 Jun 2007; Gustavo Zacarias <gustavoz@gentoo.org> db-4.5.20_p2.ebuild:
  Stable on sparc wrt #178750

  09 Jun 2007; Markus Rothe <corsair@gentoo.org> db-4.5.20_p2.ebuild:
  Stable on ppc64; bug #178750

  03 Jun 2007; Christoph Mende <angelos@gentoo.org> db-4.5.20_p2.ebuild:
  Replacing -O0 with -O2 on amd64, bug 171231

  29 May 2007; Jeroen Roovers <jer@gentoo.org> db-4.3.29-r2.ebuild:
  Trivial whitespace fix.

  24 Apr 2007; Bryan Østergaard <kloeri@gentoo.org> db-4.2.52_p4-r2.ebuild:
  Stable on Mips, bug 168726.

  23 Apr 2007; Raúl Porcel <armin76@gentoo.org> db-4.3.29-r2.ebuild:
  ia64 stable

  16 Apr 2007; Markus Rothe <corsair@gentoo.org> db-4.3.29-r2.ebuild:
  Stable on ppc64

  04 Apr 2007; Gustavo Zacarias <gustavoz@gentoo.org> db-4.3.29-r2.ebuild:
  Stable on sparc

  31 Mar 2007; Christian Faulhammer <opfer@gentoo.org> db-4.3.29-r2.ebuild:
  stable x86, security bug #170828

  29 Mar 2007; Tobias Scherbaum <dertobi123@gentoo.org> db-4.3.29-r2.ebuild:
  Stable on ppc wrt bug #170828.

  25 Mar 2007; Paul de Vrieze <pauldv@gentoo.org> db-4.5.20_p2.ebuild:
  Have a different fix for not stripping as the old fix no longer works for this
  db version.

  02 Mar 2007; Caleb Tennis <caleb@gentoo.org> -files/db-4.1.25-java.patch,
  -files/db-4.1.25-uclibc.patch, -files/db-4.1.25_p1-jarlocation.patch,
  -db-4.0.14-r2.ebuild, -db-4.0.14-r3.ebuild, -db-4.1.25_p1-r3.ebuild,
  -db-4.1.25_p1-r4.ebuild, -db-4.1.25_p2.ebuild:
  Okay, I did it. I removed db 4.0 and db 4.1. I announced it on -dev and
  there are no explicit deps on it, so it shouldn't create any issues.
  However, if it does, please open a bug and let me know.

  28 Feb 2007; Caleb Tennis <caleb@gentoo.org> db-4.4.20_p4.ebuild,
  db-4.5.20_p2.ebuild:
  Update 4.4 and 4.5 to use econf instead of gnuconfig_update per bug #160192

  27 Feb 2007; Caleb Tennis <caleb@gentoo.org> db-4.5.20_p2.ebuild:
  Paul asked to turn uniquename off, since it causes too many issues

  27 Feb 2007; Caleb Tennis <caleb@gentoo.org> -db-4.2.52_p2.ebuild,
  -db-4.2.52_p4.ebuild:
  more stale versions

  27 Feb 2007; Caleb Tennis <caleb@gentoo.org> -db-4.3.27.ebuild,
  -db-4.3.29.ebuild, -db-4.4.20_p2.ebuild:
  removing a few stale ebuilds, including 4.3.27 which isn't available anymore

*db-4.4.20_p4 (27 Feb 2007)

  27 Feb 2007; Caleb Tennis <caleb@gentoo.org> +db-4.4.20_p4.ebuild:
  Bump to 4.4.20_p4, change SRC_URI to reflect new location of stuff

*db-4.5.20_p2 (27 Feb 2007)

  27 Feb 2007; Caleb Tennis <caleb@gentoo.org>
  files/db-4.4-jarlocation.patch, +files/db-4.5-jarlocation.patch,
  +files/db-4.5-libtool.patch, +db-4.5.20_p2.ebuild:
  Bump to 4.5. SRC_URI and LICENSE have changed because Oracle bought
  Sleepycat. I also revered back to --with-uniquename as it's supported again
  with C++,Java, and RPC (was not in 4.2-4.4 series). >=4.4 is currently
  masked, so this is currently in for testing

  17 Feb 2007; Fabian Groffen <grobian@gentoo.org> db-4.2.52_p2.ebuild,
  db-4.2.52_p2-r1.ebuild, db-4.2.52_p4.ebuild, db-4.2.52_p4-r2.ebuild:
  Dropped ppc-macos keyword, see you in prefix

  02 Feb 2007; Gustavo Zacarias <gustavoz@gentoo.org> db-3.2.9-r11.ebuild:
  Stable on sparc

  26 Jan 2007; Jeroen Roovers <jer@gentoo.org> db-4.3.29-r2.ebuild:
  Marked ~hppa (bug #152713).

  10 Jan 2007; Bryan Østergaard <kloeri@gentoo.org> db-4.2.52_p4-r2.ebuild:
  Stable on Alpha.

  09 Jan 2007; Christian Faulhammer <opfer@gentoo.org> db-1.85-r3.ebuild:
  stable x86, bug #159445

  09 Jan 2007; Markus Rothe <corsair@gentoo.org> db-1.85-r3.ebuild:
  Stable on ppc64; bug #159445

  08 Jan 2007; Jeroen Roovers <jer@gentoo.org> db-1.85-r3.ebuild:
  Stable for HPPA (bug #159445).

  07 Jan 2007; Tobias Scherbaum <dertobi123@gentoo.org> db-1.85-r3.ebuild:
  ppc stable, bug #159445

  04 Jan 2007; Peter Weller (welp) <welp@gentoo.org> db-1.85-r3.ebuild:
  Stable on amd64 wrt bug #159445

  04 Jan 2007; Bryan Østergaard <kloeri@gentoo.org> db-1.85-r3.ebuild:
  Stable on IA64.

  04 Jan 2007; Gustavo Zacarias <gustavoz@gentoo.org> db-1.85-r3.ebuild:
  Stable on sparc wrt #159445

  17 Oct 2006; Gustavo Zacarias <gustavoz@gentoo.org>
  db-4.2.52_p4-r2.ebuild:
  Stable on sparc

  17 Oct 2006; Roy Marples <uberlord@gentoo.org> db-4.3.29-r2.ebuild:
  Added ~sparc-fbsd keyword.

  15 Oct 2006; Tobias Scherbaum <dertobi123@gentoo.org> db-3.2.9-r11.ebuild,
  db-4.2.52_p4-r2.ebuild:
  ppc stable. bug #147254

  15 Oct 2006; Joshua Nichols <nichoj@gentoo.org> db-3.2.9-r11.ebuild,
  db-4.2.52_p4-r2.ebuild:
  Stabilizing on ia64 as part of new Java system, bug #147254.

  14 Oct 2006; Thomas Cort <tcort@gentoo.org> db-1.85-r3.ebuild:
  Stable on alpha wrt Bug #116177.

  14 Oct 2006; Joshua Nichols <nichoj@gentoo.org> db-3.2.9-r11.ebuild,
  db-4.2.52_p4-r2.ebuild:
  Stabilizing on amd64 as part of new Java system, bug #147254.

  14 Oct 2006; Joshua Nichols <nichoj@gentoo.org> db-3.2.9-r11.ebuild,
  db-4.2.52_p4-r2.ebuild:
  Stabilizing on ppc64 as part of new Java system, bug #147254.

  14 Oct 2006; Joshua Jackson <tsunam@gentoo.org> db-3.2.9-r11.ebuild,
  db-4.2.52_p4-r2.ebuild:
  New java stable on x86; bug #147254

  28 Sep 2006; Robin H. Johnson <robbat2@gentoo.org> db-3.2.9-r11.ebuild:
  QA fix, fix upstream stripping, bug #149448.

  28 Sep 2006; Robin H. Johnson <robbat2@gentoo.org> db-3.2.9-r11.ebuild:
  Bug #149446 - testsuite is broken by upstream in the 3.2.9 release, so do
  not use our db_src_test from the eclass.

  22 Sep 2006; Markus Rothe <corsair@gentoo.org> db-4.3.27.ebuild,
  db-4.3.29.ebuild, db-4.3.29-r2.ebuild, db-4.4.20_p2.ebuild:
  Added ~ppc64

  19 Sep 2006; Vlastimil Babka <caster@gentoo.org> db-3.2.9-r10.ebuild:
  Move JAVACABS export to src_compile() to make it actually work.

*db-3.2.9-r11 (31 Aug 2006)

  31 Aug 2006; Peter Volkov <pva@gentoo.org> db-3.2.9-r10.ebuild,
  +db-3.2.9-r11.ebuild:
  Added fix for new java system. Thank Caster and Tichoj for fix and Jan
  Callewaert for report of the bug #132690.

  17 Aug 2006; Jeroen Roovers <jer@gentoo.org> db-4.2.52_p4-r2.ebuild:
  Stable for HPPA (bug #142965). There seems no need for HPPA to wait for Java.

  10 Aug 2006; Paul de Vrieze <pauldv@gentoo.org> db-4.4.20_p2.ebuild:
  The 4.3 java patches still work so just use those and not make a copy.
  Solves bug #143459 reported by weeve@gentoo.org.

  06 Aug 2006; Paul de Vrieze <pauldv@gentoo.org> db-4.4.20_p2.ebuild:
  Use new java class for db-4.4 too.

  03 Aug 2006; Doug Goldstein <cardoe@gentoo.org> db-3.2.9-r10.ebuild,
  db-4.0.14-r2.ebuild, db-4.0.14-r3.ebuild, db-4.1.25_p1-r3.ebuild,
  db-4.1.25_p1-r4.ebuild, db-4.1.25_p2.ebuild, db-4.2.52_p2.ebuild,
  db-4.2.52_p2-r1.ebuild, db-4.2.52_p4.ebuild, db-4.2.52_p4-r2.ebuild,
  db-4.3.27.ebuild, db-4.3.29.ebuild, db-4.3.29-r2.ebuild,
  db-4.4.20_p2.ebuild:
  Changed tcltk USE flag to tcl as per bug #17808

  26 Jul 2006; Martin Schlemmer <azarah@gentoo.org> db-4.2.52_p4-r2.ebuild,
  db-4.3.29-r2.ebuild:
  Fixup static 'lib' paths in new java stuff. Fixup some quoting.

*db-4.3.29-r2 (25 Jul 2006)
*db-4.2.52_p4-r2 (25 Jul 2006)

  25 Jul 2006; Joshua Nichols <nichoj@gentoo.org>
  +files/db-4.2-jni-check-prefix-first.patch,
  +files/db-4.2-listen-to-java-options.patch,
  +files/db-4.3-jni-check-prefix-first.patch,
  +files/db-4.3-listen-to-java-options.patch, +db-4.2.52_p4-r2.ebuild,
  +db-4.3.29-r2.ebuild:
  Revision bumps to support new Java system.

  12 Jun 2006; Paul de Vrieze <pauldv@gentoo.org> db-4.3.29.ebuild:
  This upstream tarball has also changed.

  30 May 2006; Paul de Vrieze <pauldv@gentoo.org> db-4.2.52_p2.ebuild,
  db-4.2.52_p2-r1.ebuild, db-4.2.52_p4.ebuild:
  The upstream tarball has changed :-(

  20 May 2006; Diego Pettenò <flameeyes@gentoo.org> db-4.4.20_p2.ebuild:
  Add ~x86-fbsd to 4.4 version.

  20 May 2006; Paul de Vrieze <pauldv@gentoo.org> db-4.1.25_p2.ebuild,
  db-4.3.27.ebuild, db-4.3.29.ebuild:
  Port the striping fix to the other versions

  19 May 2006; Diego Pettenò <flameeyes@gentoo.org> db-4.3.29.ebuild:
  Add ~x86-fbsd keyword.

*db-4.4.20_p2 (08 May 2006)

  08 May 2006; <pauldv@gentoo.org> -db-4.4.20.ebuild, +db-4.4.20_p2.ebuild:
  Use the upstream patches.

  29 Apr 2006; Joshua Kinard <kumba@gentoo.org> db-4.2.52_p2-r1.ebuild:
  Marked stable on mips.

  30 Mar 2006; Diego Pettenò <flameeyes@gentoo.org> db-4.2.52_p4.ebuild,
  db-4.4.20.ebuild:
  Mark ~x86-fbsd the non-masked db.

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

  24 Mar 2006; Caleb Tennis <caleb@gentoo.org> db-4.3.29.ebuild,
  db-4.4.20.ebuild:
  Add a dep on >=binutils-2.16.1, which is where --default-symver is first
  implemented

  12 Mar 2006; Paul de Vrieze <pauldv@gentoo.org>
  +files/db-4.4-jarlocation.patch, db-4.4.20.ebuild:
  Fix the jar filenames. I missed that when creating the package. Thanks to
  Hanno Meyer-Thurow (h.mth@web.de) in bug #125758.

  09 Mar 2006; Paul de Vrieze <pauldv@gentoo.org> db-4.2.52_p4.ebuild:
  Disable stripping (bug #125581)

  28 Feb 2006; <pauldv@gentoo.org> -files/db.1.85.patch, db-1.85-r1.ebuild:
  Move the patch to the mirrors. It's too big for the tree.

  22 Feb 2006; Paul de Vrieze <pauldv@gentoo.org> db-4.3.29.ebuild,
  db-4.4.20.ebuild:
  Add the "--default-symver" linker option. This should be a superior solution
  to the uniquename hack. It works with the linker, so no header file
  problems, no configure script problems, etc. This might actually finally
  solve our db problems ;-).

  01 Feb 2006; Caleb Tennis <caleb@gentoo.org> db-4.4.20.ebuild:
  43 -> 44

  20 Jan 2006; Caleb Tennis <caleb@gentoo.org> db-4.3.27.ebuild,
  db-4.3.29.ebuild:
  Fix installation name (was 42, should be 43)

*db-4.3.29 (26 Dec 2005)
*db-4.2.52_p4 (26 Dec 2005)
*db-4.1.25_p2 (26 Dec 2005)

  26 Dec 2005; Robin H. Johnson <robbat2@gentoo.org> +db-4.1.25_p2.ebuild,
  +db-4.2.52_p4.ebuild, +db-4.3.29.ebuild:
  Version bumps in preperation for db-4.4. src_test support added, warning it
  can take 6 hours!

  13 Dec 2005; Fernando J. Pereda <ferdy@gentoo.org> db-4.2.52_p2-r1.ebuild:
  stable on alpha

  10 Dec 2005; Jason Wever <weeve@gentoo.org> db-4.2.52_p2-r1.ebuild:
  Stable on SPARC wrt bug #105380.

  08 Dec 2005; Mark Loeser <halcy0n@gentoo.org> db-4.2.52_p2-r1.ebuild:
  Stable on x86; bug #105380

  07 Dec 2005; <dang@gentoo.org> db-4.2.52_p2-r1.ebuild:
  Marked stable on amd64

  06 Dec 2005; Michael Hanselmann <hansmi@gentoo.org>
  db-4.2.52_p2-r1.ebuild:
  Stable on hppa, ppc.

  06 Dec 2005; Markus Rothe <corsair@gentoo.org> db-4.2.52_p2-r1.ebuild:
  Stable on ppc64; bug #105380

*db-4.2.52_p2-r1 (02 Dec 2005)

  02 Dec 2005; Robin H. Johnson <robbat2@gentoo.org>
  +files/db-4.2.52_p2-TXN.patch, +db-4.2.52_p2-r1.ebuild:
  Bug #113905, TXN support for DB-4.2, used for OpenLDAP data integrity.

  02 Dec 2005; Robin H. Johnson <robbat2@gentoo.org> db-1.85-r3.ebuild:
  Fix bug #114223, bad perms on /usr/include/db1.

*db-1.85-r3 (08 Nov 2005)

  08 Nov 2005; Mike Frysinger <vapier@gentoo.org>
  +files/db-1.85-gentoo-paths.patch, +db-1.85-r3.ebuild:
  Further cleanup the patch from Redhat, add a SONAME fix for alpha #48616,
  and tweak how we build/install.

  25 Aug 2005; <pauldv@gentoo.org> -db-3.2.9-r7.ebuild:
  Remove old ebuild versions

  23 Aug 2005; Aron Griffis <agriffis@gentoo.org> db-4.2.52_p2.ebuild:
  stable on ia64

  07 Aug 2005; Kito <kito@gentoo.org> db-4.2.52_p2.ebuild:
  ~ppc-macos

  03 Aug 2005; Gustavo Zacarias <gustavoz@gentoo.org> db-1.85-r2.ebuild,
  db-4.0.14-r3.ebuild:
  Stable on sparc

  03 Aug 2005; Gustavo Zacarias <gustavoz@gentoo.org> db-3.2.9-r10.ebuild:
  Stable on sparc #86985

  19 Jul 2005; Bryan Østergaard <kloeri@gentoo.org> db-4.2.52_p2.ebuild:
  Stable on alpha.

  17 Jul 2005; Hardave Riar <hardave@gentoo.org> db-4.2.52_p2.ebuild:
  Keyworded ~mips

  10 Jul 2005; Sven Wegener <swegener@gentoo.org> db-4.0.14-r2.ebuild,
  db-4.0.14-r3.ebuild, db-4.1.25_p1-r3.ebuild, db-4.1.25_p1-r4.ebuild,
  db-4.2.52_p1.ebuild, db-4.2.52_p2.ebuild, db-4.3.27.ebuild:
  QA: Removed 'emake || make || die' and variants. Either a package is
  parallel build safe or it is not. There's nothing like trying and falling
  back.

  02 Jul 2005; Bryan Østergaard <kloeri@gentoo.org> db-4.2.52_p2.ebuild:
  Add ~alpha keyword.

  17 Jun 2005; Michael Hanselmann <hansmi@gentoo.org> db-4.2.52_p2.ebuild:
  Stable on ppc.

  15 Jun 2005; Gustavo Zacarias <gustavoz@gentoo.org> db-4.2.52_p2.ebuild:
  Stable on sparc

  06 Jun 2005; Marcus D. Hanwell <marcus@gentoo.org> db-4.2.52_p2.ebuild:
  Stable on amd64.

  06 Jun 2005; Markus Rothe <corsair@gentoo.org> db-4.2.52_p2.ebuild:
  Stable on ppc64

  04 Jun 2005; Guy Martin <gmsoft@gentoo.org> db-4.2.52_p2.ebuild:
  Stable on hppa.

  02 Jun 2005; <pauldv@gentoo.org> db-4.2.52_p2.ebuild, db-4.3.27.ebuild:
  Fix bug #94692, that is caused by use of gcc --version together with a 
  crappy version detection script. Use a sed script to change the use of 
  gcc --version to gcc -dumpversion

  29 May 2005; Paul de Vrieze <pauldv@gentoo.org> db-4.2.52_p2.ebuild:
  Mark 4.2 stable.

  09 Apr 2005; Markus Rothe <corsair@gentoo.org> db-4.1.25_p1-r4.ebuild:
  Stable on ppc64

  29 Mar 2005; Markus Rothe <corsair@gentoo.org> db-4.2.52_p2.ebuild:
  Added ~ppc64 to KEYWORDS

*db-4.3.27 (29 Mar 2005)

  29 Mar 2005; <pauldv@gentoo.org> +files/db-4.3-jarlocation.patch,
  +files/db-4.3-libtool.patch, +files/db-4.3.27-fix-dep-link.patch,
  db-3.2.9-r10.ebuild, +db-4.3.27.ebuild:
  Fix silly cd error

  28 Mar 2005; Jason Wever <weeve@gentoo.org> db-3.2.9-r10.ebuild:
  Marked as ~sparc because this ebuild is brand new, improperly marked stable,
  and the patch is broken. :(

  27 Mar 2005; Paul de Vrieze <pauldv@gentoo.org>
  +files/db-3.2.9-java15.patch, db-3.2.9-r10.ebuild:
  Add a java 1.5 patch from bug #84770. Also bump all architectures that were 
  not stable on this ebuild. It has not changed much since months and the 
  instable keywords were added a very long time ago.

  19 Mar 2005; Bryan Østergaard <kloeri@gentoo.org> db-1.85-r2.ebuild:
  Stable on alpha.

  19 Mar 2005; Bryan Østergaard <kloeri@gentoo.org> db-4.1.25_p1-r4.ebuild:
  Stable on alpha.

*db-4.3.27 (02 Feb 2005)

  02 Feb 2005; <pauldv@gentoo.org> +files/db-4.3-jarlocation.patch,
  +files/db-4.3-libtool.patch, +files/db-4.3.27-fix-dep-link.patch,
  +db-4.3.27.ebuild:
  A new upstream version. The patches are updated to apply again.

  30 Jan 2005; Paul de Vrieze <pauldv@gentoo.org> db-1.85-r1.ebuild,
  db-1.85-r2.ebuild, db-3.2.9-r10.ebuild, db-3.2.9-r7.ebuild,
  db-4.0.14-r2.ebuild, db-4.0.14-r3.ebuild, db-4.1.25_p1-r3.ebuild,
  db-4.1.25_p1-r4.ebuild, db-4.2.52_p1.ebuild, db-4.2.52_p2.ebuild:
  The upstream download location changed. Fixed it.

  19 Jan 2005; Joshua Kinard <kumba@gentoo.org> db-4.1.25_p1-r4.ebuild:
  Marked stable on mips.

  13 Jan 2005; Mike Frysinger <vapier@gentoo.org> db-4.1.25_p1-r4.ebuild,
  db-4.2.52_p2.ebuild:
  Clean up USE=uclibc and USE=nocxx usage.

  16 Dec 2004; Jeremy Huddleston <eradicator@gentoo.org> db-1.85-r1.ebuild,
  db-1.85-r2.ebuild, db-3.2.9-r10.ebuild, db-3.2.9-r7.ebuild,
  db-4.0.14-r2.ebuild, db-4.0.14-r3.ebuild, db-4.1.25_p1-r3.ebuild,
  db-4.1.25_p1-r4.ebuild, db-4.2.52_p1.ebuild, db-4.2.52_p2.ebuild:
  get_libdir support for multilib archs.

  14 Dec 2004; Dylan Carlson <absinthe@gentoo.org> db-4.1.25_p1-r4.ebuild:
  Stable on amd64.

  13 Dec 2004; Mike Frysinger <vapier@gentoo.org> db-1.85-r2.ebuild:
  Update patch to be cross-compile friendly.

  08 Dec 2004; Simon Stelling <blubb@gentoo.org>
  +files/db-4.2-libtool.patch, db-4.2.52_p2.ebuild:
  added Andy Lutomirski's patch and marked ~amd64, see bug #57654

  01 Dec 2004; Gustavo Zacarias <gustavoz@gentoo.org> db-4.1.25_p1-r4.ebuild:
  Stable on sparc

  30 Nov 2004; Paul de Vrieze <pauldv@gentoo.org>
  +files/db-4.1.25-java.patch, db-4.0.14-r2.ebuild, db-4.0.14-r3.ebuild,
  db-4.1.25_p1-r3.ebuild, db-4.1.25_p1-r4.ebuild:
  Fix compilation with 1.5 jdk's by renaming some enum local variable

  30 Nov 2004; Paul de Vrieze <pauldv@gentoo.org> db-4.1.25_p1-r4.ebuild:
  Stabilize on x86

  01 Oct 2004; Simon Stelling <blubb@gentoo.org> db-4.1.25_p1-r3.ebuild,
  db-4.1.25_p1-r4.ebuild, db-4.2.52_p2.ebuild:
  get_libdir-ized

  27 Sep 2004; <pauldv@gentoo.org> db-3.2.9-r10.ebuild, db-3.2.9-r7.ebuild:
  Fix bug #65291 and mark the -r10 release testing on amd64.

  03 Sep 2004; Pieter Van den Abeele <pvdabeel@gentoo.org>
  db-3.2.9-r10.ebuild, db-4.0.14-r2.ebuild:
  Masked db-4.0.14-r2.ebuild stable for ppc

  03 Sep 2004; Pieter Van den Abeele <pvdabeel@gentoo.org>
  db-3.2.9-r10.ebuild:
  Masked db-3.2.9-r10.ebuild stable for ppc

  03 Sep 2004; Caleb Tennis <caleb@gentoo.org> -db-3.3.11.ebuild:
  Removing package.masked version

  02 Sep 2004; Robin H. Johnson <robbat2@gentoo.org> :
  fix missing digest bug #62562.

*db-1.85-r2 (01 Sep 2004)

  01 Sep 2004; Robin H. Johnson <robbat2@gentoo.org> +db-1.85-r2.ebuild:
  Clean up old db-1.8.5 build to not for omit-frame-pointer, and grab it's patch
  from DISTDIR.

  01 Sep 2004; Robin H. Johnson <robbat2@gentoo.org> db-4.1.25_p1-r3.ebuild,
  db-4.1.25_p1-r4.ebuild, db-4.2.52_p1.ebuild, db-4.2.52_p2.ebuild:
  Ebuild cleanup to use epatch and not abuse sed.

  23 Aug 2004; <pauldv@gentoo.org> db-3.3.11.ebuild:
  Add IUSE

  23 Aug 2004; <pauldv@gentoo.org> db-3.2.9-r10.ebuild, -db-3.2.9-r9.ebuild:
  Clean out the -r9 release

  11 Aug 2004; Michael Sterrett <mr_bones_@gentoo.org> db-3.2.9-r10.ebuild:
  gnuconfig_update in src_unpack

  02 Jul 2004; Jeremy Huddleston <eradicator@gentoo.org> db-1.85-r1.ebuild,
  db-3.2.9-r10.ebuild, db-3.2.9-r7.ebuild, db-3.2.9-r9.ebuild,
  db-3.3.11.ebuild:
  virtual/glibc -> virtual/libc

  25 Jun 2004; <solar@gentoo.org> db-4.1.25_p1-r4.ebuild:
  uclibc update

*db-4.1.25_p1-r4 (19 Jun 2004)

  19 Jun 2004; <solar@gentoo.org> db-4.1.25_p1-r4.ebuild,
  files/db-4.1.25-uclibc.patch:
  added IUSE=uclibc support for building portage with uclibc support

  06 May 2004; Ferris McCormick <fmccor@gentoo.org> db-4.2.52_p2.ebuild:
  Add ~sparc keyword at user request (bug 50272)

  26 Apr 2004; Jason Wever <weeve@gentoo.org> db-4.1.25_p1-r3.ebuild:
  Fixed sparc keyword problem, sorry folks :(

  24 Apr 2004; Tom Gall <tgall@gentoo.org> db-3.2.9-r10.ebuild, 
  db-4.2.52_p2.ebuild:
  fix to update config for ppc64 in db-3.2.9-r10.ebuild and
  db-4.2.52_p2.ebuild marked stable for ppc64

  22 Apr 2004; Travis Tilley <lv@gentoo.org> db-4.1.25_p1-r3.ebuild:
  added fix for bug #48558

*db-4.2.52_p2 (15 Apr 2004)

  15 Apr 2004; Paul de Vrieze <pauldv@gentoo.org> db-4.2.52_p2.ebuild:
  New patch version

  21 Mar 2004; Joshua Kinard <kumba@gentoo.org> db-4.1.25_p1-r3.ebuild:
  Tweak to make gnuconfig work again for mips (the 'dist' dir got moved from
  'build_unix' to one level up)

  07 Mar 2004; Joshua Kinard <kumba@gentoo.org> db-4.1.25_p1-r3.ebuild:
  Marked stable on mips.

  18 Feb 2004; David Holm <dholm@gentoo.org> db-4.2.52_p1.ebuild:
  Added to ~ppc.

  09 Feb 2004; <gustavoz@gentoo.org> db-4.1.25_p1-r3.ebuild:
  stable on sparc

  06 Feb 2004; Martin Schlemmer <azarah@gentoo.org> db-4.1.25_p1-r3.ebuild:
  Bump to stable for x86 (needed by pam-0.77).

  10 Feb 2004; Paul de Vrieze <pauldv@gentoo.org> db-4.0.14-r3.ebuild,
  db-4.1.25_p1-r3.ebuild, db-4.2.52_p1.ebuild:
  Change the runtime dependency to a java runtime environment only

  22 Jan 2004; Luca Barbato <lu_zero@gentoo.org> db-4.0.14-r3.ebuild:
  Marked ppc

  19 Jan 2004; Guy Martin <gmsoft@gentoo.org> db-4.0.14-r2.ebuild,
  db-4.1.25_p1-r3.ebuild:
  Marked stable on hppa.

  16 Jan 2004; Bartosch Pixa <darkspecter@gentoo.org> db-4.1.25_p1-r3.ebuild:
  set ppc in keywords

  28 Dec 2003; Joshua Kinard <kumba@gentoo.org> db-4.0.14-r2.ebuild:
  Move to mips stable (~mips -> mips)

*db-4.2.52_p1 (22 Dec 2003)

  22 Dec 2003; <paul@gentoo.org> db-4.2.52_p1.ebuild,
  files/db-4.2-jarlocation.patch:
  New upstream version. It is for now still masked for testing. There should be
  no problems though.

  21 Dec 2003; Brad House <brad_mssw@gentoo.org> db-4.1.25_p1-r3.ebuild:
  mark stable on amd64

  20 Dec 2003; <paul@gentoo.org> db-3.2.9-r2.ebuild, db-3.2.9-r6.ebuild,
  db-3.2.9-r8.ebuild, db-4.0.14-r1.ebuild, db-4.0.14.ebuild, db-4.1.25.ebuild,
  db-4.1.25_p1-r1.ebuild, db-4.1.25_p1-r2.ebuild, db-4.1.25_p1.ebuild:
  Remove old versions. Clean things up

  20 Dec 2003; <paul@gentoo.org> db-4.1.25_p1-r3.ebuild:
  A gnuconfig update for mips. The patch comes from kumba@gentoo.org

  15 Dec 2003; Joshua Kinard <kumba@gentoo.org> db-4.1.25_p1-r3.ebuild:
  Added ~mips to keywords

*db-4.1.25_p1-r3 (14 Dec 2003)

  20 Dec 2003; Guy Martin <gmsoft@gentoo.org> db-4.1.25_p1-r3.ebuild :
  Added ~hppa to KEYWORDS.

  14 Dec 2003; Jason Wever <weeve@gentoo.org> db-4.1.25_p1-r3.ebuild:
  Added sparc64 fix and and ~sparc keyword.

  06 Nov 2003; Paul de Vrieze <pauldv@gentoo.org> db-4.0.14-r3.ebuild:
  Add the fix for the ibm jdk

  02 Nov 2003; <paul@gentoo.org> :
  Include the fix from db-4.0.14-r1 for the pthread library.

  31 Oct 2003; Luca Barbato <lu_zero@gentoo.org> db-4.1.25_p1-r2.ebuild:
  Marked ~ppc

  26 Oct 2003; Brad House <brad_mssw@gentoo.org> db-4.1.25_p1-r2.ebuild:
  add amd64 flag

  23 Oct 2003; Paul de Vrieze <pauldv@gentoo.org> db-4.0.14.ebuild,
  db-4.1.25_p1-r2.ebuild:
  Fix sandbox problems related to ibm jdk wanting to write to /proc/self/maps

*db-4.1.25_p1-r2 (18 Oct 2003)
*db-4.0.14-r3 (18 Oct 2003)
*db-3.2.9-r10 (18 Oct 2003)

  18 Oct 2003; Robin H. Johnson <robbat2@gentoo.org> db-3.2.9-r10.ebuild,
  db-4.0.14-r3.ebuild, db-4.1.25_p1-r2.ebuild,
  files/db-3.2.9-jarlocation.patch, files/db-4.0.14-jarlocation.patch,
  files/db-4.1.25_p1-jarlocation.patch:
  new revision of db-3 and db-4.[01] packages adding patch to avoid db.jar
  overwriting, adds java support to db-3.2.9-r10, and rpc support in db-4.[01]

  15 Oct 2003; Brad House <brad_mssw@gentoo.org> db-1.85-r1.ebuild,
  db-3.2.9-r7.ebuild:
  add amd64 flags to db-1.85-r1, and move db-3.2.9-r7 to stable

  14 Oct 2003; Aron Griffis <agriffis@gentoo.org> db-4.1.25_p1-r1.ebuild:
  Add ~alpha

  12 Oct 2003; Robin H. Johnson <robbat2@gentoo.org> db-4.1.25_p1-r1.ebuild:
  bump to ~x86

  10 Oct 2003; Alexander Gabert <pappy@gentoo.org> db-3.2.9-r7.ebuild,
  db-3.2.9-r9.ebuild, db-4.0.14-r2.ebuild:
  removed hardened-gcc comment fields

  09 Oct 2003; Alexander Gabert <pappy@gentoo.org> db-4.0.14-r2.ebuild:
  commented out hardened-gcc flags

  04 Oct 2003; Brad House <brad_mssw@gentoo.org> db-4.0.14-r2.ebuild,
  db-4.1.25.ebuild, db-4.1.25_p1-r1.ebuild, db-4.1.25_p1.ebuild:
  db-4.1.25 is not very palatable for many apps, and at this point causes many
  problems. Not sure why amd64 was set to stable with this. The only other
  platform that was also is ia64. Remove the stable flag, don't even turn on the
  ~amd64 flag as it causes too many problems. Make 4.0.14-r2 the stable
  4.0 series.

  02 Oct 2003; Brad House <brad_mssw@gentoo.org> db-3.2.9-r7.ebuild:
  add ~amd64 flag

  01 Oct 2003; Jason Wever <weeve@gentoo.org> db-4.0.14-r2.ebuild:
  Added sparc keyword, fixed bug #28328.

  01 Oct 2003; Aron Griffis <agriffis@gentoo.org> db-4.0.14-r2.ebuild:
  Stable on alpha

  01 Oct 2003; Robin H. Johnson <robbat2@gentoo.org> db-3.2.9-r9.ebuild:
  bump db-3.2.9-r9 to stable on x86

*db-3.2.9-r6 (23 Sep 2003)

  23 Sep 2003; Bartosch Pixa <darkspecter@gentoo.org> db-3.2.9-r6.ebuild:
  set ppc in keywords

  20 Sep 2003; Alexander Gabert <pappy@gentoo.org> db-4.0.14-r2.ebuild:
  added configure logic for hardened-gcc

  13 Sep 2003; Robin H. Johnson <robbat2@gentoo.org> db-4.0.14-r2.ebuild:
  added Kumba's changes for mips

  08 Sep 2003; Alexander Gabert <pappy@gentoo.org> db-3.2.9-r7.ebuild,
  db-3.2.9-r9.ebuild, db-4.0.14-r2.ebuild:
  changed hardened-gcc, db works now with etdyn

  08 Sep 2003; Robin H. Johnson <robbat2@gentoo.org> db-4.0.14-r2.ebuild:
  mark db-4.0 as stable on x86, and put it into testing on all other arches

  07 Sep 2003; Alexander Gabert <pappy@gentoo.org> db-3.2.9-r7.ebuild,
  db-3.2.9-r9.ebuild, db-4.0.14-r2.ebuild:
  added hardened-gcc changes to CC

*db-3.2.9-r9 (02 Sep 2003)

  02 Sep 2003; Robin H. Johnson <robbat2@gentoo.org> db-3.2.9-r9.ebuild:
  add some more symlink stuff to db_fix_so in the eclass, and remove the old
  broken leftover parts from ebuild

*db-4.1.25_p1-r1 (21 Aug 2003)
*db-4.0.14-r2 (21 Aug 2003)

  21 Aug 2003; Robin H. Johnson <robbat2@gentoo.org> db-3.2.9-r8.ebuild,
  db-4.0.14-r2.ebuild, db-4.1.25_p1-r1.ebuild:
  crucial fix to all ebuilds db-3 or newer for bad symlinks in /usr/lib and
  /usr/include, code is now in db.eclass

*db-3.2.9-r7 (17 Aug 2003)

  17 Aug 2003; Paul de Vrieze <pauldv@gentoo.org> db-3.2.3h-r4.ebuild,
  db-3.2.9-r1.ebuild, db-3.2.9-r5.ebuild, db-3.2.9-r7.ebuild, db-3.2.9.ebuild:
  New stable version with support for db-4 and that actually installs the static
  libraries

*db-4.0.14-r1 (16 Aug 2003)

  16 Aug 2003; Martin Schlemmer <azarah@gentoo.org> db-4.0.14-r1.ebuild,
  files/db-4.0.14-fix-dep-link.patch:
  Get db to link libdb* to correct dependencies ... for example if we use
  NPTL or NGPT, db detects usable mutexes, and should link against
  libpthread, but does not do so ...

*db-4.1.25_p1 (05 Aug 2003)

  05 Aug 2003; Paul de Vrieze <pauldv@gentoo.org> db-4.1.25_p1.ebuild:
  Make a version that applies the upstream patches

  01 Aug 2003; Paul de Vrieze <pauldv@gentoo.org> db-4.0.14.ebuild,
  db-4.1.24.ebuild, db-4.1.25.ebuild:
  Make sure that db-4.1 is in a different slot as db-4, and that there are no
  duplicates. db-4 is still masked though

  01 Aug 2003; Paul de Vrieze <pauldv@gentoo.org> db-4.0.14.ebuild:
  Mark db-4.0.14 as testing. There probably still will be some minor problems,
  but these can be better handled when the package is testing. Some of the
  dependent packages do not really like versioned symbols. We do need to use
  them though to be able to run multiple versions in parallel and so providing
  an update path

  03 Jul 2003; Paul de Vrieze <pauldv@gentoo.org> db-4.1.25.ebuild:
  Allow db-4.0 and db-4.1 to be both installed, by putting db-4.1 in a different
  slot and by renaming the binaries to db41_??? instead of db4_???

  01 Jul 2003; Todd Sunderlin <todd@gentoo.org> db-3.2.9-r5.ebuild:
  set stable on sparc

  26 Jun 2003; Paul de Vrieze <pauldv@gentoo.org> db-4.0.14.ebuild,
  db-4.1.24.ebuild, db-4.1.25.ebuild:
  Make sure that latest db.h gets linked to /usr/include/db.h. Also add
  db_185.h link to /usr/include

  22 Jun 2003; Paul de Vrieze <pauldv@gentoo.org> db-3.2.9-r5.ebuild,
  db-4.0.14.ebuild, db-4.1.24.ebuild, db-4.1.25.ebuild:
  Fix java compilation problem

  19 Jun 2003; Paul de Vrieze <pauldv@gentoo.org> db-3.2.9-r5.ebuild:
  Make db-3.2.9-r5 respect CFLAGS, by hacking the configure script (#22415)

  07 Jun 2003; Paul de Vrieze <pauldv@gentoo.org> db-3.2.9-r5.ebuild,
  db-4.0.14.ebuild, db-4.1.24.ebuild, db-4.1.25.ebuild:
  Fix the autosymlinking script to work in a cross environment. Courtessy of
  Alastair Tse <liquidx@gentoo.org>, bug #22393.

*db-4.1.25 (30 May 2003)

  30 May 2003; Paul de Vrieze <pauldv@gentoo.org> db-4.1.25.ebuild:
  Add new upstream version db-4.1.25.

  28 May 2003; Grant Goodyear <g2boojum@gentoo.org> db-4.0.14.ebuild:
  Changed goofy "-x86" mask to "~x86" masks, since the package
  is still hard-masked in package.mask.  (This way those of us
  trying to test this package can use package.unmask!)

  28 May 2003; Paul de Vrieze <pauldv@gentoo.org> db-3.2.9-r5.ebuild:
  Masking db-3.2.9-r5 as testing. This should be stable. The only changes are
  the renaming of all tools from db_<bla> to db3_<bla>

  25 May 2003; Paul de Vrieze <pauldv@gentoo.org> db-3.2.9-r5.ebuild,
  db-4.0.14.ebuild, db-4.1.24.ebuild:
  Fix a problem with the auto header linking script. It is not necessary toe
  locally, but in that case you need to do ln -s db4/db.h /usr/include/db.h

  25 May 2003; Paul de Vrieze <pauldv@gentoo.org> db-4.0.14.ebuild,
  db-4.1.24.ebuild:
  Make java work with db-4{0,1}

*db-3.2.9-r5 (24 May 2003)

  24 May 2003; Paul de Vrieze <pauldv@gentoo.org> db-3.2.9-r5.ebuild,
  db-4.0.14.ebuild, db-4.1.24.ebuild:
  The db4 ebuilds have now been changed to live alongside the db3 ebuilds. Also
  the db-3.2.9-r5 ebuild is created to go along with the db-4 ebuilds. This
  ebuild is more gentle to the db4 ebuild, but upgrading this is not that
  necessary.

  19 May 2003; Zach Welch <zwelch@gentoo.org> db-3.2.9-r2.ebuild:
  Mark all platforms stable in 3.2.9-r2 KEYWORDS

  06 May 2003; Paul de Vrieze <pauldv@gentoo.org> db-4.0.14.ebuild,
  db-4.1.24.ebuild:
  Change db-4.* ebuilds to build with versioned (unique) symbols, to allow for
  parallel db versions to be installed and used

*db-3.2.9-r2 (23 Feb 2003)

  11 Mar 2003; Zach Welch <zwelch@gentoo.org> db-3.2.9-r2.ebuild:
  mark stable on arm

  01 Mar 2003; Brandon Low <lostlogic@gentoo.org> db-3.2.9-r1.ebuild,
  db-3.2.9-r2.ebuild, db-4.1.24.ebuild:
  Fix for userpriv and make -> emake changes

  24 Feb 2003; Brandon Low <lostlogic@gentoo.org> db-3.2.9-r2.ebuild :
  Fix for userpriv mode

  23 Feb 2003; Martin Schlemmer <azarah@gentoo.org> :
  Fix build to link libdb*.so to dependency libs .. for instance when building
  with NPTL we need to link to libpthread.
  Fix the db185 stuff to not have to hack the build to pieces to build.
  We should compile shared and static libs in two diff build dirs ...

  20 Feb 2003; Zach Welch <zwelch@gentoo.org> db-1.85-r1.ebuild , db-3.2.9-r1.ebuild :
  Added arm to keywords.

  07 Feb 2003; Guy Martin <gmsoft@gentoo.org> db-1.85-r1.ebuild , db-3.2.9-r1.ebuild :
  Added hppa to keywords.

*db-1.85-r1.ebuild , db-3.2.9-r1.ebuild (13 Dec 2002)

  13 Dec 2002; Jan Seidel <tuxus@gentoo.org> db-1.85-r1.ebuild , db-3.2.9-r1.ebuild :
  Added mips to keywords.

  06 Dec 2002; Rodney Rees <manson@gentoo.org> : changed sparc ~sparc keywords
 
*db-3.3.11 (16 Nov 2002)

  16 Nov 2002; Seemant Kulleen <seemant@gentoo.org> db-3.3.11.ebuild :

  Made this install similar to db-3.2.9 which should make this version more
  usable. Still masked. Closes bug #9900 by l_calamandrei@neri-group.com
  (Lapo Calamandrei)

*db-4.1.24 (08 Oct 2002)

  14 Nov 2002; Seemant Kulleen <seemant@gentoo.org> db-4.1.24.ebuild :

  Removed posixmutexes option as it is rarely needed on linux systems and it
  kills the config.  Closes bug #10678 by jani@iv.ro

  23 Oct 2002; Mark Guertin <gerk@gentoo.org> db-4.1.24.ebuild :
  set -ppc in keywords, not working on ppc, investigating further.
  (some pthreads problems it seems)

  21 Oct 2002; Seemant Kulleen <seemant@gentoo.org> db-4.1.24.ebuild :

  changed configure statement to add a few features (like db-1.8.5
  compatibility).

  08 Oct 2002; Ryan Phillips <rphillips@gentoo.org> :

  version bump.. has new crypto support

*db-3.2.9-r1 (28 Jul 2002)

  22 Oct 2002; Seemant Kulleen <seemant@gentoo.org> : db-3.2.9-r1.ebuild :

  Update SRC_URI.  Thanks to: zinzarin@ameritech.net (Rob Riemersma) in bug
  #9493.

  28 Jul 2002; Martin Schlemmer <azarah@gentoo.org> :
  Update to get it working with gcc-3.2 (remove config.guess), as well
  as cleanups.

*db-3.2.9 (25 Jul 2002)
  25 Jul 2002; Spider <spider@gentoo.org> :
  Add a fix to remove -fno-exceptions in CXXFLAGS as it doesnt build then
  
*db-4.0.14 (30 Jan 2002)

*db-1.85-r2 (8 May 2002)

  15 Jul 2002; Mark Guertin <gerk@gentoo.org>
  Added ppc to keywords

  1 Feb 2002; José Alberto Suárez López <bass@gentoo.org> Changelog db-1.85-r1.ebuild :

  Fixed an error with the source url.

*db-3.2.3h-r4 (21 Mar 2002)

  15 Jul 2002; Mark Guertin <gerk@gentoo.org>
  Added ppc to keywords

  21 Mar 2002; Seemant Kulleen <seemant@gentoo.org> db-3.2.3h-r4.ebuild :

  HTML documentation will no longer get gzipped -- but too small a change
  to warrant having the users remerge this.  Thanks so stefan@mdy.univie.ac.at 
  for the bug.

*db-3.2.3h-r4 (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.

*db-1.85-r1 (07 Feb 2001)
