Bug#1064638: python-x2go-doc: please make the build reproducible.

2026-01-03 Thread James Addison
Source: python-x2go
Followup-For: Bug #1064638
Control: tags -1 - patch
Control: tags -1 + pending



Bug#1064638: python-x2go-doc: please make the build reproducible.

2024-02-25 Thread James Addison
Followup-For: Bug #1064638
Control: forwarded -1 
https://salsa.debian.org/debian-remote-team/python-x2go/-/merge_requests/3



Bug#1064638: python-x2go-doc: please make the build reproducible.

2024-02-25 Thread James Addison
Source: python-x2go
Version: 0.6.1.4-1
Severity: wishlist
Tags: patch
User: [email protected]
Usertags: buildpath

Dear Maintainer,

I'm an occasional volunteer contributor with the Reproducible Builds[1]
project, and noticed recently that the python-x2go-doc package failed[2] an
automated reproducibility test on Debian.

>From investigation, it seems that most if not all of the cause of
non-reproducibility during the test was due to the Sphinx autodoc extension
evaluating some of the default Python method values (like sessions_rootdir[3])
at build-time and including the evaluated value, which varied, in the
documentation.

Because the value of the parameter is determined at _runtime_ (because Python
code is not compiled), this does _not_ indicate any baked-in problem with the
python3-x2go package -- but it does create a reproducibility problem for the
python-x2go-doc package.

As a workaround, we can enable the 'autodoc_preserve_defaults'[4] configuration
setting, meaning that Sphinx will render the method signature defaults using the
original source code as-written, instead of evaluating the corresponding
values.

I'll offer a merge request on Salsa to make that change, and will link that to
this bugreport.

Thanks,
James

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

[2] - 
https://tests.reproducible-builds.org/debian/rb-pkg/trixie/arm64/diffoscope-results/python-x2go.html

[3] - 
https://sources.debian.org/src/python-x2go/0.6.1.4-1/x2go/backends/proxy/base.py/#L76

[4] - 
https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html#confval-autodoc_preserve_defaults