# ChangeLog for app-doc/djbdns-man
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/app-doc/djbdns-man/ChangeLog,v 1.23 2009/05/03 20:15:20 dirtyepic Exp $

  03 May 2009; Ryan Hill <dirtyepic@gentoo.org> ChangeLog:
  Assign to killerfox as maintainer of djbdns.

  21 Apr 2008; Christian Heim <phreak@gentoo.org> metadata.xml:
  Fix up metadata.xml. If there's no maintainer for the package, the metadata
  also needs to contain m-needed@g.o.

  11 Aug 2007; Ryan Hill <dirtyepic@gentoo.org> -djbdns-man-20020130.ebuild,
  djbdns-man-20031023.ebuild:
  Remove old.

  26 Jul 2007; Raúl Porcel <armin76@gentoo.org> djbdns-man-20031023.ebuild:
  ia64 stable

  04 Feb 2007; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
  Regenerate digest in Manifest2 format.

  21 Jan 2006; Michael Hanselmann <hansmi@gentoo.org>
  djbdns-man-20031023.ebuild:
  Stable on hppa.

  13 May 2005; Bryan Østergaard <kloeri@gentoo.org>
  djbdns-man-20031023.ebuild:
  Stable on alpha.

  20 Mar 2005; Michael Hanselmann <hansmi@gentoo.org>
  djbdns-man-20031023.ebuild:
  Added to ~hppa.

  06 Feb 2005; Joshua Kinard <kumba@gentoo.org> djbdns-man-20031023.ebuild:
  Marked stable on mips.

  19 Dec 2004; Jason Huebel <jhuebel@gentoo.org> djbdns-man-20031023.ebuild:
  amd64, just docs, no need for testing

  01 Nov 2004; Bryan Østergaard <kloeri@gentoo.org>
  djbdns-man-20031023.ebuild:
  ~alpha keyword.

  29 Aug 2004; Tom Gall <tgall@gentoo.org> djbdns-man-20031023.ebuild:
  stable on ppc64, bug #61744

  29 Jun 2004; Aron Griffis <agriffis@gentoo.org> djbdns-man-20020130.ebuild,
  djbdns-man-20031023.ebuild:
  sync IUSE (missing)

  06 Jun 2004; Danny van Dyk <kugelfang@gentoo.org>
  djbdns-man-20031023.ebuild:
  Marked ~amd64.

*djbdns-man-20031023 (27 Mar 2004)

  27 Mar 2004; Jared Hudson <jhhudso@gentoo.org> : Version bump thanks to
  Kalin KOZHUHAROV <kalin@ThinRope.net> under bug #38419

  06 Dec 2002; Rodney Rees <manson@gentoo.org> : changed sparc ~sparc keywords
 
*djbdns-man-20020130 (26 Apr 2002)

  26 Apr 2002; Thilo Bangert <bangert@gentoo.org> ChangeLog :

  initial release ;-)
