# ChangeLog for sys-fs/atari-fdisk
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/sys-fs/atari-fdisk/ChangeLog,v 1.4 2009/01/14 02:59:06 vapier Exp $

*atari-fdisk-0.7.1.5.4 (14 Jan 2009)

  14 Jan 2009; Mike Frysinger <vapier@gentoo.org>
  +atari-fdisk-0.7.1.5.4.ebuild:
  Update debian patchset for build failure #241412.

  16 Sep 2005; Aron Griffis <agriffis@gentoo.org>
  atari-fdisk-0.7.1.5.1.ebuild:
  Mark 0.7.1.5.1 stable on alpha

  23 Aug 2005; Aron Griffis <agriffis@gentoo.org>
  atari-fdisk-0.7.1.5.1.ebuild:
  stable on ia64

*atari-fdisk-0.7.1.5.1 (24 May 2005)

  24 May 2005; Mike Frysinger <vapier@gentoo.org> :
  Initial import.  Ebuild submitted by me.
