# ChangeLog for gnome-extra/gnome-utils
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/gnome-extra/gnome-utils/ChangeLog,v 1.191 2010/02/24 23:00:33 eva Exp $

  24 Feb 2010; Gilles Dartiguelongue <eva@gentoo.org>
  -gnome-utils-2.24.1.ebuild, -gnome-utils-2.28.1.ebuild:
  Clean up old revisions.

*gnome-utils-2.28.3 (18 Jan 2010)

  18 Jan 2010; Romain Perier <mrpouet@gentoo.org>
  +gnome-utils-2.28.3.ebuild:
  Version bump.

  18 Jan 2010; Jeroen Roovers <jer@gentoo.org> gnome-utils-2.26.0.ebuild:
  Stable for HPPA (bug #281427).

  16 Jan 2010; Raúl Porcel <armin76@gentoo.org> gnome-utils-2.26.0.ebuild:
  sh stable

  16 Jan 2010; Jonathan Callen <abcd@gentoo.org> gnome-utils-2.28.1.ebuild:
  Add prefix keywords

  03 Dec 2009; Brent Baude <ranger@gentoo.org> gnome-utils-2.26.0.ebuild:
  Marking gnome-utils-2.26.0 ppc64 stable for bug 281427

  28 Nov 2009; Raúl Porcel <armin76@gentoo.org> gnome-utils-2.26.0.ebuild:
  alpha/ia64/sparc stable wrt #281427

  05 Nov 2009; Markus Meier <maekke@gentoo.org> gnome-utils-2.26.0.ebuild:
  arm stable, bug #281427

*gnome-utils-2.28.1 (29 Oct 2009)

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

  24 Oct 2009; nixnut <nixnut@gentoo.org> gnome-utils-2.26.0.ebuild:
  ppc stable #281427

  16 Oct 2009; Markus Meier <maekke@gentoo.org> gnome-utils-2.26.0.ebuild:
  x86 stable, bug #281427

  16 Oct 2009; Mart Raudsepp <leio@gentoo.org> gnome-utils-2.26.0.ebuild:
  QA: Fix typo in gnome2_src_prepare call, bug 289354

  08 Oct 2009; Olivier Crête <tester@gentoo.org> gnome-utils-2.26.0.ebuild:
  Stable on amd64, bug #281427

  31 Aug 2009; Gilles Dartiguelongue <eva@gentoo.org>
  gnome-utils-2.26.0.ebuild:
  Move e2fsprogs behing USE=hal, bug #253851.

*gnome-utils-2.26.0 (11 May 2009)

  11 May 2009; Gilles Dartiguelongue <eva@gentoo.org>
  -gnome-utils-2.18.1.ebuild, -gnome-utils-2.20.0.1.ebuild,
  -gnome-utils-2.24.0.ebuild, +gnome-utils-2.26.0.ebuild:
  New version for GNOME 2.26. Reduce libgnome/libgnomeui usage, drop
  remaining libart* calls. Clean up old revisions.

  28 Apr 2009; Raúl Porcel <armin76@gentoo.org> gnome-utils-2.24.1.ebuild:
  sh stable

  27 Apr 2009; Jeroen Roovers <jer@gentoo.org> gnome-utils-2.24.1:
  Stable for HPPA (bug #260063).

  27 Apr 2009; Raúl Porcel <armin76@gentoo.org> gnome-utils-2.24.1.ebuild:
  arm stable

  12 Apr 2009; Friedrich Oslage <bluebird@gentoo.org>
  gnome-utils-2.24.1.ebuild:
  Stable on sparc, bug #260063

  18 Mar 2009; Raúl Porcel <armin76@gentoo.org> gnome-utils-2.24.1.ebuild:
  alpha/ia64 stable wrt #260063

  15 Mar 2009; Markus Meier <maekke@gentoo.org> gnome-utils-2.24.1.ebuild:
  x86 stable, bug #260063

  11 Mar 2009; Daniel Gryniewicz <dang@gentoo.org>
  gnome-utils-2.24.1.ebuild:
  Marked stable on amd64

  06 Mar 2009; Brent Baude <ranger@gentoo.org> gnome-utils-2.24.1.ebuild:
  Marking gnome-utils-2.24.1 ppc stable for bug 260063

  05 Mar 2009; Brent Baude <ranger@gentoo.org> gnome-utils-2.24.1.ebuild:
  Marking gnome-utils-2.24.1 ppc64 stable for bug 260063

  12 Jan 2009; Raúl Porcel <armin76@gentoo.org> gnome-utils-2.24.1.ebuild:
  Add ~arm/~sh

*gnome-utils-2.24.1 (22 Oct 2008)

  22 Oct 2008; Gilles Dartiguelongue <eva@gentoo.org>
  +gnome-utils-2.24.1.ebuild:
  bump to 2.24.1. Bug fix in baobab and screenshot, translation updates.

*gnome-utils-2.24.0 (19 Oct 2008)

  19 Oct 2008; Gilles Dartiguelongue <eva@gentoo.org>
  gnome-utils-2.18.1.ebuild, +gnome-utils-2.24.0.ebuild:
  New version for GNOME 2.24. Drop some old dependency while migrating to
  GIO.

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

  26 Nov 2007; Markus Rothe <corsair@gentoo.org>
  gnome-utils-2.20.0.1.ebuild:
  Stable on ppc64; bug #199740

  24 Nov 2007; Brent Baude <ranger@gentoo.org> gnome-utils-2.20.0.1.ebuild:
  Marking gnome-utils-2.20.0.1 ppc stable for bug 199740

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

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

  20 Nov 2007; Samuli Suominen <drac@gentoo.org>
  gnome-utils-2.20.0.1.ebuild:
  amd64 stable wrt #199740

*gnome-utils-2.20.0.1 (12 Oct 2007)

  12 Oct 2007; Rémi Cardona <remi@gentoo.org> +gnome-utils-2.20.0.1.ebuild:
  new version for Gnome 2.20

  23 Sep 2007; Tom Gall <tgall@gentoo.org> gnome-utils-2.18.1.ebuild:
  stable on ppc64

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

  27 Aug 2007; Daniel Gryniewicz <dang@gentoo.org>
  gnome-utils-2.18.1.ebuild:
  Add dep on gnome-doc-utils; bug #190440

  21 Aug 2007; Daniel Gryniewicz <dang@gentoo.org>
  gnome-utils-2.18.1.ebuild:
  Enable gfloppy if hal is enabled; bug #189666

  11 Aug 2007; Mart Raudsepp <leio@gentoo.org> -gnome-utils-2.14.0.ebuild:
  Removing Gnome 2.14

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

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

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

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

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

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

  26 May 2007; Mart Raudsepp <leio@gentoo.org> -gnome-utils-2.16.1.ebuild,
  -gnome-utils-2.16.2.ebuild, -gnome-utils-2.18.0.ebuild:
  Remove old

*gnome-utils-2.18.1 (25 Apr 2007)

  25 Apr 2007; Daniel Gryniewicz <dang@gentoo.org>
  +gnome-utils-2.18.1.ebuild:
  Bump to 2.18.1

*gnome-utils-2.18.0 (27 Mar 2007)

  27 Mar 2007; Daniel Gryniewicz <dang@gentoo.org>
  +gnome-utils-2.18.0.ebuild:
  gnome 2.18.0

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

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

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

*gnome-utils-2.16.2-r2 (23 Dec 2006)

  23 Dec 2006; Remi Cardona <remi@gentoo.org> -gnome-utils-2.16.2-r1.ebuild,
  +gnome-utils-2.16.2-r2.ebuild:
  forgot to add inherit eutils, fixes bug #158883, thanks to CDigger for
  pointing it out

*gnome-utils-2.16.2-r1 (22 Dec 2006)

  22 Dec 2006; Remi <remi@gentoo.org>
  +files/gnome-utils-2.16.2-cannot_save_screenshots.diff,
  +gnome-utils-2.16.2-r1.ebuild:
  fix screenshots segfaulting, fixes bug #158824

  21 Dec 2006; Markus Rothe <corsair@gentoo.org> gnome-utils-2.16.2.ebuild:
  Stable on ppc64; bug #156662

  21 Dec 2006; Saleem Abdulrasool <compnerd@gentoo.org>
  -gnome-utils-1.4.1.2.ebuild:
  gnome-1.x removal

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

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

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

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

  19 Nov 2006; Mart Raudsepp <leio@gentoo.org> -gnome-utils-2.12.2.ebuild,
  -gnome-utils-2.16.0.ebuild:
  Remove old versions

*gnome-utils-2.16.2 (07 Nov 2006)

  07 Nov 2006; Luis Medinas <metalgod@gentoo.org>
  +gnome-utils-2.16.2.ebuild:
  Version Bump.

  20 Oct 2006; Aron Griffis <agriffis@gentoo.org> gnome-utils-2.14.0.ebuild:
  Mark 2.14.0 stable on alpha

*gnome-utils-2.16.1 (13 Oct 2006)

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

  19 Sep 2006; Aron Griffis <agriffis@gentoo.org> gnome-utils-2.14.0.ebuild:
  Mark 2.14.0 stable on ia64. #139612

  12 Sep 2006; Daniel Gryniewicz <dang@gentoo.org>
  gnome-utils-2.16.0.ebuild:
  Remove unused eclasses

*gnome-utils-2.16.0 (07 Sep 2006)

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

  06 Sep 2006; Joshua Kinard <kumba@gentoo.org> gnome-utils-1.4.1.2.ebuild,
  gnome-utils-2.12.2.ebuild, gnome-utils-2.14.0.ebuild:
  Removing mips keywords as gnome is no longer supported on mips.

  16 Aug 2006; Markus Rothe <corsair@gentoo.org> gnome-utils-2.14.0.ebuild:
  Stable on ppc64

  23 Jul 2006; Daniel Gryniewicz <dang@gentoo.org>
  -gnome-utils-2.12.1.ebuild:
  Clean up unnecessary versions

  19 Jul 2006; Olivier Crête <tester@gentoo.org>
  -files/gnome-utils-2.10.1-gdict_pref.patch, -gnome-utils-2.10.0.ebuild,
  -gnome-utils-2.10.1-r1.ebuild:
  Cleanup old version, fixed manifest

  18 Jul 2006; Daniel Gryniewicz <dang@gentoo.org> Manifest:
  Fix digest.

  17 Jul 2006; Daniel Gryniewicz <dang@gentoo.org>
  gnome-utils-2.14.0.ebuild:
  Marked stable on amd64 for bug #139612

  16 Jul 2006; Tobias Scherbaum <dertobi123@gentoo.org>
  gnome-utils-2.14.0.ebuild:
  hppa stable, bug #139612

  14 Jul 2006; Tobias Scherbaum <dertobi123@gentoo.org>
  gnome-utils-2.14.0.ebuild:
  ppc stable, bug #139612

  14 Jul 2006; Tobias Scherbaum <dertobi123@gentoo.org>
  gnome-utils-2.14.0.ebuild:
  ppc stable, bug #139612

  12 Jul 2006; Chris Gianelloni <wolf31o2@gentoo.org>
  gnome-utils-2.14.0.ebuild:
  Stable on x86 wrt bug #139612.

  17 Jun 2006; Michael Sterrett <mr_bones_@gentoo.org>
  gnome-utils-1.4.1.2.ebuild:
  make DESCRIPTION consistent

  21 May 2006; Markus Rothe <corsair@gentoo.org> gnome-utils-2.12.2.ebuild:
  Stable on ppc64

*gnome-utils-2.14.0 (16 Mar 2006)

  16 Mar 2006; Joe McCann <joem@gentoo.org> +gnome-utils-2.14.0.ebuild:
  new release for gnome-2.14.

  03 Feb 2006; Guy Martin <gmsoft@gentoo.org> gnome-utils-2.12.2.ebuild:
  Stable on hppa.

  03 Feb 2006; Aron Griffis <agriffis@gentoo.org> gnome-utils-2.12.2.ebuild:
  Mark 2.12.2 stable on alpha

  02 Feb 2006; Aron Griffis <agriffis@gentoo.org> gnome-utils-2.12.2.ebuild:
  Mark 2.12.2 stable on ia64

  22 Jan 2006; <dang@gentoo.org> gnome-utils-2.12.2.ebuild:
  Marked stable on amd64 per bug #119634

  22 Jan 2006; Tobias Scherbaum <dertobi123@gentoo.org>
  gnome-utils-2.12.2.ebuild:
  Marked ppc stable for bug #119634; Stabilize Gnome-2.12.2

  22 Jan 2006; Joshua Jackson <tsunam@gentoo.org> gnome-utils-2.12.2.ebuild:
  Stable on x86 for bug #119634; Stabilize Gnome-2.12.2

  20 Jan 2006; Gustavo Zacarias <gustavoz@gentoo.org>
  gnome-utils-2.12.2.ebuild:
  Stable on sparc wrt #119634

*gnome-utils-2.12.2 (05 Dec 2005)

  05 Dec 2005; Saleem Abdulrasool <compnerd@gentoo.org>
  +gnome-utils-2.12.2.ebuild:
  Version bump from upstream

  17 Oct 2005; Aron Griffis <agriffis@gentoo.org>
  gnome-utils-2.10.1-r1.ebuild:
  Mark 2.10.1-r1 stable on alpha

  10 Oct 2005; Hardave Riar <hardave@gentoo.org>
  gnome-utils-2.10.1-r1.ebuild:
  Stable on mips.

*gnome-utils-2.12.1 (10 Oct 2005)

  10 Oct 2005; Leonardo Boshell <leonardop@gentoo.org>
  -gnome-utils-2.12.0.ebuild, +gnome-utils-2.12.1.ebuild:
  New version.

  17 Sep 2005; Aron Griffis <agriffis@gentoo.org>
  gnome-utils-2.10.1-r1.ebuild, gnome-utils-2.12.0.ebuild:
  Mark 2.12.0 2.10.1-r1 ~alpha

*gnome-utils-2.12.0 (10 Sep 2005)

  10 Sep 2005; <dang@gentoo.org> -gnome-utils-2.11.92.ebuild,
  +gnome-utils-2.12.0.ebuild:
  Final 2.12.0 version

  05 Sep 2005; Doug Goldstein <cardoe@gentoo.org> gnome-utils-2.10.0.ebuild,
  gnome-utils-2.10.1-r1.ebuild:
  Fixing hal deps

*gnome-utils-2.11.92 (29 Aug 2005)

  29 Aug 2005; John N. Laliberte <allanonjl@gentoo.org>
  +gnome-utils-2.11.92.ebuild:
  new version, remove gdict patch since it has been applied upstream, see
  gnome bug 163277

  25 Aug 2005; Aron Griffis <agriffis@gentoo.org>
  gnome-utils-2.10.1-r1.ebuild:
  stable on ia64

  03 Aug 2005; Simon Stelling <blubb@gentoo.org>
  gnome-utils-2.10.1-r1.ebuild:
  stable on amd64

  31 Jul 2005; Tobias Scherbaum <dertobi123@gentoo.org>
  gnome-utils-2.10.1-r1.ebuild:
  ppc stable

  27 Jul 2005; Guy Martin <gmsoft@gentoo.org> gnome-utils-2.10.1-r1.ebuild:
  Stable on hppa.

  26 Jul 2005; Gustavo Zacarias <gustavoz@gentoo.org>
  gnome-utils-2.10.1-r1.ebuild:
  Stable on sparc

  25 Jul 2005; Leonardo Boshell <leonardop@gentoo.org>
  gnome-utils-2.10.1-r1.ebuild:
  Stable on x86.

  12 Jul 2005; Stephen P. Becker <geoman@gentoo.org>
  gnome-utils-2.10.0.ebuild, gnome-utils-2.10.1-r1.ebuild:
  stable on mips

*gnome-utils-2.10.1-r1 (05 Jul 2005)

  05 Jul 2005; Leonardo Boshell <leonardop@gentoo.org>
  gnome-utils-2.10.1-r1.ebuild, files/gnome-utils-2.10.1-gdict_pref.patch:
  Added upstream patch to fix the handling of settings in the dictionary
  applet.  Resolves bug #95746.

  02 Jul 2005; Bryan Østergaard <kloeri@gentoo.org>
  gnome-utils-2.10.0.ebuild:
  Stable on alpha.

  25 Jun 2005; Guy Martin <gmsoft@gentoo.org> gnome-utils-2.10.0.ebuild,
  gnome-utils-2.10.1.ebuild:
  Stable on hppa.

  14 Jun 2005; John N. Laliberte <allanonjl@gentoo.org>
  -gnome-utils-2.6.2-r1.ebuild, -gnome-utils-2.8.0.ebuild:
  remove old ebuilds.

  13 Jun 2005; Bryan Østergaard <kloeri@gentoo.org>
  gnome-utils-2.10.0.ebuild:
  Add ~alpha keyword.

  12 Jun 2005; Olivier Crête <tester@gentoo.org> gnome-utils-2.10.0.ebuild:
  Stable on amd64

  12 Jun 2005; John N. Laliberte <allanonjl@gentoo.org>
  gnome-utils-2.8.1.ebuild:
  fix scrollkeeper errors in 2.8.1

  12 Jun 2005; Tobias Scherbaum <dertobi123@gentoo.org>
  gnome-utils-2.10.0.ebuild:
  Stable on ppc.

  09 Jun 2005; Gustavo Zacarias <gustavoz@gentoo.org>
  gnome-utils-2.10.0.ebuild:
  Stable on sparc

  08 May 2005; Aron Griffis <agriffis@gentoo.org> gnome-utils-2.10.0.ebuild,
  gnome-utils-2.10.1.ebuild:
  add ~ia64

  06 May 2005; Markus Rothe <corsair@gentoo.org> gnome-utils-2.10.0.ebuild,
  gnome-utils-2.10.1.ebuild:
  Added ~ppc64 to KEYWORDS

*gnome-utils-2.10.1 (12 Apr 2005)

  12 Apr 2005; Joe McCann <joem@gentoo.org> +gnome-utils-2.10.1.ebuild,
  -gnome-utils-2.4.1.ebuild:
  bugfix release, remove old ebuilds

  02 Apr 2005; Stephen P. Becker <geoman@gentoo.org>
  gnome-utils-2.8.1.ebuild:
  stable on mips

  19 Mar 2005; Mike Doty <kingtaco@gentoo.org> gnome-utils-2.10.0.ebuild:
  ~amd64, bug 85028

  11 Mar 2005; Gustavo Zacarias <gustavoz@gentoo.org>
  gnome-utils-2.10.0.ebuild:
  To ~sparc

*gnome-utils-2.10.0 (09 Mar 2005)

  09 Mar 2005; Joe McCann <joem@gentoo.org> +gnome-utils-2.10.0.ebuild:
  gnome-2.10 release

  08 Jan 2005; Tom Martin <slarti@gentoo.org> gnome-utils-2.8.1.ebuild:
  Stable on amd64.

  29 Dec 2004; Joe McCann <joem@gentoo.org> gnome-utils-2.8.1.ebuild:
  Now using DESTDIR instead of einstall, bug 75868

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

  24 Dec 2004; Bryan Østergaard <kloeri@gentoo.org>
  gnome-utils-2.8.1.ebuild:
  Stable on alpha.

  23 Dec 2004; Guy Martin <gmsoft@gentoo.org> gnome-utils-2.8.1.ebuild:
  Stable on hppa.

  22 Dec 2004; Gustavo Zacarias <gustavoz@gentoo.org>
  gnome-utils-2.8.1.ebuild:
  Stable on sparc

  19 Dec 2004; Mike Gardiner <obz@gentoo.org> gnome-utils-2.8.1.ebuild:
  Keyworded x86 and ppc for GNOME 2.8.1

  11 Dec 2004; Bryan Østergaard <kloeri@gentoo.org>
  gnome-utils-2.8.0.ebuild:
  Stable on alpha.

*gnome-utils-2.8.1 (25 Nov 2004)

  25 Nov 2004; Mike Gardiner <obz@gentoo.org> -gnome-utils-2.4.0.ebuild,
  -gnome-utils-2.6.0.ebuild, +gnome-utils-2.8.1.ebuild:
  New version, culled older versions

  12 Nov 2004; Mike Gardiner <obz@gentoo.org> gnome-utils-2.8.0.ebuild:
  Keyworded ppc for GNOME 2.8

*gnome-utils-2.8.0 (12 Nov 2004)

  12 Nov 2004; Gustavo Zacarias <gustavoz@gentoo.org>
  gnome-utils-2.8.0.ebuild:
  Stable on sparc

  01 Oct 2004; Stephen P. Becker <geoman@gentoo.org>
  gnome-utils-2.6.2-r1.ebuild:
  stable on mips

  22 Aug 2004; Bryan Østergaard <kloeri@gentoo.org>
  gnome-utils-2.6.2-r1.ebuild:
  Stable on alpha.

  07 Aug 2004; Travis Tilley <lv@gentoo.org> gnome-utils-2.6.2-r1.ebuild:
  stable on amd64

  05 Aug 2004; Gustavo Zacarias <gustavoz@gentoo.org>
  gnome-utils-2.6.2-r1.ebuild:
  Stable on sparc

  05 Aug 2004; Guy Martin <gmsoft@gentoo.org> gnome-utils-2.6.2-r1.ebuild:
  Stable on hppa.

  31 Jul 2004; <spider@gentoo.org> gnome-utils-2.6.2-r1.ebuild:
  stable on x86 for gnome 2.6.2

*gnome-utils-2.6.2-r1 (23 Jul 2004)

  23 Jul 2004; <spider@gentoo.org>
  +files/gnome-utils-2.6.2-gfloppymajor.patch, +gnome-utils-2.6.2-r1.ebuild:
  adding a patch for kernel-headers 2.6
  http://bugs.gentoo.org/show_bug.cgi?id=49794

*gnome-utils-2.6.2 (11 Jul 2004)

  11 Jul 2004; <spider@gentoo.org> +gnome-utils-2.6.2.ebuild:
  versionbump

  04 Jul 2004; Bryan Østergaard <kloeri@gentoo.org> gnome-utils-2.6.0.ebuild:
  Stable on alpha.

  04 Jun 2004; Stephen P. Becker <geoman@gentoo.org> gnome-utils-2.6.0.ebuild:
  Stable on mips.

  29 May 2004; Pieter Van den Abeele <pvdabeel@gentoo.org>
  gnome-utils-2.6.0.ebuild:
  Masked gnome-utils-2.6.0.ebuild stable for ppc

  26 May 2004; Guy Martin <gmsoft@gentoo.org> gnome-utils-2.6.0.ebuild:
  Marked stable on hppa.

  15 May 2004; Stephen P. Becker <geoman@gentoo.org> gnome-utils-2.4.1.ebuild:
  Stable on mips.

  17 Apr 2004; Travis Tilley <lv@gentoo.org> gnome-utils-2.4.1.ebuild:
  stable on amd64

*gnome-utils-2.6.0 (24 Mar 2004)

  24 Mar 2004; foser <foser@gentoo.org> gnome-utils-2.6.0.ebuild :
  Gnome 2.6 final

*gnome-utils-2.5.90 (21 Mar 2004)

  21 Mar 2004; foser <foser@gentoo.org> gnome-utils-2.5.90.ebuild :
  Gnome 2.6 commit

  15 Mar 2004; Stephen P. Becker <geoman@gentoo.org> gnome-utils-2.4.1.ebuild:
  Added ~mips keyword.

  02 Mar 2004; <agriffis@gentoo.org> gnome-utils-2.4.1.ebuild:
  Fix compilation on ia64

  10 Feb 2004; Bartosch Pixa <darkspecter@gentoo.org>
  gnome-utils-2.4.1.ebuild:
  set ppc in keywords

  29 Jan 2004; Aron Griffis <agriffis@gentoo.org> gnome-utils-2.4.1.ebuild:
  stable on alpha and ia64

  18 Jan 2004; <gustavoz@gentoo.org> gnome-utils-2.4.1.ebuild:
  stable on hppa and sparc

  13 Dec 2003; Guy Martin <gmsoft@gentoo.org> gnome-utils-2.4.0.ebuild:
  Marked stable on hppa

  14 Nov 2003; Aron Griffis <agriffis@gentoo.org> gnome-utils-2.4.0.ebuild:
  Stable on ia64

  08 Nov 2003; Todd Sunderlin <todd@gentoo.org> gnome-utils-2.4.0.ebuild:
  added sparc keyword

*gnome-utils-2.4.1 (07 Nov 2003)

  07 Nov 2003; Alastair Tse <liquidx@gentoo.org> gnome-utils-2.4.1.ebuild:
  version bump

  22 Oct 2003; Bartosch Pixa <darkspecter@gentoo.org>
  gnome-utils-2.4.0.ebuild:
  set ppc in keywords

  18 Oct 2003; Aron Griffis <agriffis@gentoo.org> gnome-utils-2.4.0.ebuild:
  Stable on alpha

  10 Oct 2003; Alastair Tse <liquidx@gentoo.org> gnome-utils-2.4.0.ebuild:
  modified dep for gnome-utils to 2.4 (#30481)

  05 Oct 2003; Mike Gardiner <obz@gentoo.org> gnome-utils-2.4.0.ebuild:
  Marked stable on x86

  23 Sep 2003; Bartosch Pixa <darkspecter@gentoo.org>
  gnome-utils-2.2.3.ebuild:
  set ppc in keywords

*gnome-utils-2.4.0 (08 Sep 2003)

  08 Sep 2003; foser <foser@gentoo.org> gnome-utils-2.4.0.ebuild :
  New version

*gnome-utils-2.3.90 (07 Sep 2003)

  07 Sep 2003; foser <foser@gentoo.org> gnome-utils-2.3.90.ebuild :
  Gnome 2.4 rc1

  15 Jul 2003; Todd Sunderlin <todd@gentoo.org> gnome-utils-2.2.2.ebuild:
  marked stable on sparc

  09 Jul 2003; Alastair Tse <liquidx@gentoo.org> gnome-utils-2.0.5.ebuild,
  gnome-utils-2.0.6.ebuild, gnome-utils-2.2.0.3.ebuild,
  gnome-utils-2.2.2.ebuild, gnome-utils-2.2.3.ebuild:
  added scrollkeeper dep

  10 Jun 2003; Alastair Tse <liquidx@gentoo.org> gnome-utils-2.0.5.ebuild,
  gnome-utils-2.0.6.ebuild:
  fix libgtkhtml deps

*gnome-utils-2.2.3 (27 May 2003)

  04 Jul 2003; Guy Martin <gmsoft@gentoo.org> gnome-utils-2.2.3.ebuild :
  Added hppa to KEYWORDS.

  27 May 2003; foser <foser@gentoo.org> gnome-utils-2.2.3.ebuild :
  New version, added scrollkeeper and e2fsprogs deps to be more complete
  Removed old G2CONF line

*gnome-utils-2.2.2 (16 May 2003)

  16 May 2003; Alastair Tse <liquidx@gentoo.org> gnome-utils-2.2.2.ebuild:
  version bump and touchups

*gnome-utils-2.2.1 (13 Mar 2003)

  13 Mar 2003; foser <foser@gentoo.org> gnome-utils-2.2.1.ebuild :
  New version

*gnome-utils-2.2.0.3 (30 Jan 2003)

  01 Mar 2003; Jason Wever <weeve@gentoo.org> gnome-utils-2.2.0.3.ebuild:
  Added ~sparc to keywords.

  21 Feb 2003; Aron Griffis <agriffis@gentoo.org> gnome-utils-2.2.0.3.ebuild :
  Mark stable on Alpha

  12 Feb 2003; Aron Griffis <agriffis@gentoo.org> gnome-utils-2.2.0.3.ebuild :
  Add ~alpha to KEYWORDS

  30 Jan 2003; foser <foser@gentoo.org> gnome-utils-2.2.0.3.ebuild :
  GNOME 2.2 RC2 commit

  06 Dec 2002; Rodney Rees <manson@gentoo.org> : changed sparc ~sparc keywords

*gnome-utils-2.0.6 (28 Nov 2002)
 
  28 Nov 2002 ; Spider <spider@gentoo.org> gnome-utils-2.0.6.ebuild 
  files/digest-gnome-utils-2.0.6 : update for latest gnome 2.0 release

  
*gnome-utils-2.1.2 (12 Nov 2002)

  12 Nov 2002; foser <foser@gentoo.org> gnome-utils-2.1.2.ebuild :
  GNOME 2.1.2 release

*gnome-utils-2.1.0 (27 Oct 2002)

  27 Oct 2002; foser <foser@gentoo.org> gnome-utils-2.1.0.ebuild :
  Gnome 2.1 commit

*gnome-utils-2.0.5 (06 Sep 2002)
  06 Sep 2002; Spider <spider@gentoo.org> gnome-utils-2.0.5.ebuild :
  versionbump

*gnome-utils-2.0.2-r1 (02 Sep 2002)
  02 Sep 2002; Spider <spider@gentoo.org> gnome-utils-2.0.2-r1.ebuild :
 re-enabled support for gdialog which was lost along the way.
  
*gnome-utils-2.0.2 (06 Aug 2002)
  06 Aug 2002; Spider <spider@gentoo.org> gnome-utils-2.0.2.ebuild :
  no big changes

*gnome-utils-2.0.1 (29 Jul 2002)
  29 Jul 2002; Spider <spider@gentoo.org> gnome-utils-2.0.1.ebuild: 
  new version released, moved to use gnome2.eclass 

gnome-utils-2.0.0 (17 Jun 2002)
  25 Jul 2002; Spider <spider@gentoo.org>
  SLOT KEYWORDS and LICENSE added
  mirror:// stuff
      
  17 Jun 2002; Spider <spider@gentoo.org> gnome-utils-2.0.0.ebuild :
  moved debug stuff in from inherit debug
  
*gnome-utils-2.0.0 (17 Jun 2002)
  17 Jun 2002; Gabriele Giorgetti <stroke@gentoo.org> gnome-utils-2.0.0.ebuild :
  new version; dependencies update; old versions removed. not eclassed


*gnome-utils-1.109.0 (10 Jun 2002)
  10 Jun 2002; Spider <spider@gentoo.org> gnome-utils-1.109.0.ebuild :
  new version. not eclassed.

  
*gnome-utils-1.107.0 (27 May 2002)
 27 May 2002; Spider <spider@gentoo.org>  gnome-utils-1.107.0.ebuild :
  new version out

*gnome-utils-1.106.0 (23 May 2002)
 23 May 2002; Spider <spider@gentoo.org>  gnome-utils-1.106.0.ebuild :
  New version released, no changes beyond some versions in the dependencies
  

*gnome-utils-1.105.0 (22 May 2002)
 22 May 2002; Spider <spider@gentoo.org>  gnome-utils-1.105.0.ebuild :
  gnome2 branch  

*gnome-utils-1.4.1.2 (2 Feb 2002)

  2 Feb 2002; M.Schlemmer <azarah@gentoo.org> gnome-utils-1.4.1.2.ebuild :

  Updated date in copyright;  changed Author to Maintainer;  removed the
  DEPEND on portage since it is not needed anymore.  Bumped the shadow
  DEPEND down to 4, as it compiles fine; removed the guile patch, as it
  seems fixed.

*gnome-utils-1.4.1.1-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.
