# ChangeLog for perl-core/Test-Harness
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/perl-core/Test-Harness/ChangeLog,v 1.61 2011/07/30 12:26:09 tove Exp $

  30 Jul 2011; Torsten Veller <tove@gentoo.org> Test-Harness-3.17.ebuild,
  Test-Harness-3.22.ebuild, Test-Harness-3.230.0.ebuild:
  Drop ~sparc-fbsd KEYWORD

*Test-Harness-3.230.0 (25 Apr 2011)

  25 Apr 2011; Torsten Veller <tove@gentoo.org> -Test-Harness-3.230.ebuild,
  +Test-Harness-3.230.0.ebuild:
  Change version scheme

*Test-Harness-3.230 (23 Feb 2011)

  23 Feb 2011; Torsten Veller <tove@gentoo.org> +Test-Harness-3.230.ebuild:
  Version bump

  14 Oct 2010; Torsten Veller <tove@gentoo.org> +files/3.17-taint.patch,
  Test-Harness-3.17.ebuild:
  Fix test failure with perl-5.12

  13 Sep 2010; Torsten Veller <tove@gentoo.org> -Test-Harness-3.20.ebuild,
  -Test-Harness-3.21.ebuild:
  Cleanup

*Test-Harness-3.22 (17 Aug 2010)

  17 Aug 2010; Torsten Veller <tove@gentoo.org> +Test-Harness-3.22.ebuild:
  Version bump

*Test-Harness-3.21 (02 Feb 2010)

  02 Feb 2010; Torsten Veller <tove@gentoo.org> +Test-Harness-3.21.ebuild:
  Version bump

