2001-05-25  Theodore Tso  <tytso@valinux.com>

	* Release of E2fsprogs 1.20

2001-05-19  Theodore Tso  <tytso@valinux.com>

	* Makefile.bsd-lib, Makefile.dll-lib, Makefile.elf-lib,
		Makefile.solaris-lib: Use $(LDCONFIG) instead of -ldconfig.

2000-07-13    <tytso@valinux.com>

	* Release of E2fsprogs 1.19

1999-11-10    <tytso@valinux.com>

	* Release of E2fsprogs 1.18

1999-10-26    <tytso@valinux.com>

	* Release of E2fsprogs 1.17

1999-10-22    <tytso@valinux.com>

	* Release of E2fsprogs 1.16

1999-07-18  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs 1.15

1999-01-09  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs 1.14

1998-12-15  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs 1.13

1998-07-09  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs 1.12

1998-03-31  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Makefile.bsd-lib, Makefile.dll-lib, Makefile.elf-lib,
		Makefile.profile: Change to use new installation directory
		variables convention.  Add uninstall rules.

1998-03-28  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Makefile.elf-lib (installdirs): Change use of DLL_INSTALL_DIR to
		ELF_INSTALL_DIR.  (Doesn't make a difference currently,
		but it's correct this way.)

Tue Jun 17 01:33:20 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs 1.11

Thu Apr 24 12:16:42 1997  Theodre Ts'o  <tytso@localhost.mit.edu>

	* Release of E2fsprogs version 1.10

Thu Apr 17 12:23:38 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.09

Fri Apr 11 18:56:26 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.08

Wed Mar 12 13:32:05 1997  Theodore Y. Ts'o  <tytso@mit.edu>

	* Release of E2fsprogs version 1.07

Sat Mar  8 13:23:43 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Makefile.elf-lib (image): Allow Makefile.in files to specify 
		a list of libraries which the shared library depends upon.

Tue Oct  8 02:02:03 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.06

Thu Sep 12 15:23:07 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.05
Wed Aug 28 15:20:26 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* Makefile.elf-lib (installdirs-elf-lib): Renamed from installdirs
	to avoid making random directories only neeeded when installing
	normal libraries.
	(install-shlibs): Use installdirs-elf-lib instead of installdirs.

Thu May 23 12:40:12 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Makefile.elf-lib: Install the .so files in /usr/lib, since the
		.a files are stored there.  (We were installing the .so
		files in the wrong place before.)

Thu May 16 11:12:30 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.04

Wed May 15 22:59:06 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Makefile.profile (install): Add an install production so that
		the profiling libraries are installed.

Wed Mar 27 00:33:40 1996    <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.03

Wed Jan 31 11:06:08 1996    <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.02

Mon Oct 30 21:11:47 1995    <tytso@rsts-11.mit.edu>

	* Makefile.elf-lib: Changes to pass -soname to the linker, so that
		ld.so knows which version of the library to load when
		there's more than one major version of the shared library.

Mon Sep  4 21:42:46 1995  Remy Card  <card@bbj>

	* Makefile.bsd-lib: New file containing support for BSD shared
		libraries.

Sat Aug  5 11:43:05 1995  Theodore Y. Ts'o  <tytso@lurch.mit.edu>

	* Makefile.dll-lib: Added new target install-shlibs, which just
		installs the shared libraries.

	* Makefile.elf-lib: Added new target install-shlibs, which just
		installs the shared libraries.

Tue Jul 18 21:24:13 1995    <tytso@rsx-11.mit.edu>

	* Makefile.dll-lib (jump): For each of the libraries jump/jump.*
	        files are now in in dll/jump.*; now the subdirs target
	        takes care of creating the jump directory, and then copy
	        the jump.* files from the dll directory to the jump
	        directory.  This allows dll libraries to be built where
		the build directory is not equal to the source directory.

Tue Jul 11 22:05:56 1995    <tytso@rsx-11.mit.edu>

	* Makefile.checker,Makefile.elf-lib,Makefile.dll-lib,
		Makefile.profile: Add rule to mkdir the appropriate object
		subdirectory (checker, elfshared, jump, profiled, etc.)

