# ChangeLog for sys-kernel/zen-sources
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/sys-kernel/zen-sources/ChangeLog,v 1.31 2010/03/05 09:28:39 hwoarang Exp $

*zen-sources-2.6.32_p7 (05 Mar 2010)

  05 Mar 2010; Markos Chandras <hwoarang@gentoo.org>
  +zen-sources-2.6.32_p7.ebuild:
  Bump 2.6.32 to zen7 (Gogoozled)

*zen-sources-2.6.33_p1 (05 Mar 2010)

  05 Mar 2010; Alex Alexander <wired@gentoo.org>
  +zen-sources-2.6.33_p1.ebuild:
  version bump

*zen-sources-2.6.33_rc7_p1 (13 Feb 2010)

  13 Feb 2010; Alex Alexander <wired@gentoo.org>
  +zen-sources-2.6.33_rc7_p1.ebuild:
  version bump: 2.6.33_rc7_p1

*zen-sources-2.6.32_p6 (31 Jan 2010)
*zen-sources-2.6.31_p12 (31 Jan 2010)

  31 Jan 2010; <hwoarang@gentoo.org> +zen-sources-2.6.31_p12.ebuild,
  +zen-sources-2.6.32_p6.ebuild:
  Version bump

*zen-sources-2.6.33_rc5_p1 (25 Jan 2010)

  25 Jan 2010; Alex Alexander <wired@gentoo.org>
  +zen-sources-2.6.33_rc5_p1.ebuild:
  version bump, includes hotfix

  20 Jan 2010; Markos Chandras <hwoarang@gentoo.org>
  zen-sources-2.6.33_rc4_p1.ebuild:
  Remove obsolete patch. Fixes bug #301517

*zen-sources-2.6.32_p5 (19 Jan 2010)
*zen-sources-2.6.31_p11 (19 Jan 2010)

  19 Jan 2010; Markos Chandras <hwoarang@gentoo.org>
  +zen-sources-2.6.31_p11.ebuild, +zen-sources-2.6.32_p5.ebuild:
  Version bump

*zen-sources-2.6.33_rc4_p1 (17 Jan 2010)

  17 Jan 2010; Markos Chandras <hwoarang@gentoo.org>
  +zen-sources-2.6.33_rc4_p1.ebuild:
  Version bump

  06 Jan 2010; Alex Alexander <wired@gentoo.org>
  zen-sources-2.6.30_p11.ebuild, zen-sources-2.6.31_p8.ebuild,
  zen-sources-2.6.31_p9.ebuild, zen-sources-2.6.31_p10.ebuild,
  zen-sources-2.6.32_p1.ebuild, zen-sources-2.6.32_p2.ebuild,
  zen-sources-2.6.32_p3.ebuild, zen-sources-2.6.32_p4.ebuild,
  zen-sources-2.6.33_rc2_p1-r1.ebuild, zen-sources-9999.ebuild:
  dropped useless RESTRICTs, fixed bug 299906

*zen-sources-2.6.33_rc2_p1-r1 (06 Jan 2010)

  06 Jan 2010; <hwoarang@gentoo.org> -zen-sources-2.6.33_rc2_p1.ebuild,
  +zen-sources-2.6.33_rc2_p1-r1.ebuild,
  +files/zen-sources-2.6.33_rc2_p1-kernel-sysctl.c.patch:
  Bump to fix a kernel configuration issue which is not fixed on zen-sources
  git
  repository
  Related commit:
  http://git.zen-kernel.org/?p=kernel/zen.git;a=commitdiff;h=3764e86df27a810
  77ed043ce5c659c7970541371

  03 Jan 2010; Alex Alexander <wired@gentoo.org>
  zen-sources-2.6.30_p11.ebuild, zen-sources-2.6.31_p8.ebuild,
  zen-sources-2.6.31_p9.ebuild, zen-sources-2.6.31_p10.ebuild,
  zen-sources-2.6.32_p1.ebuild, zen-sources-2.6.32_p2.ebuild,
  zen-sources-2.6.32_p3.ebuild, zen-sources-2.6.32_p4.ebuild,
  zen-sources-2.6.33_rc2_p1.ebuild:
  added xz/lzma DEPEND, bug 299351

*zen-sources-2.6.32_p4 (01 Jan 2010)

  01 Jan 2010; Markos Chandras <hwoarang@gentoo.org>
  +zen-sources-2.6.32_p4.ebuild:
  Version bump

*zen-sources-2.6.33_rc2_p1 (26 Dec 2009)

  26 Dec 2009; <hwoarang@gentoo.org> +zen-sources-2.6.33_rc2_p1.ebuild:
  Add 2.6.33_rc2 zen-sources

*zen-sources-2.6.32_p3 (23 Dec 2009)

  23 Dec 2009; Markos Chandras <hwoarang@gentoo.org>
  +zen-sources-2.6.32_p3.ebuild:
  Version bump

*zen-sources-2.6.31_p10 (19 Dec 2009)

  19 Dec 2009; Markos Chandras <hwoarang@gentoo.org>
  +zen-sources-2.6.31_p10.ebuild:
  Version bump. Drop drm-next availability

*zen-sources-2.6.32_p2 (18 Dec 2009)

  18 Dec 2009; Alex Alexander <wired@gentoo.org>
  +zen-sources-2.6.32_p2.ebuild:
  version bump

  16 Dec 2009; Markos Chandras <hwoarang@gentoo.org>
  -zen-sources-2.6.30_p9-r1.ebuild, -zen-sources-2.6.30_p10.ebuild,
  -zen-sources-2.6.32_rc5_p2-r1.ebuild, -zen-sources-2.6.32_rc6_p1.ebuild,
  -zen-sources-2.6.32_rc7_p1.ebuild, -zen-sources-2.6.32_rc8_p1.ebuild:
  Remove old ebuilds

