I recently modified release.py and this has meant I have been recreating
old tarballs to test my changes. This has highlighted the file
subversion/libsvn_subr/errorcode.inc
which is generated by gen-make.py, has content that is produced via
Python's errno module with the result that the tarball content depends
on the Python version used to roll the tarball.
When I recreate 1.9.0-rc2 I see this difference:
diff -r subversion-1.9.0-rc2/subversion/libsvn_subr/errorcode.inc subversion-1.9
.0-rc2-orig/subversion/libsvn_subr/errorcode.inc
99c99
< { 95, "ENOTSUP" },
---
> { 95, "EOPNOTSUPP" },
To an extent the change is trivial, this code is only used in SVN_DEBUG
builds and even then it doesn't have much effect on how Subversion
works.
Arguably more important is having our tarballs be reproducible. These
symbolic names are a bit tricky to generate and the choice of python
means it has be done by gen-make.py rather than configure. There are
comments in gen_base.py about this. There is also the question about
how portable these symbolic names are to other systems, i.e. Windows.
I'm considering a --release flag for gen-make.py that omits this
information from the file and thus the tarball.
--
Philip