[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