# ChangeLog for lxde-base/lxsession-edit
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/lxde-base/lxsession-edit/ChangeLog,v 1.11 2010/02/23 18:41:38 armin76 Exp $

  23 Feb 2010; Raúl Porcel <armin76@gentoo.org>
  lxsession-edit-0.1.1.ebuild:
  arm stable wrt #306433

  24 Jan 2010; Raúl Porcel <armin76@gentoo.org>
  lxsession-edit-0.1.1.ebuild:
  Add ~arm

  21 Nov 2009; nixnut <nixnut@gentoo.org> lxsession-edit-0.1.1.ebuild:
  ppc stable #292698

  20 Nov 2009; Markus Meier <maekke@gentoo.org> lxsession-edit-0.1.1.ebuild:
  amd64/x86 stable, bug #292698

  22 Sep 2009; Víctor Ostorga <vostorga@gentoo.org>
  lxsession-edit-0.1.1.ebuild:
  Fixing CDEPEND use

  27 Aug 2009; Víctor Ostorga <vostorga@gentoo.org>
  lxsession-edit-0.1.1.ebuild:
  Adding dev-util/intltool to DEPEND

  05 Aug 2009; Mounir Lamouri <volkmar@gentoo.org>
  lxsession-edit-0.1.1.ebuild:
  Create a CDEPEND to prevent lxde-common and lxsession to be in DEPEND.

  05 Aug 2009; Mounir Lamouri <volkmar@gentoo.org>
  lxsession-edit-0.1.1.ebuild:
  Keywording for ppc, bug 271148

  05 Aug 2009; Víctor Ostorga <vostorga@gentoo.org>
  lxsession-edit-0.1.1.ebuild:
  Adding RDEPENDS on lxde-base/lxde-common and lxde-base/lxsession

  05 Aug 2009; <vostorga@gentoo.org> lxsession-edit-0.1.1.ebuild,
  +files/lxsession-edit-0.1.1-intltool.patch:
  Fixing infinite loop, bug #280399
  Patch thanks to Yuan Ye <yuanyelele@gmail.com>

*lxsession-edit-0.1.1 (04 Aug 2009)

  04 Aug 2009; Ben de Groot <yngwin@gentoo.org>
  +lxsession-edit-0.1.1.ebuild, +metadata.xml:
  Initial import.

