Blob Blame History Raw
commit e3e904af7dd308fe7530773bd9ea136afc90049b
Author: John Dennis <jdennis@redhat.com>
Date:   Thu Jun 21 10:49:30 2018 -0400

    Use python interpreter specified configure script
    
    The configure script allows you to specify the python interpreter to
    use via the --with-python option. There were several places where the
    python interpreter was implicity invoked without using the specified
    version. This can create a number of problems in an environment with
    multiple python versions as is the case during the transition from
    Python 2 to Python 3. Python 2 is not compatible with Python
    3. Lasso's Python code is supposed to be compatible with both
    versions. But during the build and when running the unit tests it is
    essential the same interpreter be used consistently otherwise you can
    have problems.
    
    This patch assures whenever python is invoked it does so via the
    $(PYTHON) configuration variable.
    
    What about shebang lines (e.g #/usr/bin/python) at the top of scripts?
    Python PEP 394 (https://www.python.org/dev/peps/pep-0394/) covers
    this. Basically it says if a script is compatible only with Py2 the
    shebang should be #/usr/bin/python2, if only compatible with Py3 the
    shebang should be #/usr/bin/python3. However, if the script is
    compatible with both versions it can continue to use the
    compatible with both Py2 and Py3.
    
    License: MIT
    Signed-off-by: John Dennis <jdennis@redhat.com>

diff --git a/bindings/java/Makefile.am b/bindings/java/Makefile.am
index 05e5f9ee..8de0178d 100644
--- a/bindings/java/Makefile.am
+++ b/bindings/java/Makefile.am
@@ -26,7 +26,7 @@ if WSF_ENABLED
 EXTRA_ARGS = --enable-id-wsf
 endif
 
-java_lasso_source_files := $(shell python $(top_srcdir)/bindings/bindings.py -l java-list --src-dir=$(top_srcdir)/lasso/ $(EXTRA_ARGS) )
+java_lasso_source_files := $(shell $(PYTHON) $(top_srcdir)/bindings/bindings.py -l java-list --src-dir=$(top_srcdir)/lasso/ $(EXTRA_ARGS) )
 
 lasso_jardir=$(prefix)/share/java
 lasso_jar_DATA=lasso.jar
diff --git a/bindings/python/tests/Makefile.am b/bindings/python/tests/Makefile.am
index 205e7613..1305f26f 100644
--- a/bindings/python/tests/Makefile.am
+++ b/bindings/python/tests/Makefile.am
@@ -11,5 +11,8 @@ if WSF_ENABLED
 TESTS += idwsf1_tests.py idwsf2_tests.py
 endif
 
+TEST_EXTENSIONS = .py
+PY_LOG_COMPILER = $(PYTHON)
+
 EXTRA_DIST = profiles_tests.py binding_tests.py idwsf1_tests.py idwsf2_tests.py \
 	tests.py XmlTestRunner.py
diff --git a/lasso/Makefile.am b/lasso/Makefile.am
index 751f9419..49ae88a7 100644
--- a/lasso/Makefile.am
+++ b/lasso/Makefile.am
@@ -91,7 +91,7 @@ liblasso_la_LDFLAGS = -no-undefined -version-info @LASSO_VERSION_INFO@  \
 endif
 
 $(srcdir)/errors.c: $(srcdir)/errors.h $(srcdir)/build_strerror.py
-	python $(srcdir)/build_strerror.py $(srcdir) >.errors.c.new
+	$(PYTHON) $(srcdir)/build_strerror.py $(srcdir) >.errors.c.new
 	if ! cmp -s $(srcdir)/errors.c .errors.c.new; then \
 	mv -f .errors.c.new $@; else \
 	rm .errors.c.new; fi
diff --git a/tools/check-lasso-sections.py b/tools/check-lasso-sections.py
index cb4c39c4..3a6c9880 100755
--- a/tools/check-lasso-sections.py
+++ b/tools/check-lasso-sections.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python
 
 import sys
 import os.path