Author: philip
Date: Thu Aug 10 00:09:21 2017
New Revision: 1804618

URL: http://svn.apache.org/viewvc?rev=1804618&view=rev
Log:
Omit the list of system error code names from release builds, this
removes one cause of tarballs not being reproducible.

* build/generator/gen_base.py
  (GeneratorBase.write_errno_table): Omit system error code names
   in release mode.

Modified:
    subversion/trunk/build/generator/gen_base.py

Modified: subversion/trunk/build/generator/gen_base.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/build/generator/gen_base.py?rev=1804618&r1=1804617&r2=1804618&view=diff
==============================================================================
--- subversion/trunk/build/generator/gen_base.py (original)
+++ subversion/trunk/build/generator/gen_base.py Thu Aug 10 00:09:21 2017
@@ -288,15 +288,21 @@ class GeneratorBase:
             '  { %d, "%s" },' % (num, val),
           ])
 
-       # Remove ',' for c89 compatibility
-      lines[-1] = lines[-1][0:-1]
+      # Remove ',' for c89 compatibility
+      if len(codes): 
+        lines[-1] = lines[-1][0:-1]
 
       lines.extend([
           '};',
           '',
         ])
 
-    write_struct('svn__errno', errno.errorcode.items())
+    # errno names can vary depending on the Python, and possibly the
+    # OS, version and they are not even used by normal release builds
+    # so omit them from the tarball. We always want the struct itself
+    # so that SVN_DEBUG builds still compile.
+    write_struct('svn__errno',
+                 [] if self.release_mode else errno.errorcode.items())
 
     # Fetch and write apr_errno.h codes.
     aprerr = []



Reply via email to