[Fontconfig] [PATCH] Please make the output of cache files reproducible
Chris Lamb
lamby at debian.org
Tue May 15 20:13:58 UTC 2018
Hi Akira,
> Please mention about SOURCE_DATE_EPOCH at the section of the
> Environment variables in doc/fontconfig-user.sgml
Whoops, I somehow forgot this bit. Updated patch attached:
commit 9213848ca27ccc3587a1a60539ec7c02fb02016f
Author: Chris Lamb <chris at chris-lamb.co.uk>
Date: Tue May 15 22:11:24 2018 +0200
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/
doc/fontconfig-user.sgml | 6 ++++-
src/fccache.c | 58 +++++++++++++++++++++++++++++++++++++++++++-----
2 files changed, 57 insertions(+), 7 deletions(-)
You can also merge from the "864082-FcConfigGetFontDirs" branch of
https://github.com/lamby/fontconfig if that is more convenient.
Best wishes,
--
,''`.
: :' : Chris Lamb
`. `'` lamby at debian.org / chris-lamb.co.uk
`-
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Ensure-cache-checksums-are-deterministic.patch
Type: text/x-patch
Size: 5442 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/fontconfig/attachments/20180515/6d0e4930/attachment.bin>
More information about the Fontconfig
mailing list