<div dir="ltr"><div>Hey Chris,</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Feb 15, 2023 at 7:27 PM Chris Lamb <<a href="mailto:chris@reproducible-builds.org">chris@reproducible-builds.org</a>> wrote:</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
This change to Sphinx makes alembic reproducible:<br>
<br>
  <a href="https://github.com/lamby/sphinx/commit/4ad7670c1df00f82e758aaa8a7b9aaea83b8eaba" rel="noreferrer" target="_blank">https://github.com/lamby/sphinx/commit/4ad7670c1df00f82e758aaa8a7b9aaea83b8eaba</a><br>
<br>
Does this patch work for you?<br></blockquote><div><br></div><div>Yes!  Thank you - that's a much better patch than an alternative approach I was working on that attempted to sort the string-typed results of processing the AST.  It produces stable results for me when I vary the order of the set-within-a-tuple's elements in the input.</div><div><br></div><div>I'll file a bug on sphinx's GitHub repository about the original issue within the next few hours.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Why it hasn't been a problem before is rather curious to me, though.<br>
It may be just that it hasn't come up, but it may be because this<br>
value ultimately comes from a Python typing annotation. Yet at that<br>
point in the code, there doesn't seem to be anything special<br>
whatsoever about this tuple & set: it's really just a regular tuple<br>
and set.<br></blockquote><div><br></div><div> Could it be that other Sphinx documentation-generation issues tend to have occluded this one?</div><div><br></div><div>I also have to admit that I still don't understand what it is that varies (and frequently varies, apparently) across builds that exposed the problem in the first place.  I'm not convinced that it's likely to be related to the memory addresses of the datastructures.. I had a vague theory that perhaps filesystem choice/layout could be a cause (perhaps a strange theory at first: my rationale would be that it could cause the AST to read and process files in a different order, and that that could affect the parser's state in subtle ways.  I haven't even convinced myself of that possibility entirely yet though).</div><div><br></div><div>Thanks again,</div><div>James</div></div></div>