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

Reply via email to