Author: svn-role
Date: Fri Jan 5 04:00:09 2018
New Revision: 1820248
URL: http://svn.apache.org/viewvc?rev=1820248&view=rev
Log:
Merge the r1819556 group from trunk:
* r1819556, r1819557
Improve external command invocation in the swig parts of the build system.
Both gen-make.py and 'make swig-py' are affected.
Justification:
More robust build system (e.g., error checking in the __init__.py
callers).
Votes:
+1: danielsh, jamessan, stefan2
Removed:
subversion/branches/1.10.x/build/generator/util/executable.py
Modified:
subversion/branches/1.10.x/ (props changed)
subversion/branches/1.10.x/STATUS
subversion/branches/1.10.x/build/generator/swig/__init__.py
subversion/branches/1.10.x/build/generator/swig/checkout_swig_header.py
subversion/branches/1.10.x/build/generator/swig/external_runtime.py
Propchange: subversion/branches/1.10.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jan 5 04:00:09 2018
@@ -99,4 +99,4 @@
/subversion/branches/verify-at-commit:1462039-1462408
/subversion/branches/verify-keep-going:1439280-1546110
/subversion/branches/wc-collate-path:1402685-1480384
-/subversion/trunk:1817837,1817856,1818651,1818662,1818727,1818801,1818803,1818807,1818868,1818871,1819093,1819162,1819444,1819603,1819911
+/subversion/trunk:1817837,1817856,1818651,1818662,1818727,1818801,1818803,1818807,1818868,1818871,1819093,1819162,1819444,1819556-1819557,1819603,1819911
Modified: subversion/branches/1.10.x/STATUS
URL:
http://svn.apache.org/viewvc/subversion/branches/1.10.x/STATUS?rev=1820248&r1=1820247&r2=1820248&view=diff
==============================================================================
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Fri Jan 5 04:00:09 2018
@@ -29,15 +29,6 @@ Veto-blocked changes:
Approved changes:
=================
- * r1819556, r1819557
- Improve external command invocation in the swig parts of the build system.
- Both gen-make.py and 'make swig-py' are affected.
- Justification:
- More robust build system (e.g., error checking in the __init__.py
- callers).
- Votes:
- +1: danielsh, jamessan, stefan2
-
* r1818578, r1819037, r1819049, r1819052
Fix svn_dirent_t.size API inconsistency
Justification:
Modified: subversion/branches/1.10.x/build/generator/swig/__init__.py
URL:
http://svn.apache.org/viewvc/subversion/branches/1.10.x/build/generator/swig/__init__.py?rev=1820248&r1=1820247&r2=1820248&view=diff
==============================================================================
--- subversion/branches/1.10.x/build/generator/swig/__init__.py (original)
+++ subversion/branches/1.10.x/build/generator/swig/__init__.py Fri Jan 5
04:00:09 2018
@@ -25,7 +25,7 @@
import os
import re
import shutil
-import generator.util.executable as _exec
+import subprocess
from generator.gen_base import _collect_paths
try:
# Python >=3.0
@@ -59,14 +59,19 @@ class Generator:
# Calculate SWIG paths
self.swig_path = swig_path
- self.swig_libdir = _exec.output([self.swig_path, "-swiglib"], strip=1)
+ if os.access(self.swig_path, os.X_OK):
+ # ### TODO: What's the reason for this os.access() check? It was added
+ # ### in r873265 (== r33191).
+ self.swig_libdir = subprocess.check_output([self.swig_path,
"-swiglib"]).strip()
+ else:
+ self.swig_libdir = None
_swigVersion = None
def version(self):
"""Get the version number of SWIG"""
if not self._swigVersion:
- swig_version = _exec.output([self.swig_path, "-version"])
+ swig_version = subprocess.check_output([self.swig_path, "-version"])
m = re.search("Version (\d+).(\d+).(\d+)", swig_version)
if m:
self._swigVersion = tuple(map(int, m.groups()))
Modified:
subversion/branches/1.10.x/build/generator/swig/checkout_swig_header.py
URL:
http://svn.apache.org/viewvc/subversion/branches/1.10.x/build/generator/swig/checkout_swig_header.py?rev=1820248&r1=1820247&r2=1820248&view=diff
==============================================================================
--- subversion/branches/1.10.x/build/generator/swig/checkout_swig_header.py
(original)
+++ subversion/branches/1.10.x/build/generator/swig/checkout_swig_header.py Fri
Jan 5 04:00:09 2018
@@ -23,13 +23,12 @@
# Checkout files from the SWIG library into Subversion's proxy directory
#
-import sys, os, re, fileinput, shutil
+import sys, os, re, fileinput, shutil, subprocess
if __name__ == "__main__":
parent_dir = os.path.dirname(os.path.abspath(os.path.dirname(sys.argv[0])))
sys.path[0:0] = [ parent_dir, os.path.dirname(parent_dir) ]
import generator.swig
from gen_base import build_path_splitfile, build_path_join
-from generator.util.executable import run
class Generator(generator.swig.Generator):
@@ -63,7 +62,7 @@ class Generator(generator.swig.Generator
elif self.version() == (1, 3, 24):
shutil.copy(build_path_join(self.swig_libdir, path), out)
else:
- run("%s -o %s -co %s" % (self.swig_path, out, path))
+ subprocess.check_call([self.swig_path, "-o", out, "-co", path])
def _skip_checkout(self, path):
"""Should we skip this checkout?"""
Modified: subversion/branches/1.10.x/build/generator/swig/external_runtime.py
URL:
http://svn.apache.org/viewvc/subversion/branches/1.10.x/build/generator/swig/external_runtime.py?rev=1820248&r1=1820247&r2=1820248&view=diff
==============================================================================
--- subversion/branches/1.10.x/build/generator/swig/external_runtime.py
(original)
+++ subversion/branches/1.10.x/build/generator/swig/external_runtime.py Fri Jan
5 04:00:09 2018
@@ -29,13 +29,12 @@ import os
import re
import fileinput
import filecmp
+import subprocess
if __name__ == "__main__":
parent_dir = os.path.dirname(os.path.abspath(os.path.dirname(sys.argv[0])))
sys.path[0:0] = [ parent_dir, os.path.dirname(parent_dir) ]
import generator.swig
-import generator.util.executable
-_exec = generator.util.executable
class Generator(generator.swig.Generator):
"""Generate external runtime files for SWIG"""
@@ -82,7 +81,7 @@ class Generator(generator.swig.Generator
out_file.write(open("%s/runtime.swg" % self.proxy_dir).read())
out_file.close()
else:
- _exec.run("%s -%s -external-runtime %s" % (self.swig_path, lang, out))
+ subprocess.check_call([self.swig_path, "-"+lang, "-external-runtime",
out])
# SWIG 1.3.24-27 should include rubyhead.swg in their
# external runtime, but they don't.