man-db's manipulation of index.db mtime timestamp interferes with incremental backups
Bug #1411633 reported by
Oliver O.
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
man-db (Debian) |
Fix Released
|
Unknown
|
|||
man-db (Ubuntu) |
Fix Released
|
High
|
Colin Watson |
Bug Description
It appears that since version 2.7.0, man-db manipulates the mtime timestamp of /var/cache/
See https:/
This interferes with incremental backups which pick up files via their modification timestamps. Such backups will miss updated files which do not have their mtime timestamps changed accordingly. Automated comparisons between such backups and (btrfs snapshots of) their source data will fail. The integrity of such backups cannot be guaranteed.
Release: Ubuntu 14.10
Package: man-db 2.7.0.2-2
Changed in man-db (Ubuntu): | |
assignee: | nobody → Colin Watson (cjwatson) |
status: | Triaged → In Progress |
Changed in man-db (Debian): | |
status: | Unknown → New |
Changed in man-db (Debian): | |
status: | New → Confirmed |
Changed in man-db (Debian): | |
status: | Confirmed → Fix Released |
To post a comment you must log in.
This is a consequence of the poor layout noted in this comment in purge_missing:
if (will_run_mandb)
MYDBM_ SET_TIME (dbf, db_mtime);
/* Reset mtime to avoid confusing mandb into not running.
* TODO: It would be better to avoid this by only opening
* the database once between here and mandb.
*/
There are some situations where a later update_db will not actually modify the database and update the mtime, and in this situation purge_missing may have updated the database but reset the mtime to its previous value. The reorganisation implied by this comment would fix this.