2007-08-25  Miloslav Trmač  <mitr@redhat.com>

	* configure.ac: Release 0.18.
	* NEWS: Update.

2007-08-15  Miloslav Trmač  <mitr@redhat.com>

	* src/locate.c (handle_dbpath_entry): Fix uninitialized memory access
	when handling "-" in dbpath.

2007-07-02  Miloslav Trmač  <mitr@redhat.com>

	* doc/updatedb.8.in: Add an example of running updatedb as an
	unprivileged user.

2007-06-18  Miloslav Trmač  <mitr@redhat.com>

	* configure.ac
	* tests/testsuite.at: Use new features of autoconf-2.60.
	* Makefile.am: Use new features of automake-1.10.

2007-05-16  Miloslav Trmač  <mitr@redhat.com>

	* doc/locate.1.in: Add an example of using \ to avoid the implicit
	'*' operators around patterns.  Note which command-line options are
	opposites.

2007-04-25  Miloslav Trmac  <mitr@redhat.com>

	* configure.ac: Release 0.17.
	* NEWS: Update.

	* src/updatedb.c (filesystem_is_excluded): Don't call realpath () on
	paths from /proc/self/mounts to avoid hangs on unavailable NFS
	filesystems.

2007-03-18  Miloslav Trmac  <mitr@redhat.com>

	* src/conf.c
	* src/conf.h
	* src/lib.c
	* src/lib.h
	* src/locate.c
	* src/updatedb.c: #include <stdbool.h>.  Use "bool" instead of "_Bool",
	use "true" and "false" where the constants are used as "bool" values.

2007-03-06  Miloslav Trmac  <mitr@redhat.com>

	* configure.ac: Release 0.16.
	* NEWS: Update.

2007-03-02  Miloslav Trmac  <mitr@redhat.com>

	* configure.ac (AM_INIT_AUTOMAKE): Add dist-bzip2.

	* src/conf.c
	* src/lib.c
	* src/lib.h
	* src/locate.c
	* src/updatedb.c: Revert header files order to the original: config.h,
	SUSv3 headers, library headers, mlocate headers.

2007-03-01  Miloslav Trmac  <mitr@redhat.com>

	* src/lib.h (struct string_list): New member "allocated".
	(cmp_dir_path_pointers): Remove declaration.
	(string_list_append, string_list_dir_path_sort): New declarations.
	* src/lib.c (string_list_append, string_list_dir_path_sort): New
	functions.
	(cmp_dir_path_pointers): Make static.
	* src/conf.c (struct var): Remove member "pointers", assume usage with
	an associated struct string_list.
	(var_init, var_add_values, var_clear, var_finish): Explicitly refer
	to the associated struct string_list, don't use an obstack for entry
	pointers.  All users updated.
	(uc_lex_buf, uc_lex_buf_size): New variables, replacing uc_obstack.
	(uc_lex_buf_append): New function.
	(uc_lex): Implicitly return string data in uc_lex_buf.
	* src/locate.c (conf_dbpath): Grow directly instead of using
	db_obstack.
	All users changed.
	(conf_patterns): Only store the original patterns.  Use a struct
	string_list.  Grow directly instead of using pattern_obstack.  All
	users changed.
	(conf_regex_patterns): New variable, used instead of conf_patterns. All
	users changed.
	(check_directory_perms): Use a manually managed buffer instead of
	check_obstack.
	(check_obstack, db_obstack, pattern_obstack): Remove variables.
	* src/updatedb.c (bind_mount_paths): Grow directly instead of using
	bind_mount_pointers_obstack.  All users changed.
	(bind_mount_pointers_obstack): Remove variable.
	(filesystem_is_excluded, scan_subdirs): Use a manually managed buffer
	instead of an obstack.

	* doc/mlocate.db.5: Document the prune_bind_mounts variable.
	* doc/updatedb.8.in: Document that --database-root does not have to be
	absolute, but will always be canonicalized.  Doclument
	--prune-bind-mounts.  Fix typos in font directives.
	* doc/updatedb.conf.5.in: Document PRUNE_BIND_MOUNTS.  Fix typos.

	* gnulib/m4/gnulib-cache.m4 (gl_MODULES): Use modules canonicalize-lgpl
	and timespec.
	* src/lib.h (struct string_list, cmp_dir_path_pointers): New
	declarations.
	* src/lib.c (cmp_dir_path_pointers): Move from ...
	* src/conf.c (cmp_dir_path_pointers): ... here.
	(conf_prunefs, conf_prunepaths): Use struct string_list, replaces
	conf_prunefs_len and conf_prunepaths_len.  All users updated.
	(conf_prune_bind_mounts): New variable.
	(parse_bool): New function, split from parse_arguments ().
	(var_finish): Directly update a struct string_list.  All users changed.
	(UCT_PRUNE_BIND_MOUNTS, UCT_PRUNEFS, UCT_PRUNEPATHS): New enum values.
	(uc_lex): Return specific values for known identifiers.
	(parse_updatedb_conf): Handle PRUNE_BIND_MOUNTS.
	(help): Document --prune-bind-mounts.  Generalize the text about default
	values.
	(parse_arguments): Add --prune-bind-mounts.  Don't require
	--database-root to be absolute, canonicalize it automatically.
	(gen_conf_block_string_list): New function, split from
	gen_conf_block ().
	(gen_conf_block): Add prune_bind_mounts.
	* src/conf.h (conf_prunefs, conf_prunepaths): Update declarations.
	(conf_prunefs_len, conf_prunepaths_len): Remove declarations.
	(conf_prune_bind_mounts): New declaration.
	* src/locate.c (conf_dbpath): Use struct string_list.  Replaces
	conf_dbpath_len.  All users updated.
	* src/updatedb.c (path_is_in_list): Split from scan ().
	(bind_mount_paths, bind_mount_paths_index, last_path_mounted_mtime)
	(bind_mount_paths_obstack, bind_mount_paths_mark)
	(bind_mount_pointers_obstack): New variables.
	(rebuild_bind_mount_paths, is_bind_mount, init_bind_mount_paths): New
	functions.
	(filesystem_is_excluded): Assume the input path is canonical.
	(scan): Exclude bind mounts if so configured.  Move did_chdir closer
	to its users.
	(main): Initialize bind mount list.
	* tests/config.at (config: -h): Update for new text.
	(config: -U): Update for new semantics.  Verify --database-root is
	canonicalized.
	(config: ---prune-bind-mounts): New test.

