Source: mono
Version: 6.8.0.105+dfsg-3.2
Severity: wishlist
Tags: patch
User: reproducible-bui...@lists.alioth.debian.org
Usertags: filesystem toolchain
X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org

Hi,

Whilst working on the Reproducible Builds effort [0] we noticed that
src:mono generates "mastersummary.xml" files with nondeterministic contents:

Here is, for example, diffoscope output from src:hyena:

│ │ │ │ ├── mastersummary.xml
│ │ │ │ │ ├── mastersummary.xml
│ │ │ │ │ │ @@ -1,95 +1,95 @@
│ │ │ │ │ │  <?xml version="1.0" encoding="utf-8"?>
│ │ │ │ │ │  <elements>
│ │ │ │ │ │ -  <namespace ns="Hyena.Data">
│ │ │ │ │ │ +  <namespace ns="Hyena.Data.Gui">
│ │ │ │ │ │      <summary>To be added.</summary>
│ │ │ │ │ │      <remarks>To be added.</remarks>
│ │ │ │ │ │    </namespace>
│ │ │ │ │ │ -  <namespace ns="Hyena.Query">
│ │ │ │ │ │ +  <namespace ns="Hyena.Gui.Dialogs">
│ │ │ │ │ │      <summary>To be added.</summary>
│ │ │ │ │ │      <remarks>To be added.</remarks>
│ │ │ │ │ │    </namespace>
│ │ │ │ │ │ -  <namespace ns="Mono.Data.Sqlite">
│ │ │ │ │ │ +  <namespace ns="Hyena.Gui">
│ │ │ │ │ │      <summary>To be added.</summary>
│ │ │ │ │ │      <remarks>To be added.</remarks>

Patch attached that should sort these files before iterating.

  [0] https://reproducible-builds.org/


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      la...@debian.org / chris-lamb.co.uk
       `-
diff --git a/external/api-doc-tools/monodoc/Monodoc/providers/ecma-provider.cs 
b/external/api-doc-tools/monodoc/Monodoc/providers/ecma-provider.cs
index 4e82c2c..05e0969 100644
--- a/external/api-doc-tools/monodoc/Monodoc/providers/ecma-provider.cs
+++ b/external/api-doc-tools/monodoc/Monodoc/providers/ecma-provider.cs
@@ -128,7 +128,7 @@ namespace Monodoc.Providers
 
                        var masterSummary = new XElement ("elements",
                                                          directories
-                                                         .SelectMany (d => 
Directory.EnumerateFiles (d, "ns-*.xml"))
+                                                         .SelectMany (d => 
Directory.EnumerateFiles (d, "ns-*.xml").OrderByDescending(filename => 
filename))
                                                          .Select 
(FileSource.ExtractNamespaceSummary));
                        storage.Store ("mastersummary.xml", 
masterSummary.ToString ());
                }

Reply via email to