summaryrefslogtreecommitdiff
path: root/Makefile.in
diff options
context:
space:
mode:
authorColin Watson <cjwatson@debian.org>2014-09-08 23:55:19 +0100
committerColin Watson <cjwatson@debian.org>2014-09-10 22:44:11 +0100
commitd9ebedad152816ea2ee8725a0ee1b0f80f7aeb46 (patch)
tree9280ed3f23f125ee13cfaed30f7f6727a580f75e /Makefile.in
parentcfd69ae971f1b23887ace7806b4fcd8281be1d2c (diff)
Move database mtime out of the database into file metadata
This makes the database reproducible between installations, as long as the underlying database has predictable behaviour and the set of installed manual pages (including their timestamps) remains identical. As a bonus, we now use high-precision times in several places. Fixes Debian bug #760895. * gnulib: Import futimens and timespec modules. * libdb/db_btree.c (btree_get_time, btree_set_time): New functions. * libdb/db_gdbm.c (man_gdbm_get_time, man_gdbm_set_time): New functions. * libdb/db_ndbm.c (ndbm_get_time, ndbm_set_time): New functions. * libdb/mydbm.h (man_gdbm_get_time, man_gdbm_set_time, ndbm_get_time, ndbm_set_time, btree_get_time, btree_set_time): Add prototypes. (MYDBM_GET_TIME, MYDBM_SET_TIME): New macros. * src/check_mandirs.c (testmandirs, create_db, count_glob_matches, purge_normal, purge_whatis, purge_missing): Use high-precision times. (update_db_time): Set file modification times rather than updating a database row. (create_db, purge_missing): Get database file modification times rather than fetching a database row. (purge_missing): If the new will_run_mandb argument is true, reset the database mtime to its value before purging; this ensures that mandb will still run as expected afterwards. * src/check_mandirs.h (purge_missing): Update prototype. * src/mandb.c (xcopy): Copy access and modification times. (process_manpath): Work out in advance of purging whether we will need to run mandb, and pass that to purge_missing. * include/manconfig.h.in (VER_ID): Bump to 2.5.0. (KEY): Remove. * man/man8/accessdb.man8 (DESCRIPTION), man/it/man8/accessdb.man8 (DESCRIZIONE): Remove sample output, as it is of limited usefulness compared to how awkward it is to maintain, especially in text intended for translation. * man/po4a/po/man-db-manpages.pot, man/po4a/po/*.po: Update. * manual/db.me (Contents of an index database): Remove mention of $mtime$. (Example database): Remove $mtime$. Update $version. * NEWS: Document this. Bump version to 2.7.0 to correspond to the database version change.
Diffstat (limited to 'Makefile.in')
-rw-r--r--Makefile.in1
1 files changed, 1 insertions, 0 deletions
diff --git a/Makefile.in b/Makefile.in
index 3a1b7b3b..bc1db6ce 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -138,6 +138,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-bdb.m4 \
$(top_srcdir)/gnulib/m4/fnmatch.m4 \
$(top_srcdir)/gnulib/m4/fstat.m4 \
$(top_srcdir)/gnulib/m4/fstatat.m4 \
+ $(top_srcdir)/gnulib/m4/futimens.m4 \
$(top_srcdir)/gnulib/m4/getcwd-abort-bug.m4 \
$(top_srcdir)/gnulib/m4/getcwd-path-max.m4 \
$(top_srcdir)/gnulib/m4/getcwd.m4 \