2007-02-27  Miloslav Trmac  <mitr@redhat.com>

	* src/updatedb.c (opendir_noatime): New function.
	(scan_cwd): Use opendir_noatime ().  This shaves a few seconds from
	first-time updatedb runs.
	* configure.ac: Check whether fdopendir () is available.

2007-02-26  Miloslav Trmac  <mitr@redhat.com>

	* src/conf.c (prepend_cwd): Use x2realloc ().

	* gnulib/m4/gnulib-cache.m4 (gl_MODULES): Use module mbsstr.
	* configure.ac: Don't use -Wcast-qual, gnulib's mbsstr doesn't compile
	with it.
	* src/locate.c (string_matches_pattern): Use mbsstr () instead of
	strstr () to handle multibyte encodings with non-unique start bytes
	correctly.

	* src/locate.c (write_quoted): Show only one question mark if the
	input string ends with an incomplete multibyte character.

	* src/locate.c (check_directory_perms): Reorganize to make the handling
	of "/" and top-level directories more clear.

	* doc/locate.1.in (DESCRIPTION): Fix punctuation.
	(NOTES): Note that locate may reorder the database path arbitrarily.

	* tests/config.at (config: -V)
	* tests/locate.at (locate: -V): Update for new copyright year.

	* gnulib/m4/gnulib-cache.m4 (gl_MODULES): Remove fwriterror (a typo).
	Remove timespec (a dependency of stat-time which mlocate doesn't use
	directly).

2007-02-21  Miloslav Trmac  <mitr@redhat.com>

	* README: Replace details by an unspecific promise.

	* configure.ac: Drop -Wnested-externs and -Wundef, gnulib's code can't
	handle them.

	* src/lib.c (htonll, ntohll, dir_path_cmp, db_open, db_refill)
	* src/updatedb.c (scan_subdirs, copy_old_dir, new_db_open): Use
	verify () instead of assert ().

	* src/lib.c (xmalloc, xrealloc): Remove in favor of gnulib's
	implementation.
	* src/lib.h (xmalloc, xrealloc): Remove declarations.

	* src/lib.c (db_refill): Use safe_read ().
	(db_read): Use mempcpy ().
	* src/locate.c (parse_dbpath): Use strchrnul () and mempcpy ().
	(parse_arguments, finish_dbpath): Use XNMALLOC ().
	* src/updatedb.c (time_get_ctime, time_get_mtime): Use
	get_stat_ctime_ns () and get_stat_mtime_ns ().

	* src/locate.c (main)
	* src/updatedb.c (main): Call set_program_name ().  Use fwriteerror ().

	* Makefile.am (ACLOCAL_AMFLAGS, AM_CPPFLAGS, SUBDIRS, src_locate_LDADD)
	(src_updatedb_LDADD)
	* configure.ac
	* src/conf.c
	* src/lib.c
	* src/lib.h
	* src/locate.c
	* src/updatedb.c
	* gnulib/m4/gnulib-cache.m4: Use gnulib, don't assume glibc.

2007-02-12  Miloslav Trmac  <mitr@redhat.com>

	* doc/locate.1.in: Fix a typo.

2007-01-29  Miloslav Trmac  <mitr@redhat.com>

	* doc/mlocate.db.5: Fix a pasto.

2007-01-16  Miloslav Trmac  <mitr@redhat.com>

	* doc/locate.1.in: Fix a typo in font change command.  (Reported by
	<esr@thyrsus.com>).

2006-11-16  Miloslav Trmac  <mitr@redhat.com>

	* configure.ac (AM_GNU_GETTEXT_VERSION): Update to 0.14.6.

2006-11-16  Miloslav Trmac  <mitr@redhat.com>

	* configure.ac: Version 0.15.
	* NEWS: Update.

	* configure.ac (PROC_MOUNTS_PATH): New test.
	* src/updatedb.c (MOUNT_TABLE_PATH): New macro, using PROC_MOUNTS_PATH.
	(filesystem_is_excluded): Use MOUNT_TABLE_PATH.

2006-03-15  Miloslav Trmac  <mitr@redhat.com>

	* src/conf.c (help): Add missing closing paren.
	(parse_arguments): Fix error message.

	* Makefile.am (DISTCLEANFILES, EXTRA_DIST, TESTFILES, clean-local)
	(check-local, installcheck-local, tests/package.m4, tests/testsuite)
	* configure.ac: Add test suite.
	* tests/config.at
	* tests/locate.at
	* tests/testsuite.at
	* tests/updatedb.at: New files.

2006-02-19  Miloslav Trmac  <mitr@redhat.com>

	* configure.ac: Version 0.14.
	* NEWS: Update.

	* README: Mention FNM_CASEFOLD requirement.

	* src/locate.c (_GNU_SOURCE): Define to get FNM_CASEFOLD.
	(conf_have_simple_pattern, conf_uppercase_patterns): New variables.
	(uppercase_string): Return a wide character string.
	(string_matches_pattern): Use FNM_CASEFOLD.  Use wcsstr () for
	case-insensitive simple pattern comparison.
	(parse_arguments): Leave conf_patterns in original case.  Set up
	conf_have_simple_pattern and conf_uppercase_patterns.
	(main): Leave uc_obstack with default alignment.

2006-02-15  Miloslav Trmac  <mitr@redhat.com>

	* configure.ac: Version 0.13.
	* NEWS: Update.

	* README: Describe what the "mlocate" group is for.

2006-02-14  Miloslav Trmac  <mitr@redhat.com>

	* Makefile.am (install-exec-hook): Make locate, not updatedb SGID.
	Oops.
	(install-exec-local): Make the database directory accessible by the
	mlocate group.

2005-12-31  Miloslav Trmac  <mitr@redhat.com>

	* configure.ac: Version 0.12.
	* NEWS: Update.

	* src/updatedb.c (time_get_ctime, time_get_mtime): Handle invalid
	nanosecond times returned by Captive NTFS.

2005-11-10  Miloslav Trmac  <mitr@redhat.com>

	* configure.ac: Version 0.11.
	* NEWS: Update.

	* Makefile.am (bin_PROGRAMS, libexec_PROGRAMS, install-exec-hook): Move
	updatedb to $(bindir).

2005-10-23  Miloslav Trmac  <mitr@redhat.com>

	* src/locate.c (parse_options): Actually set got_follow to 1 when
	necessary.

2005-08-04  Miloslav Trmac  <mitr@redhat.com>

	* src/locate.c (conf_output_quote): New variable.
	(write_quoted): New function.
	(parse_options): Set conf_output_quote if writing to stdout without
	--null.
	(handle_path): Implement conf_output_quote.
