dejagnu (1.4-3) stable; urgency=low
  * Update version number for new minor release.

 -- Rob Savoye <rob@welcomehome.org>  Tue,  12 Sept 2001 04:20:00 -0800

dejagnu (1.4-2) stable; urgency=low
  * Update version number for new minor release.

 -- Rob Savoye <rob@welcomehome.org>  Tue,  12 Sept 2001 04:20:00 -0800

dejagnu (1.4-1) stable; urgency=low
  * Update version number for new minor release.

 -- Rob Savoye <rob@welcomehome.org>  Wed,  2 May 2001 04:20:00 -0800

dejagnu (1.4-0) stable; urgency=low
  * Make this work again for the new release.

 -- Rob Savoye <rob@welcomehome.org>  Wed,  21 Feb 2001 04:20:00 -0800

dejagnu (1.3-10) frozen unstable; urgency=low

  * add example to /usr/doc (fixes bug #28491)
  * changed permissions on runtest.exp so that it is not executable
  * upgrade Standards-Version to 2.5.0.0

 -- Kevin Dalley <kevind@rahul.net>  Sat,  5 Dec 1998 04:37:07 -0800

dejagnu (1.3-9) unstable; urgency=low

  * install postinst, etc, which creates correct permissions on files
    (fixes Bug #25044).
  * corrected FSF address in copyright.

 -- Kevin Dalley <kevind@rahul.net>  Sun,  9 Aug 1998 18:08:06 -0700

dejagnu (1.3-8) unstable; urgency=low

  * corrected copyright (fixes bug #14864)
  * changed maintainer email address

 -- Kevin Dalley <kevind@rahul.net>  Tue, 23 Dec 1997 22:47:14 -0800

dejagnu (1.3-7) unstable; urgency=low

  * changed dependency back from expect5.24 to expect, now that expect is
    provided by various expect packages.

 -- Kevin Dalley <kevin@aimnet.com>  Tue, 30 Sep 1997 23:04:21 -0700

dejagnu (1.3-6) unstable; urgency=low

  * changed dependency to expect5.24

 -- Kevin Dalley <kevin@aimnet.com>  Sat, 20 Sep 1997 10:29:28 -0700

dejagnu (1.3-5) unstable; urgency=low

  * changed debian/control to satisfy standards and fix bug #3566,
  summary incorrect
  * moved files debian.* to debian/*
  * converted to Standards-Version: 2.1.1.0

 -- Kevin Dalley <kevin@aimnet.com>  Sat, 12 Oct 1996 02:05:21 -0700




Sun Jun  2 18:06:24 1996  Kevin Dalley  <kevin@aplysia.iway.aimnet.com (Kevin Dalley)>

	* debian.control, debian.rules: upgraded to Debian release 4
	changed most instances of dejagnu to $(package) use debian.rules
	package value to build control value of Package

Fri May 24 01:57:31 1996  Kevin Dalley  <kevin@aplysia.iway.aimnet.com (Kevin Dalley)>

	* debian.postrm: change to -e


	* debian.conffiles, debian.postinst, debian.rules, debian.preinst,
	debian.prerm: moved conffile from /var/lib/dejagnu to /etc/dejagnu


Thu May 23 00:52:57 1996  Kevin Dalley  <kevin@aplysia.iway.aimnet.com (Kevin Dalley)>

	* debian.rules: changed architecture to all and updated to debian
	revision 2

	* debian.control: changed architecture to all

Sun May 19 14:02:47 1996  Kevin Dalley  <kevin@aplysia.iway.aimnet.com (Kevin Dalley)>

	* debian.README, debian.conffiles, debian.control,
	debian.postinst, debian.postrm, debian.rules, debian.site.exp,
	debian.ChangeLog added
	
Local variables:
mode: debian-changelog
End:
