# ChangeLog for gnome-extra/gnome-power-manager
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/gnome-extra/gnome-power-manager/ChangeLog,v 1.114 2010/03/08 14:42:28 eva Exp $

  08 Mar 2010; Gilles Dartiguelongue <eva@gentoo.org>
  -files/gnome-power-manager-2.16.3-doc.patch,
  -gnome-power-manager-2.20.0-r1.ebuild, gnome-power-manager-2.22.1.ebuild,
  gnome-power-manager-2.24.4-r2.ebuild, -gnome-power-manager-2.26.4.ebuild,
  -gnome-power-manager-2.28.1.ebuild, -gnome-power-manager-2.28.2.ebuild:
  Clean up old revisions. Re-keyword ~x86-fbsd where dependencies are
  satisfied.

*gnome-power-manager-2.28.3 (25 Jan 2010)

  25 Jan 2010; Romain Perier <mrpouet@gentoo.org>
  +gnome-power-manager-2.28.3.ebuild:
  Version bump. Bugfixes.

*gnome-power-manager-2.28.2 (17 Dec 2009)

  17 Dec 2009; Gilles Dartiguelongue <eva@gentoo.org>
  +gnome-power-manager-2.28.2.ebuild:
  Version bump. Translation updates.

*gnome-power-manager-2.28.1 (29 Oct 2009)

  29 Oct 2009; Gilles Dartiguelongue <eva@gentoo.org>
  +gnome-power-manager-2.28.1.ebuild:
  New version for GNOME 2.28.

*gnome-power-manager-2.26.4-r1 (26 Oct 2009)

  26 Oct 2009; Rémi Cardona <remi@gentoo.org>
  -files/gnome-power-manager-2.26.1-fix-xrandr-1.3-detection.patch,
  +gnome-power-manager-2.26.4-r1.ebuild,
  +files/gnome-power-manager-2.26.4-Check-for-XRR-functions-using-library-ve
  rsion-instea.patch,
  +files/gnome-power-manager-2.26.4-Remove-an-unused-include-to-fix-compile.
  patch,
  +files/gnome-power-manager-2.26.4-Use-a-larger-DPMS-idletime-timeout-to-mi
  tigate-an-XS.patch:
  backport patches from upstream, add randr patch

  28 Sep 2009; Gilles Dartiguelongue <eva@gentoo.org>
  gnome-power-manager-2.24.4-r2.ebuild, gnome-power-manager-2.26.4.ebuild:
  Fix build with USE=-doc, bug #286728.

*gnome-power-manager-2.26.4 (09 Aug 2009)

  09 Aug 2009; Gilles Dartiguelongue <eva@gentoo.org>
  +files/gnome-power-manager-2.26.0-gcc44-options.patch,
  +files/gnome-power-manager-2.26.1-fix-xrandr-1.3-detection.patch,
  +gnome-power-manager-2.26.4.ebuild:
  New version for GNOME 2.26. Port to devicekit-power.

*gnome-power-manager-2.24.4-r2 (02 May 2009)

  02 May 2009; Daniel Gryniewicz <dang@gentoo.org>
  -gnome-power-manager-2.24.4-r1.ebuild,
  +gnome-power-manager-2.24.4-r2.ebuild:
  Bump to gnome-power-manager-2.24.4-r2
  - Don't install hal's policy files; hal does it now bug #268243

  22 Apr 2009; Gilles Dartiguelongue <eva@gentoo.org>
  gnome-power-manager-2.20.0-r1.ebuild, -gnome-power-manager-2.20.2.ebuild,
  gnome-power-manager-2.24.4-r1.ebuild:
  Add policykit optional dependencies, bug #267100.

  09 Apr 2009; Gilles Dartiguelongue <eva@gentoo.org>
  gnome-power-manager-2.24.4-r1.ebuild:
  Remove stupid gcc flags, bug #265317.

  28 Mar 2009; Gilles Dartiguelongue <eva@gentoo.org>
  gnome-power-manager-2.24.4-r1.ebuild:
  Make it libtool-1 compatible, bug #264057.

  25 Mar 2009; Gilles Dartiguelongue <eva@gentoo.org>
  -gnome-power-manager-2.16.3.ebuild, gnome-power-manager-2.24.4-r1.ebuild:
  eautoreconf after applying patches that modifies autotools, bug #263476.