*Test-Harness-3.20 (23 Jan 2010)

  23 Jan 2010; Torsten Veller <tove@gentoo.org> +Test-Harness-3.20.ebuild:
  Version bump

  17 Jan 2010; Torsten Veller <tove@gentoo.org> -Test-Harness-2.64.ebuild,
  -Test-Harness-3.10.ebuild, -Test-Harness-3.16.ebuild:
  Cleanup

  05 Jan 2010; nixnut <nixnut@gentoo.org> Test-Harness-3.17.ebuild:
  ppc stable #288026

  16 Dec 2009; Jonathan Callen <abcd@gentoo.org> Test-Harness-2.64.ebuild,
  Test-Harness-3.16.ebuild, Test-Harness-3.17.ebuild:
  QA: Transfer prefix keywords

  14 Dec 2009; Raúl Porcel <armin76@gentoo.org> Test-Harness-3.17.ebuild:
  alpha/ia64/m68k/s390/sh/sparc stable wrt #288026

  10 Dec 2009; Brent Baude <ranger@gentoo.org> Test-Harness-3.17.ebuild:
  Marking Test-Harness-3.17 ppc64 stable for bug 288026

  07 Dec 2009; Markus Meier <maekke@gentoo.org> Test-Harness-3.17.ebuild:
  arm stable, bug #288026

  07 Dec 2009; Jeroen Roovers <jer@gentoo.org> Test-Harness-3.17.ebuild:
  Stable for HPPA (bug #288026).

  04 Dec 2009; Torsten Veller <tove@gentoo.org> Test-Harness-3.17.ebuild:
  Stable on amd64 (#288026)

  04 Dec 2009; Christian Faulhammer <fauli@gentoo.org>
  Test-Harness-3.17.ebuild:
  x86 stable, bug 288026

  07 Jul 2009; Jeroen Roovers <jer@gentoo.org> Test-Harness-3.10.ebuild:
  Stable for HPPA too.

*Test-Harness-3.17 (06 May 2009)

  06 May 2009; Torsten Veller <tove@gentoo.org> +Test-Harness-3.17.ebuild:
  Version bump

  13 Mar 2009; Torsten Veller <tove@gentoo.org> -Test-Harness-2.56.ebuild,
  -Test-Harness-3.14.ebuild:
  Cleanup

*Test-Harness-3.16 (20 Feb 2009)

  20 Feb 2009; Torsten Veller <tove@gentoo.org> -Test-Harness-3.15.ebuild,
  +Test-Harness-3.16.ebuild:
  Version bump. Cleanup

*Test-Harness-3.15 (18 Feb 2009)

  18 Feb 2009; Torsten Veller <tove@gentoo.org> +Test-Harness-3.15.ebuild:
  Version bump

  30 Jan 2009; Torsten Veller <tove@gentoo.org> metadata.xml,
  -Test-Harness-2.62.ebuild, -Test-Harness-3.12.ebuild,
  -Test-Harness-3.13.ebuild:
  Cleanup

*Test-Harness-3.14 (15 Sep 2008)

  15 Sep 2008; Torsten Veller <tove@gentoo.org> +Test-Harness-3.14.ebuild:
  Version bump

*Test-Harness-3.13 (28 Jul 2008)

  28 Jul 2008; Torsten Veller <tove@gentoo.org> +Test-Harness-3.13.ebuild:
  Version bump

  15 Jul 2008; Raúl Porcel <armin76@gentoo.org> Test-Harness-3.10.ebuild:
  alpha/ia64/sparc/x86 stable

*Test-Harness-3.12 (04 Jul 2008)

  04 Jul 2008; Torsten Veller <tove@gentoo.org> +Test-Harness-3.12.ebuild:
  Version bump (#228057)

  10 May 2008; Torsten Veller <tove@gentoo.org> Test-Harness-3.10.ebuild:
  Using Makefile.PL again.

*Test-Harness-3.10 (09 May 2008)

  09 May 2008; Torsten Veller <tove@gentoo.org> +Test-Harness-3.10.ebuild:
  #219484 - Version bump

  28 Mar 2008; Jeroen Roovers <jer@gentoo.org> Test-Harness-2.64.ebuild:
  Stable for HPPA too.

  11 May 2007; Joshua Kinard <kumba@gentoo.org> Test-Harness-2.64.ebuild:
  Stable on mips.

  05 May 2007; Tobias Scherbaum <dertobi123@gentoo.org>
  Test-Harness-2.64.ebuild:
  ppc stable

  15 Apr 2007; Markus Rothe <corsair@gentoo.org> Test-Harness-2.64.ebuild:
  Stable on ppc64

  03 Mar 2007; Andrej Kacian <ticho@gentoo.org> Test-Harness-2.64.ebuild:
  Stable on x86, bug #169153.

  03 Mar 2007; Michael Cummings <mcummings@gentoo.org>
  Test-Harness-2.64.ebuild:
  Stable on amd64

  22 Jan 2007; Bryan Østergaard <kloeri@gentoo.org>
  Test-Harness-2.64.ebuild:
  Stable on Alpha + IA64.

  21 Jan 2007; Michael Cummings <mcummings@gentoo.org>
  Test-Harness-2.64.ebuild:
  Marking sparc stable

  24 Dec 2006; Tobias Scherbaum <dertobi123@gentoo.org>
  Test-Harness-2.62.ebuild:
  Stable on ppc.

*Test-Harness-2.64 (06 Nov 2006)

  06 Nov 2006; Michael Cummings <mcummings@gentoo.org>
  +Test-Harness-2.64.ebuild:
  Version bump

  23 Oct 2006; Gustavo Zacarias <gustavoz@gentoo.org>
  Test-Harness-2.62.ebuild:
  Stable on hppa

  21 Oct 2006; Bryan Østergaard <kloeri@gentoo.org>
  Test-Harness-2.62.ebuild:
  Stable on Alpha.

  20 Oct 2006; Michael Cummings <mcummings@gentoo.org>
  -Test-Harness-2.30.ebuild, -Test-Harness-2.42.ebuild,
  -Test-Harness-2.52.ebuild:
  Cleaning up old ebuilds

  20 Oct 2006; Michael Cummings <mcummings@gentoo.org>
  Test-Harness-2.30.ebuild, Test-Harness-2.52.ebuild,
  Test-Harness-2.62.ebuild:
  Marking sparc stable

  17 Oct 2006; Roy Marples <uberlord@gentoo.org> Test-Harness-2.62.ebuild:
  Added ~sparc-fbsd keyword.

  04 Aug 2006; Michael Cummings <mcummings@gentoo.org>
  Test-Harness-2.30.ebuild, Test-Harness-2.42.ebuild,
  Test-Harness-2.52.ebuild, Test-Harness-2.56.ebuild,
  Test-Harness-2.62.ebuild:
  Adding perl dep

*Test-Harness-2.62 (24 Jun 2006)

  24 Jun 2006; Michael Cummings <mcummings@gentoo.org>
  +Test-Harness-2.62.ebuild:
  Version bump

  18 Jun 2006; Bryan Østergaard <kloeri@gentoo.org>
  Test-Harness-2.56.ebuild:
  Stable on ia64.

  08 Jun 2006; Joshua Kinard <kumba@gentoo.org> Test-Harness-2.56.ebuild:
  Marked stable on mips.

  27 May 2006; Bryan Østergaard <kloeri@gentoo.org>
  Test-Harness-2.56.ebuild:
  Stable on alpha.

  27 May 2006; <mcummings@gentoo.org> Test-Harness-2.56.ebuild:
  marking sparc stable

  26 May 2006; Chris Gianelloni <wolf31o2@gentoo.org>
  Test-Harness-2.56.ebuild:
  Stable on amd64 and x86 wrt bug #133989.

  26 May 2006; Diego Pettenò <flameeyes@gentoo.org>
  Test-Harness-2.56.ebuild:
  Add ~x86-fbsd keyword.

  26 May 2006; Guy Martin <gmsoft@gentoo.org> Test-Harness-2.56.ebuild:
  Stable on hppa.

  26 May 2006; Markus Rothe <corsair@gentoo.org> Test-Harness-2.56.ebuild:
  Stable on ppc64; bug #133989

  26 May 2006; <nixnut@gentoo.org> Test-Harness-2.56.ebuild:
  Stable on ppc. Bug #133989

  25 Feb 2006; Joshua Kinard <kumba@gentoo.org> Test-Harness-2.56.ebuild:
  Added ~mips to KEYWORDS.

  25 Feb 2006; Joshua Kinard <kumba@gentoo.org> Test-Harness-2.42.ebuild:
  Marked stable on mips.

*Test-Harness-2.56 (11 Nov 2005)

  11 Nov 2005; Michael Cummings <mcummings@gentoo.org>
  +Test-Harness-2.56.ebuild:
  Version bump upstream

*Test-Harness-2.52 (17 Jul 2005)

  17 Jul 2005; Michael Cummings <mcummings@gentoo.org>
  +Test-Harness-2.52.ebuild:
  Upstream bump

*Test-Harness-2.30 (25 May 2005)

  25 May 2005; Michael Cummings <mcummings@gentoo.org> +metadata.xml,
  +Test-Harness-2.30.ebuild, +Test-Harness-2.42.ebuild:
  dev-perl => perl-core migration

  25 May 2005; Michael Cummings <mcummings@gentoo.org>
  Test-Harness-2.30.ebuild:
  dev-perl/File-Spec => perl-core/File-Spec migration

  27 Apr 2005; Michael Cummings <mcummings@gentoo.org>
  -Test-Harness-2.24-r1.ebuild, -Test-Harness-2.24.ebuild,
  -Test-Harness-2.28-r1.ebuild, -Test-Harness-2.28.ebuild:
  Cleaning up

  25 Apr 2005; Bryan Østergaard <kloeri@gentoo.org>
  Test-Harness-2.42.ebuild:
  Stable on alpha.

  11 Apr 2005; Marcus D. Hanwell <cryos@gentoo.org>
  Test-Harness-2.42.ebuild:
  Stable on amd64.

  07 Apr 2005; Michael Hanselmann <hansmi@gentoo.org>
  Test-Harness-2.42.ebuild:
  Stable on ppc.

  02 Apr 2005; Michael Cummings <mcummings@gentoo.org>
  Test-Harness-2.42.ebuild:
  Marking stable for x86 and sparc

  02 Apr 2005; Michael Hanselmann <hansmi@gentoo.org>
  Test-Harness-2.30.ebuild:
  Stable on ppc.

  06 Feb 2005; Markus Rothe <corsair@gentoo.org> Test-Harness-2.42.ebuild:
  Stable on ppc64

  30 Dec 2004; Ciaran McCreesh <ciaranm@gentoo.org> :
  Change encoding to UTF-8 for GLEP 31 compliance

  22 Dec 2004; Yuta SATOH <nigoro@gentoo.org> Test-Harness-2.42.ebuild:
  added ~ppc64

  19 Oct 2004; Dylan Carlson <absinthe@gentoo.org> Test-Harness-2.30.ebuild:
  Stable on amd64.

  06 Aug 2004; Michael Cummings <mcummings@gentoo.org>
  Test-Harness-2.42.ebuild:
  Removed tests and dep for test-pod. The dependancy, which only satisfied
  testing, was resulting in a loop of
  test-harness->test-pod->test-builder-tester->test-simple->test-harness.
  Esammer found this bug, just committing since I was on.

*Test-Harness-2.42 (05 Jun 2004)

  05 Jun 2004; Michael Cummings <mcummings@gentoo.org>
  Test-Harness-2.42.ebuild:
  new version on cpan

  26 May 2004; Bryan Østergaard <kloeri@gentoo.org> Test-Harness-2.30.ebuild:
  Stable on alpha.

  26 Mar 2004; Gustavo Zacarias <gustavoz@gentoo.org>
  Test-Harness-2.30.ebuild:
  stable on hppa

  20 Mar 2004; Joshua Kinard <kumba@gentoo.org> Test-Harness-2.30.ebuild:
  Marked stable on mips.

  03 Mar 2004; Gustavo Zacarias <gustavoz@gentoo.org>
  Test-Harness-2.30.ebuild:
  stable on sparc

  27 Feb 2004; Michael Cummings <mcummings@gentoo.org>
  Test-Harness-2.30.ebuild:
  Unmasking for x86 after 196 days

  27 Feb 2004; Michael Cummings <mcummings@gentoo.org>
  Test-Harness-2.29-r1.ebuild, Test-Harness-2.29.ebuild:
  Removing old versions not in use

  24 Feb 2004; Joshua Kinard <kumba@gentoo.org> Test-Harness-2.30.ebuild:
  Added ~mips to satisfy repoman deps.

*Test-Harness-2.30 (15 Aug 2003)

  15 Aug 2003; Michael Cummings <mcummings@gentoo.org>
  Test-Harness-2.30.ebuild:
  CPAN Version bump - doc fixes

*Test-Harness-2.29-r1 (28 Jul 2003)
*Test-Harness-2.28-r1 (28 Jul 2003)

  28 Jul 2003; <rac@gentoo.org> Test-Harness-2.28-r1.ebuild,
  Test-Harness-2.29-r1.ebuild:
  Allow >=perl-5.8.0-r12 to fulfill the Test-Simple dependency.

*Test-Harness-2.29 (17 Jul 2003)

  17 Jul 2003; Michael Cummings <mcummings@gentoo.org>
  Test-Harness-2.29.ebuild:
  CPAN version bump

  24 Jun 2003; Aron Griffis <agriffis@gentoo.org> Test-Harness-2.28.ebuild:
  Mark stable on alpha

  03 Jun 2003; Christian Birchinger <joker@gentoo.org>
  Test-Harness-2.28.ebuild:
  Added sparc stable keyword

  31 May 2003; Michael Cummings <mcummings@gentoo.org>
  Test-Harness-2.28.ebuild:
  Fixed SRC_URI - thanks Weeve!

*Test-Harness-2.28 (31 May 2003)

  02 Jul 2003; Guy Martin <gmsoft@gentoo.org> Test-Harness-2.28.ebuild :
  Marked stable on hppa.

  31 May 2003; Michael Cummings <mcummings@gentoo.org>
  Test-Harness-2.28.ebuild:
  New version from CPAN

  30 May 2003; Seemant Kulleen <seemant@gentoo.org>
  Test-Harness-2.24-r1.ebuild:
  took out make test

*Test-Harness-2.24-r1 (29 Oct 2002)

  05 Apr 2003; Zach Welch <zwelch@gentoo.org> Test-Harness-2.24-r1.ebuild:
  add arm keyword

  20 Mar 2003; Guy Martin <gmsoft@gentoo.org> Test-Harness-2.24-r1.ebuild :
  Added hppa to KEYWORDS.

  06 Dec 2002; Rodney Rees <manson@gentoo.org> : changed sparc ~sparc keywords
 
  29 Oct 2002; Seemant Kulleen <seemant@gentoo.org> ChangeLog  :
  forced version bump to install into correct locations

*Test-Harness-2.24 (14 Jun 2002)

  1 Aug 2002; Calum Selkirk <cselkirk@gentoo.org> Test-Harness-2.24.ebuild :

  Added ppc to KEYWORDS.

  14 Jun 2002; Seemant Kulleen <seemant@gentoo.org> Test-Harness-2.24.ebuild
  files/digest-Test-Harness-2.24 :

  Initial package for testing perl modules during their compilation.
  Submitted by Alexander Gretencord <arutha@gmx.de> in bug #3513
