[Fontconfig] [PATCH] Please make the output of cache files reproducible
Akira TAGOH
akira at tagoh.org
Wed May 16 07:09:04 UTC 2018
Thanks. fixing a typo and then merged.
On Wed, May 16, 2018 at 5:13 AM, Chris Lamb <lamby at debian.org> wrote:
> 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
> `-
--
Akira TAGOH
More information about the Fontconfig
mailing list