From 06eda7ca8fa42c654fd2ad861c1c43c1b395bc57 Mon Sep 17 00:00:00 2001
From: Chris Lamb <lamby@debian.org>
Date: Sat, 7 Dec 2019 13:56:24 +0000
Subject: [PATCH] Please make the output reproducible
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Whilst working on the Reproducible Builds effort [0] we noticed that
gtk-doc generates unreproducible output.
There will likely be more issues but this one is at least fairly
simple in that it iterates over a set structure when printing
some .devhelp2 headers, for example:
│ │ │ │ - <sub name="Index of new API in 0.99.5" link="api-index-0-99-5.html"/>
│ │ │ │ - <sub name="Index of new API in 0.9.22" link="api-index-0-9-22.html"/>
│ │ │ │ <sub name="Index of new API in 0.9.0" link="api-index-0-9-0.html"/>
│ │ │ │ - <sub name="Index of new API in 0.9.1" link="api-index-0-9-1.html"/>
│ │ │ │ + <sub name="Index of new API in 0.9.19" link="api-index-0-9-19.html"/>
│ │ │ │ <sub name="Index of new API in 0.99.8" link="api-index-0-99-8.html"/>
│ │ │ │ + <sub name="Index of new API in 0.99.5" link="api-index-0-99-5.html"/>
│ │ │ │ <sub name="Index of new API in 1.0" link="api-index-1-0.html"/>
│ │ │ │ - <sub name="Index of new API in 0.9.19" link="api-index-0-9-19.html"/>
│ │ │ │ <sub name="Index of new API in 0.9.2" link="api-index-0-9-2.html"/>
│ │ │ │ + <sub name="Index of new API in 0.9.1" link="api-index-0-9-1.html"/>
│ │ │ │ + <sub name="Index of new API in 0.9.22" link="api-index-0-9-22.html"/>
This was originally filed in Debian as #946311 [1].
[0] https://reproducible-builds.org/
[1] https://bugs.debian.org/946331
Signed-off-by: Chris Lamb <lamby@debian.org>
---
gtkdoc/mkdb.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gtkdoc/mkdb.py b/gtkdoc/mkdb.py
index 9404452..9184567 100644
--- a/gtkdoc/mkdb.py
+++ b/gtkdoc/mkdb.py
@@ -2491,7 +2491,7 @@ def OutputBook(main_file, book_top, book_bottom, obj_tree):
<xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
</index>
''')
- for version in set(Since.values()):
+ for version in sorted(set(Since.values())):
dash_version = version.replace('.', '-')
OUTPUT.write(''' <index id="api-index-%s" role="%s">
<title>Index of new API in %s</title>
--
2.26.2