# ChangeLog for perl-core/Package-Constants
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/perl-core/Package-Constants/ChangeLog,v 1.22 2011/07/30 12:21:27 tove Exp $

  30 Jul 2011; Torsten Veller <tove@gentoo.org>
  Package-Constants-0.20.0.ebuild:
  Drop ~sparc-fbsd KEYWORD

*Package-Constants-0.20.0 (20 May 2011)

  20 May 2011; Torsten Veller <tove@gentoo.org> -Package-Constants-0.02.ebuild,
  +Package-Constants-0.20.0.ebuild:
  Change version scheme

  17 Jan 2010; Torsten Veller <tove@gentoo.org>
  -Package-Constants-0.01.ebuild:
  Cleanup

  05 Jan 2010; nixnut <nixnut@gentoo.org> Package-Constants-0.02.ebuild:
  ppc stable #288026

  16 Dec 2009; Jonathan Callen <abcd@gentoo.org>
  Package-Constants-0.01.ebuild, Package-Constants-0.02.ebuild:
  QA: Transfer prefix keywords

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

  10 Dec 2009; Brent Baude <ranger@gentoo.org>
  Package-Constants-0.02.ebuild:
  Marking Package-Constants-0.02 ppc64 stable for bug 288026

  07 Dec 2009; Markus Meier <maekke@gentoo.org>
  Package-Constants-0.02.ebuild:
  arm stable, bug #288026

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

  04 Dec 2009; Torsten Veller <tove@gentoo.org>
  Package-Constants-0.02.ebuild:
  Stable on amd64 (#288026)

  04 Dec 2009; Christian Faulhammer <fauli@gentoo.org>
  Package-Constants-0.02.ebuild:
  x86 stable, bug 288026

*Package-Constants-0.02 (23 Dec 2008)

  23 Dec 2008; Robin H. Johnson <robbat2@gentoo.org>
  +Package-Constants-0.02.ebuild:
  Version bump.

  10 Dec 2008; Alexis Ballier <aballier@gentoo.org>
  Package-Constants-0.01.ebuild:
  keyword ~sparc-fbsd

  04 Nov 2008; Mike Frysinger <vapier@gentoo.org>
  Package-Constants-0.01.ebuild:
  Add arm/s390/sh love.

  27 Oct 2008; Alexis Ballier <aballier@gentoo.org>
  Package-Constants-0.01.ebuild:
  keyword ~x86-fbsd

  23 Oct 2008; Tobias Scherbaum <dertobi123@gentoo.org>
  Package-Constants-0.01.ebuild:
  ppc stable, bug #192989

  23 Oct 2008; Raúl Porcel <armin76@gentoo.org>
  Package-Constants-0.01.ebuild:
  alpha/ia64/x86 stable wrt #192989

  22 Oct 2008; Guy Martin <gmsoft@gentoo.org> Package-Constants-0.01.ebuild:
  hppa stable, #192989

  21 Oct 2008; Markus Rothe <corsair@gentoo.org>
  Package-Constants-0.01.ebuild:
  Stable on ppc64; bug #192989

  21 Oct 2008; Tobias Heinlein <keytoaster@gentoo.org>
  Package-Constants-0.01.ebuild:
  Keyworded and stable for amd64, security bug #192989

  20 Oct 2008; Friedrich Oslage <bluebird@gentoo.org>
  Package-Constants-0.01.ebuild:
  Keyworded and stable for sparc, security bug #192989

*Package-Constants-0.01 (20 Oct 2008)

  20 Oct 2008; Torsten Veller <tove@gentoo.org> +metadata.xml,
  +Package-Constants-0.01.ebuild:
  Initial commit.