*zen-sources-2.6.32_p1 (14 Dec 2009)
*zen-sources-2.6.30_p11 (14 Dec 2009)

  14 Dec 2009; Alex Alexander <wired@gentoo.org>
  +zen-sources-2.6.30_p11.ebuild, +zen-sources-2.6.32_p1.ebuild:
  version bumps: 2.6.30_p11 (final), 2.6.32_p1

*zen-sources-2.6.31_p9 (30 Nov 2009)

  30 Nov 2009; Markos Chandras <hwoarang@gentoo.org>
  -zen-sources-2.6.31_p5-r2.ebuild, -zen-sources-2.6.31_p6.ebuild,
  -zen-sources-2.6.31_p7.ebuild, +zen-sources-2.6.31_p9.ebuild:
  Bump to 2.6.31-zen9-white-toast. Remove old 2.6.31 ebuilds

*zen-sources-2.6.32_rc8_p1 (24 Nov 2009)

  24 Nov 2009; Alex Alexander <wired@gentoo.org>
  +zen-sources-2.6.32_rc8_p1.ebuild:
  version bump

*zen-sources-2.6.32_rc7_p1 (16 Nov 2009)

  16 Nov 2009; Alex Alexander <wired@gentoo.org>
  +zen-sources-2.6.32_rc7_p1.ebuild:
  version bump

*zen-sources-2.6.31_p8 (14 Nov 2009)

  14 Nov 2009; Alex Alexander <wired@gentoo.org>
  +zen-sources-2.6.31_p8.ebuild:
  version bump

  08 Nov 2009; Alex Alexander <wired@gentoo.org>
  zen-sources-2.6.31_p7.ebuild, metadata.xml:
  added USE flag for drm-next patch

*zen-sources-2.6.31_p7 (07 Nov 2009)

  07 Nov 2009; Markos Chandras <hwoarang@gentoo.org>
  +zen-sources-2.6.31_p7.ebuild:
  Bump to 2.6.31-zen7 "Masturbating Monkeys"

*zen-sources-2.6.31_p6 (04 Nov 2009)
*zen-sources-2.6.30_p10 (04 Nov 2009)

  04 Nov 2009; Alex Alexander <wired@gentoo.org>
  +zen-sources-2.6.30_p10.ebuild, -zen-sources-2.6.31_p4-r1.ebuild,
  +zen-sources-2.6.31_p6.ebuild:
  version bumps and old removal

*zen-sources-9999 (04 Nov 2009)
*zen-sources-2.6.32_rc6_p1 (04 Nov 2009)
*zen-sources-2.6.32_rc5_p2-r1 (04 Nov 2009)

  04 Nov 2009; Alex Alexander <wired@gentoo.org>
  +zen-sources-2.6.32_rc5_p2-r1.ebuild, +zen-sources-2.6.32_rc6_p1.ebuild,
  +zen-sources-9999.ebuild, metadata.xml:
  added rc5, rc6 and 9999 ebuilds

  01 Nov 2009; Markos Chandras <hwoarang@gentoo.org>
  zen-sources-2.6.30_p9-r1.ebuild, zen-sources-2.6.31_p4-r1.ebuild,
  zen-sources-2.6.31_p5-r2.ebuild:
  Use static text on description

*zen-sources-2.6.31_p5-r2 (30 Oct 2009)
*zen-sources-2.6.31_p4-r1 (30 Oct 2009)
*zen-sources-2.6.30_p9-r1 (30 Oct 2009)

  30 Oct 2009; Alex Alexander <wired@gentoo.org>
  -zen-sources-2.6.30_p9.ebuild, +zen-sources-2.6.30_p9-r1.ebuild,
  -zen-sources-2.6.31_p4.ebuild, +zen-sources-2.6.31_p4-r1.ebuild,
  -zen-sources-2.6.31_p5-r1.ebuild, +zen-sources-2.6.31_p5-r2.ebuild:
  fixed install dir name fail :)

*zen-sources-2.6.31_p5-r1 (30 Oct 2009)
*zen-sources-2.6.31_p4 (30 Oct 2009)
*zen-sources-2.6.30_p9 (30 Oct 2009)

  30 Oct 2009; Alex Alexander <wired@gentoo.org>
  -zen-sources-2.6.30-r9.ebuild, +zen-sources-2.6.30_p9.ebuild,
  -zen-sources-2.6.31-r4.ebuild, -zen-sources-2.6.31-r5.ebuild,
  +zen-sources-2.6.31_p4.ebuild, +zen-sources-2.6.31_p5-r1.ebuild,
  +files/zen-sources-2.6.31_p5-config_fb_fix.patch:
  modified versioning scheme to allow revisions of the same patchset. the
  patchset version is now defined by _p. this was necessary in order to be
  able to add hotfixes (like the one in 2.6.31_p5-r1).

*zen-sources-2.6.31-r5 (29 Oct 2009)

  29 Oct 2009; Alex Alexander <wired@gentoo.org>
  +zen-sources-2.6.31-r5.ebuild:
  version bump - 2.6.31-zen5

*zen-sources-2.6.31-r4 (20 Oct 2009)
*zen-sources-2.6.30-r9 (20 Oct 2009)

  20 Oct 2009; Markos Chandras <hwoarang@gentoo.org>
  +zen-sources-2.6.30-r9.ebuild, +zen-sources-2.6.31-r4.ebuild,
  +metadata.xml:
  Initial commit of zen-sources. Fixes bug #288512. Thanks to Brandon
  Berhent
  <cheater1034@gmail.com> for the initial ebuilds