*gnome-power-manager-2.24.4-r1 (22 Mar 2009)

  22 Mar 2009; Nirbheek Chauhan <nirbheek@gentoo.org>
  -gnome-power-manager-2.24.4.ebuild, +gnome-power-manager-2.24.4-r1.ebuild:
  Fix CPUFreq regression, bug 247614

*gnome-power-manager-2.24.4 (11 Mar 2009)

  11 Mar 2009; Nirbheek Chauhan <nirbheek@gentoo.org>
  +files/org.freedesktop.hal.power-management.policy, metadata.xml,
  +gnome-power-manager-2.24.4.ebuild:
  Bump to 2.24.4 -- p.masked due to CPU freq regression bug 247614

  07 Feb 2009; Arun Raghavan <ford_prefect@gentoo.org>
  gnome-power-manager-2.22.1.ebuild:
  Add a note about requiring gnome-extra/gnome-screensaver for
  suspend/hibernate on idle - bug #253867

  13 Nov 2008; Brent Baude <ranger@gentoo.org>
  gnome-power-manager-2.22.1.ebuild:
  Marking gnome-power-manager-2.22.1 ppc64 stable for bug 236971

  11 Nov 2008; Daniel Gryniewicz <dang@gentoo.org>
  gnome-power-manager-2.22.1.ebuild:
  Fix cpu_freq command

  26 Oct 2008; Markus Rothe <corsair@gentoo.org>
  gnome-power-manager-2.22.1.ebuild:
  Added ~ppc64

  12 Aug 2008; Raúl Porcel <armin76@gentoo.org>
  gnome-power-manager-2.22.1.ebuild:
  alpha/ia64/sparc stable wrt #229709

  10 Aug 2008; Markus Meier <maekke@gentoo.org>
  gnome-power-manager-2.22.1.ebuild:
  x86 stable, bug #229709

  30 Jul 2008; Brent Baude <ranger@gentoo.org>
  gnome-power-manager-2.22.1.ebuild:
  Marking gnome-power-manager-2.22.1 ppc stable for bug 229709

  26 Jul 2008; Olivier Crête <tester@gentoo.org>
  gnome-power-manager-2.22.1.ebuild:
  Stable on amd64, bug #229709

  15 Jul 2008; Jeroen Roovers <jer@gentoo.org>
  gnome-power-manager-2.22.1.ebuild:
  Stable for HPPA (bug #218794).

  09 Jun 2008; nixnut <nixnut@gentoo.org> gnome-power-manager-2.22.1.ebuild:
  Added ~ppc wrt bug 218794

  14 May 2008; Gilles Dartiguelongue <eva@gentoo.org>
  gnome-power-manager-2.16.3.ebuild, gnome-power-manager-2.20.0-r1.ebuild,
  gnome-power-manager-2.20.2.ebuild:
  remove mentions of pam_console, the ebuild is gone.

  19 Apr 2008; Gilles Dartiguelongue <eva@gentoo.org>
  gnome-power-manager-2.20.0-r1.ebuild, gnome-power-manager-2.20.2.ebuild,
  -gnome-power-manager-2.22.0.ebuild, gnome-power-manager-2.22.1.ebuild:
  add scrollkeeper to DEPEND to go with gnome-doc-utils, bug #216568.

  19 Apr 2008; Gilles Dartiguelongue <eva@gentoo.org>
  -gnome-power-manager-2.20.1.ebuild, gnome-power-manager-2.22.1.ebuild:
  add a note about cpufreq interface, bug #203398.

  30 Mar 2008; Gilles Dartiguelongue <eva@gentoo.org>
  +gnome-power-manager-2.22.1.ebuild:
  bump to 2.22.1, bugs fixes and restrict tests, bug #196490

*gnome-power-manager-2.22.1 (29 Mar 2008)

  29 Mar 2008; Gilles Dartiguelongue <eva@gentoo.org>
  +gnome-power-manager-2.22.1.ebuild:
  bump to 2.22.1, bug fixes.

*gnome-power-manager-2.22.0 (26 Mar 2008)

  26 Mar 2008; Gilles Dartiguelongue <eva@gentoo.org>
  +gnome-power-manager-2.22.0.ebuild:
  New version for GNOME-2.22. Bug fixes notably brightness and battery
  profiling.

  02 Mar 2008; Mart Raudsepp <leio@gentoo.org>
  gnome-power-manager-2.20.2.ebuild:
  Readd alpha, ia64 and sparc keywords with permission - they should have
  never been dropped for 2.20.2

  02 Feb 2008; Chris Gianelloni <wolf31o2@gentoo.org>
  gnome-power-manager-2.20.2.ebuild:
  Stable on amd64 wrt bug #208366.

  01 Feb 2008; Christian Faulhammer <opfer@gentoo.org>
  gnome-power-manager-2.20.2.ebuild:
  stable x86, bug 208366

*gnome-power-manager-2.20.2 (22 Dec 2007)

  22 Dec 2007; Gilles Dartiguelongue <eva@gentoo.org>
  +gnome-power-manager-2.20.2.ebuild:
  bump to 2.20.2

  13 Dec 2007; Saleem Abdulrasool <compnerd@gentoo.org>
  gnome-power-manager-2.16.3.ebuild:
  fix quoting issues

  13 Dec 2007; Saleem Abdulrasool <compnerd@gentoo.org>
  -files/gpm-2.18.3-slotted-gstreamer.patch,
  -gnome-power-manager-2.18.3.ebuild, -gnome-power-manager-2.18.3-r1.ebuild:
  prune unused versions

  29 Nov 2007; Jeroen Roovers <jer@gentoo.org>
  gnome-power-manager-2.20.0-r1.ebuild:
  Stable for HPPA (bug #199740).

  27 Nov 2007; Jeroen Roovers <jer@gentoo.org>
  gnome-power-manager-2.18.3-r1.ebuild:
  Stable for HPPA (bug #199322).

  24 Nov 2007; Brent Baude <ranger@gentoo.org>
  gnome-power-manager-2.20.0-r1.ebuild:
  Marking gnome-power-manager-2.20.0-r1 ppc stable for bug 199740

*gnome-power-manager-2.20.1 (23 Nov 2007)

  23 Nov 2007; Saleem Abdulrasool <compnerd@gentoo.org>
  +gnome-power-manager-2.20.1.ebuild:
  Version bump from upstream

  22 Nov 2007; Raúl Porcel <armin76@gentoo.org>
  gnome-power-manager-2.20.0-r1.ebuild:
  alpha/ia64/sparc stable wrt #199740

  21 Nov 2007; Samuli Suominen <drac@gentoo.org>
  +files/gnome-power-manager-2.16.3-doc.patch,
  gnome-power-manager-2.16.3.ebuild:
  Fix documentation issues wrt bug #199218.

  21 Nov 2007; Dawid Węgliński <cla@gentoo.org>
  gnome-power-manager-2.20.0-r1.ebuild:
  Stable on x86 (bug #199740)

  20 Nov 2007; Samuli Suominen <drac@gentoo.org>
  gnome-power-manager-2.20.0-r1.ebuild:
  amd64 stable wrt #199740

  19 Nov 2007; Rémi Cardona <remi@gentoo.org>
  -gnome-power-manager-2.20.0.ebuild:
  remove old version

  19 Nov 2007; Rémi Cardona <remi@gentoo.org>
  gnome-power-manager-2.20.0-r1.ebuild:
  remove useless configure options (see bug #199584)

  17 Nov 2007; Raúl Porcel <armin76@gentoo.org>
  gnome-power-manager-2.18.3-r1.ebuild:
  alpha/ia64/sparc stable wrt #199322

  17 Nov 2007; nixnut <nixnut@gentoo.org>
  gnome-power-manager-2.18.3-r1.ebuild:
  Stable on ppc wrt bug 199322

  17 Nov 2007; Dawid Węgliński <cla@gentoo.org>
  gnome-power-manager-2.18.3-r1.ebuild:
  Stable on x86 (bug #199322)

  16 Nov 2007; Samuli Suominen <drac@gentoo.org>
  gnome-power-manager-2.18.3-r1.ebuild:
  amd64 stable wrt #199322

*gnome-power-manager-2.18.3-r1 (16 Nov 2007)

  16 Nov 2007; Mart Raudsepp <leio@gentoo.org>
  +gnome-power-manager-2.18.3-r1.ebuild:
  Fix icon appearing problems on 2.18 series too, bug 188618.

*gnome-power-manager-2.20.0-r1 (09 Nov 2007)

  09 Nov 2007; Mart Raudsepp <leio@gentoo.org>
  +gnome-power-manager-2.20.0-r1.ebuild:
  Fix icon appearing problems, bug 188618. Many thanks to Shogun for
  pinpointing the problematic codepath

*gnome-power-manager-2.20.0 (02 Oct 2007)

  02 Oct 2007; Saleem Abdulrasool <compnerd@gentoo.org>
  +gnome-power-manager-2.20.0.ebuild:
  Version bump for GNOME 2.20

  28 Aug 2007; Jeroen Roovers <jer@gentoo.org>
  gnome-power-manager-2.18.3.ebuild:
  Stable for HPPA (bug #185823).

  11 Aug 2007; Mart Raudsepp <leio@gentoo.org>
  -gnome-power-manager-2.14.3.ebuild, -gnome-power-manager-2.16.2.ebuild,
  -gnome-power-manager-2.18.1.ebuild, -gnome-power-manager-2.18.2.ebuild:
  Removing Gnome 2.14 and other redundant versions

  11 Aug 2007; Andrej Kacian <ticho@gentoo.org>
  gnome-power-manager-2.18.3.ebuild:
  Stable on x86, bug #185823.

  10 Aug 2007; Christoph Mende <angelos@gentoo.org>
  gnome-power-manager-2.18.3.ebuild:
  Stable on amd64 wrt bug #185823

  08 Aug 2007; Raúl Porcel <armin76@gentoo.org>
  gnome-power-manager-2.18.3.ebuild:
  alpha/ia64 stable wrt #185823

  07 Aug 2007; Tobias Scherbaum <dertobi123@gentoo.org>
  gnome-power-manager-2.18.3.ebuild:
  Stable on ppc wrt bug #185823.

  07 Aug 2007; Gustavo Zacarias <gustavoz@gentoo.org>
  gnome-power-manager-2.18.3.ebuild:
  Stable on sparc wrt #185823

  22 Jul 2007; Hans de Graaff <graaff@gentoo.org>
  gnome-power-manager-2.14.3.ebuild:
  Drop virtual/x11 references.

  08 Jul 2007; Michael Sterrett <mr_bones_@gentoo.org>
  gnome-power-manager-2.16.2.ebuild, gnome-power-manager-2.16.3.ebuild:
  remove reference to old, removed dbus (bug #183696)

  05 Jul 2007; Roy Marples <uberlord@gentoo.org>
  gnome-power-manager-2.18.3.ebuild:
  Keyworded ~x86-fbsd.

  22 Jun 2007; Jeroen Roovers <jer@gentoo.org>
  gnome-power-manager-2.18.1.ebuild, gnome-power-manager-2.18.2.ebuild,
  gnome-power-manager-2.18.3.ebuild:
  Marked ~hppa (bug #182551).

  17 Jun 2007; Saleem Abdulrasool <compnerd@gentoo.org>
  +files/gpm-2.18.3-slotted-gstreamer.patch,
  gnome-power-manager-2.18.3.ebuild:
  Add a patch to use the correct gst-launch command on Gentoo

*gnome-power-manager-2.18.3 (17 Jun 2007)

  17 Jun 2007; Saleem Abdulrasool <compnerd@gentoo.org>
  +gnome-power-manager-2.18.3.ebuild:
  Version bump from upstream

  02 Jun 2007; Brent Baude <ranger@gentoo.org>
  gnome-power-manager-2.16.3.ebuild:
  Marking gnome-power-manager-2.16.3 ppc stable for bug #171107

  31 May 2007; Jeroen Roovers <jer@gentoo.org>
  gnome-power-manager-2.16.3.ebuild:
  Stable for HPPA (bug #171107).

  31 May 2007; Daniel Gryniewicz <dang@gentoo.org>
  gnome-power-manager-2.16.3.ebuild:
  Marked stable on amd64 for bug #171107

  31 May 2007; Brent Baude <ranger@gentoo.org>
  gnome-power-manager-2.16.3.ebuild:
  Marking gnome-power-manager-2.16.3 ppc64 stable for bug #171107

  30 May 2007; Raúl Porcel <armin76@gentoo.org>
  gnome-power-manager-2.16.3.ebuild:
  alpha/ia64 stable wrt #171107

  29 May 2007; Andrej Kacian <ticho@gentoo.org>
  gnome-power-manager-2.16.3.ebuild:
  Stable on x86, bug #171107.

  29 May 2007; Gustavo Zacarias <gustavoz@gentoo.org>
  gnome-power-manager-2.16.3.ebuild:
  Stable on sparc wrt #171107

*gnome-power-manager-2.18.2 (17 Apr 2007)

  17 Apr 2007; Saleem Abdulrasool <compnerd@gentoo.org>
  +gnome-power-manager-2.18.2.ebuild:
  Version bump

*gnome-power-manager-2.18.1 (09 Apr 2007)

  09 Apr 2007; Remi Cardona <remi@gentoo.org>
  +gnome-power-manager-2.18.1.ebuild:
  gnome-2.18.0 meta ebubump to 2.18.1 for gnome 2.18.0

  18 Mar 2007; Marius Mauch <genone@gentoo.org>
  gnome-power-manager-2.16.2.ebuild, gnome-power-manager-2.16.3.ebuild:
  Replacing einfo with elog

  30 Jan 2007; Daniel Gryniewicz <dang@gentoo.org> Manifest:
  Fix digest

  30 Jan 2007; Saleem Abdulrasool <compnerd@gentoo.org>
  gnome-power-manager-2.14.3.ebuild:
  Restore gnome-power-manager-2.14.3 for 2.4 kernels

*gnome-power-manager-2.16.3 (30 Jan 2007)

  30 Jan 2007; Saleem Abdulrasool <compnerd@gentoo.org>
  +gnome-power-manager-2.16.3.ebuild:
  Version bump from upstream

  30 Jan 2007; Saleem Abdulrasool <compnerd@gentoo.org>
  -gnome-power-manager-2.14.3.ebuild:
  prune old version

  21 Jan 2007; Bryan Østergaard <kloeri@gentoo.org>
  gnome-power-manager-2.16.2.ebuild:
  Stable on IA64, bug 156662.

  19 Jan 2007; Jeroen Roovers <jer@gentoo.org>
  gnome-power-manager-2.16.2.ebuild:
  Stable for HPPA (bug #147751).

  14 Jan 2007; Bryan Østergaard <kloeri@gentoo.org>
  gnome-power-manager-2.16.2.ebuild:
  Stable on Alpha.

  30 Dec 2006; Tom Gall <tgall@gentoo.org>
  gnome-power-manager-2.16.2.ebuild:
  stable on ppc64

  21 Dec 2006; Markus Rothe <corsair@gentoo.org>
  gnome-power-manager-2.16.2.ebuild:
  Added ~ppc64; bug #156662

  18 Dec 2006; Gustavo Zacarias <gustavoz@gentoo.org>
  gnome-power-manager-2.16.2.ebuild:
  Stable on sparc

  17 Dec 2006; Tobias Scherbaum <dertobi123@gentoo.org>
  gnome-power-manager-2.16.2.ebuild:
  Stable on ppc wrt bug #156662.

  14 Dec 2006; Leonardo Boshell <leonardop@gentoo.org>
  gnome-power-manager-2.16.2.ebuild:
  Added dependencies to necessary versions of docbook-sgml-dtd and
  docbook-xml-dtd (bug #157978). Added hacks in src_unpack() to make the
  dependency on docbook-sgml-dtd actually work in relation to the 'doc' USE
  flag and install all html files from the 'docs' directory if the flag is
  enabled. Moved gnome-doc-utils dependency out of the doc? block and added
  version numbers to some dependencies. Sanitise spacing. Removed eutils
  from inherit call.

  12 Dec 2006; Chris Gianelloni <wolf31o2@gentoo.org>
  gnome-power-manager-2.16.2.ebuild:
  Stable on amd64 wrt bug #156662.

  10 Dec 2006; Andrej Kacian <ticho@gentoo.org>
  gnome-power-manager-2.16.2.ebuild:
  Stable on x86, bug #156662.

  25 Nov 2006; Bryan Østergaard <kloeri@gentoo.org>
  gnome-power-manager-2.16.2.ebuild:
  Add ~alpha keyword.

  17 Nov 2006; Saleem Abdulrasool <compnerd@gentoo.org>
  gnome-power-manager-2.16.1-r1.ebuild, gnome-power-manager-2.16.2.ebuild:
  Fix deps for dbus 1.0

  09 Nov 2006; Mart Raudsepp <leio@gentoo.org>
  gnome-power-manager-2.16.2.ebuild:
  Adjust some dependencies to not allow downgrading of them as low to break
  ABI expectations silently used at compile time by the package.

*gnome-power-manager-2.16.2 (09 Nov 2006)

  09 Nov 2006; Luis Medinas <metalgod@gentoo.org>
  +gnome-power-manager-2.16.2.ebuild:
  Version Bump. This release fixes bug #151493. Update Homepage and libnotify
  dependency.

  07 Nov 2006; Daniel Gryniewicz <dang@gentoo.org>
  gnome-power-manager-2.14.3.ebuild, gnome-power-manager-2.14.3-r1.ebuild,
  gnome-power-manager-2.16.1-r1.ebuild:
  Oops, xmlto should be conditional on doc

  07 Nov 2006; Daniel Gryniewicz <dang@gentoo.org>
  gnome-power-manager-2.14.3.ebuild, gnome-power-manager-2.14.3-r1.ebuild,
  gnome-power-manager-2.16.1-r1.ebuild:
  Add explicit xmlto dep; bug #147907

  03 Nov 2006; Daniel Gryniewicz <dang@gentoo.org>
  gnome-power-manager-2.16.1-r1.ebuild:
  or touch /var/run/console/username, not and

*gnome-power-manager-2.16.1-r1 (31 Oct 2006)

  31 Oct 2006; John N. Laliberte <allanonjl@gentoo.org> metadata.xml,
  -gnome-power-manager-2.16.0.ebuild, -gnome-power-manager-2.16.1.ebuild,
  +gnome-power-manager-2.16.1-r1.ebuild:
  pkg_postinst was being overridden without calling gnome2_pkg_postinst so
  schemas were not being installed, fixes #153547 . Remove hard check for
  pam_console in pam since thats now split out into a masked package, fixes
  #153536 . remove compnerd as maintainer.

  20 Oct 2006; Daniel Gryniewicz <dang@gentoo.org>
  gnome-power-manager-2.16.1.ebuild:
  Warn user that suspend won't work without pam_console or a workaround. Bug
  #152165

*gnome-power-manager-2.16.1 (13 Oct 2006)

  13 Oct 2006; Mart Raudsepp <leio@gentoo.org>
  +gnome-power-manager-2.16.1.ebuild:
  Version bump

  03 Oct 2006; Aron Griffis <agriffis@gentoo.org>
  gnome-power-manager-2.16.0.ebuild:
  Mark 2.16.0 ~ia64

  21 Sep 2006; Gustavo Zacarias <gustavoz@gentoo.org>
  gnome-power-manager-2.16.0.ebuild:
  Keyworded ~sparc

  16 Sep 2006; Daniel Gryniewicz <dang@gentoo.org>
  gnome-power-manager-2.16.0.ebuild:
  Okay, the manpages are useless, don't require all the sgml stuff for them

  12 Sep 2006; Daniel Gryniewicz <dang@gentoo.org>
  gnome-power-manager-2.16.0.ebuild:
  Remove monolithic X deps

  11 Sep 2006; Mart Raudsepp <leio@gentoo.org> metadata.xml,
  gnome-power-manager-2.16.0.ebuild:
  Fix libgnome dependency, bug #147191. Add gnome herd to metadata.

*gnome-power-manager-2.16.0 (07 Sep 2006)

  07 Sep 2006; Daniel Gryniewicz <dang@gentoo.org>
  +gnome-power-manager-2.16.0.ebuild:
  New version for gnome 2.16

  27 Aug 2006; Saleem Abdulrasool <compnerd@gentoo.org>
  -gnome-power-manager-2.14.2.ebuild:
  dropping 2.14.2 as 2.14.3 is stable on all arches

*gnome-power-manager-2.14.3-r1 (27 Aug 2006)

  27 Aug 2006; Saleem Abdulrasool <compnerd@gentoo.org>
  +gnome-power-manager-2.14.3-r1.ebuild:
  Changing libnotify to optional (bug #141645)

  24 Jul 2006; Andrej Kacian <ticho@gentoo.org>
  gnome-power-manager-2.14.3.ebuild:
  Stable on x86, bug #141001.

  22 Jul 2006; Tobias Scherbaum <dertobi123@gentoo.org>
  gnome-power-manager-2.14.3.ebuild:
  ppc stable, bug #141001

  21 Jul 2006; Luis Medinas <metalgod@gentoo.org>
  gnome-power-manager-2.14.3.ebuild:
  Stable on amd64. See bug #141001.

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

*gnome-power-manager-2.14.3 (27 Apr 2006)

  27 Apr 2006; Saleem Abdulrasool <compnerd@gentoo.org>
  +gnome-power-manager-2.14.3.ebuild:
  Version bump from upstream

  25 Apr 2006; Luis Medinas <metalgod@gentoo.org>
  gnome-power-manager-2.14.2.ebuild:
  Added ~amd64 keyword.

*gnome-power-manager-2.14.2 (25 Apr 2006)

  25 Apr 2006; Saleem Abdulrasool <compnerd@gentoo.org>
  +gnome-power-manager-2.14.2.ebuild:
  Initial import of gnome-power-manager.

