[Reproducible-commits] [notes] 01/01: packages += khronos-opengl-man4
Daniel Shahaf
danielsh at apache.org
Tue May 3 19:50:20 UTC 2016
This is an automated email from the git hooks/post-receive script.
danielsh-guest pushed a commit to branch master
in repository notes.
commit 7867df66ba79423fbe5baaf2b79c5b48e71382de
Author: Daniel Shahaf <d.s at daniel.shahaf.name>
Date: Tue May 3 19:49:09 2016 +0000
packages += khronos-opengl-man4
---
packages.yml | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/packages.yml b/packages.yml
index c706969..e790f46 100644
--- a/packages.yml
+++ b/packages.yml
@@ -6159,6 +6159,26 @@ khronos-api:
https://sources.debian.net/src/khronos-api/0~svn29577-2/genheaders.py/#L236-L261
issues:
- timestamps_in_pdf_generated_by_latex
+khronos-opengl-man4:
+ version: 1.0~svn31251-1
+ comments: |
+ The -doc package's HTML index is unreproducible: the order of the keys 'glMemoryBarrier' and 'memoryBarrier' differs.
+
+ The index is generated by html/makeindex.py¹.
+ It is sorted case-insensitively (see 'key=str.lower' argument on line 236),
+ and 'gl' prefixes are removed prior to sorting (see makeKey()) — that's why glMemoryBarrier is in the M's.
+
+ The relevant codepath is genDict() [callsite on line 310] → sortedKeys() → list.sort().
+ While list.sort() is a stable sort, the list prior to sorting contains the keys in the order
+ dict.keys() provides them (where the local variable 'dict' is the global variable 'refIndex', not __builtins__.dict);
+ since refIndex is a __builtins__.dict, its .keys() method returns keys in an unpredictable order.
+
+ The fix would be to make sortedKeys() sort refIndex's keys deterministically, e.g.,
+ by changing line 236 to «for key in sorted(dict.keys()):». (Note that using OrderedDict
+ by itself won't suffice, since the keys are added in os.listdir() order, i.e., in
+ readdir() order.)
+
+ ¹ http://sources.debian.net/src/khronos-opengl-man4/1.0~svn31251-1/html/makeindex.py/
kicad:
version: 4.0.0~rc1a-3
issues:
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/notes.git
More information about the Reproducible-commits
mailing list