Source: yaru-theme Version: 22.04.4+dfsg-1 Severity: wishlist Tags: patch User: reproducible-bui...@lists.alioth.debian.org Usertags: filesystem X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org
Hi, Whilst working on the Reproducible Builds effort [0] we noticed that yaru-theme could not be built reproducibly. The .theme files generated by the generate-index-theme.py scripts varied depending on the underlying filesystem ordering. Patch attached that uses sorted(...) so that the contents are determinstic. (The .resource files remain nondeterminstic locally for me, however.) [0] https://reproducible-builds.org/ Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `-
--- a/debian/patches/reproducible-build.patch 1970-01-01 01:00:00.000000000 +0100 --- b/debian/patches/reproducible-build.patch 2022-06-14 07:41:10.064298706 +0100 @@ -0,0 +1,18 @@ +Description: Make the build reproducible +Author: Chris Lamb <la...@debian.org> +Last-Update: 2022-06-14 + +--- yaru-theme-22.04.4+dfsg.orig/icons/src/generate-index-theme.py ++++ yaru-theme-22.04.4+dfsg/icons/src/generate-index-theme.py +@@ -86,9 +86,9 @@ if __name__ == '__main__': + directory.split('/')[-1] not in args.exclude_context): + directories.add(directory) + +- theme['Icon Theme']['Directories'] = ','.join(directories) ++ theme['Icon Theme']['Directories'] = ','.join(sorted(directories)) + +- for dir in directories: ++ for dir in sorted(directories): + [sizes, context] = dir.split('/') + data = { + 'Context': CONTEXT_MAPPING.get(context, context.title()), --- a/debian/patches/series 1970-01-01 01:00:00.000000000 +0100 --- b/debian/patches/series 2022-06-14 07:41:09.184298298 +0100 @@ -0,0 +1 @@ +reproducible-build.patch