fontconfig/doc
Chris Lamb f098adac54 Ensure cache checksums are deterministic
Whilst working on the Reproducible Builds[0] effort, we noticed that
fontconfig generates unreproducible cache files.

This is due to fc-cache uses the modification timestamps of each
directory in the "checksum" and "checksum_nano" members of the _FcCache
struct. This is so that it can identify which cache files are valid
and/or require regeneration.

This patch changes the behaviour of the checksum calculations to prefer
the value of the SOURCE_DATE_EPOCH[1] environment variable over the
directory's own mtime. This variable can then be exported by build
systems to ensure reproducible output.

If SOURCE_DATE_EPOCH is not set or is newer than the mtime of the
directory, the existing behaviour is unchanged.

This work was sponsored by Tails[2].

 [0] https://reproducible-builds.org/
 [1] https://reproducible-builds.org/specs/source-date-epoch/
 [2] https://tails.boum.org/
2018-05-16 16:06:46 +09:00
..
Makefile.am fix cross compilation 2017-06-27 18:49:20 +09:00
check-missing-doc Revert "Remove fcprivate.h, move the remaining macros to fcint.h." 2007-11-13 15:48:30 -08:00
confdir.sgml.in Cleanup copyright notices to replace "Keith Packard" with "the author(s)" 2010-11-10 16:45:42 -05:00
edit-sgml.c Cleanup copyright notices to replace "Keith Packard" with "the author(s)" 2010-11-10 16:45:42 -05:00
fcatomic.fncs More doc typo fixes 2011-03-14 18:23:56 -03:00
fcblanks.fncs Update documentation for removal of blanks 2017-09-12 17:09:43 -04:00
fccache.fncs Add missing doc of FcDirCacheCreateUUID 2017-12-18 20:04:13 +09:00
fccharset.fncs Update doc to include the version info of `since when' 2014-03-07 19:42:21 +09:00
fcconfig.fncs Add the ruleset description support 2017-11-07 15:24:54 +09:00
fcconstant.fncs Deprecate FcName(Un)RegisterObjectTypes / FcName(Un)RegisterConstants 2013-01-01 22:55:08 -06:00
fcdircache.fncs Update doc to include the version info of `since when' 2014-03-07 19:42:21 +09:00
fcfile.fncs Cleanup copyright notices to replace "Keith Packard" with "the author(s)" 2010-11-10 16:45:42 -05:00
fcfontset.fncs Documentation fixes 2011-03-11 19:43:42 -03:00
fcformat.fncs Update doc to include the version info of `since when' 2014-03-07 19:42:21 +09:00
fcfreetype.fncs doc: trivial update 2017-11-07 14:46:10 +09:00
fcinit.fncs More doc typo fixes 2011-03-14 18:23:56 -03:00
fclangset.fncs Update doc to include the version info of `since when' 2014-03-07 19:42:21 +09:00
fcmatrix.fncs More doc typo fixes 2011-03-14 18:23:56 -03:00
fcobjectset.fncs More doc typo fixes 2011-03-14 18:23:56 -03:00
fcobjecttype.fncs Deprecate FcName(Un)RegisterObjectTypes / FcName(Un)RegisterConstants 2013-01-01 22:55:08 -06:00
fcpattern.fncs Bug 43367 - RFE: iterator to peek objects in FcPattern 2018-05-11 20:48:30 +09:00
fcrange.fncs Fix a typo 2014-12-25 13:48:57 +09:00
fcstring.fncs Documentation fixes 2011-03-11 19:43:42 -03:00
fcstrset.fncs Update doc to include the version info of `since when' 2014-03-07 19:42:21 +09:00
fcvalue.fncs Cleanup copyright notices to replace "Keith Packard" with "the author(s)" 2010-11-10 16:45:42 -05:00
fcweight.fncs Add FcWeightTo/FromOpenTypeDouble() 2018-01-03 15:59:56 +00:00
fontconfig-devel.sgml Update documentation for removal of blanks 2017-09-12 17:09:43 -04:00
fontconfig-user.sgml Ensure cache checksums are deterministic 2018-05-16 16:06:46 +09:00
func.sgml Update doc to include the version info of `since when' 2014-03-07 19:42:21 +09:00
version.sgml.in Cleanup copyright notices to replace "Keith Packard" with "the author(s)" 2010-11-10 16:45:42 -05:00