[PATCH GPGME 2/5] python: Remove usage of PYTHON_VERSIONS

Alon Bar-Lev alon.barlev at gmail.com
Sat Apr 8 15:34:30 CEST 2017


* configure.ac: Remove PYTHON_VERSIONS subst.
* lang/python/Makefile.am: Use basename of python as builddir prefix.
* lang/python/tests/run-tests.py: Likewise.

--

Two variables needs be at sync PYTHONS and PYTHON_VERSIONS, these may go
out of sync in some cases, for example in Gentoo where default python is
3.4 we get:

PYTHON='/usr/bin/python2'
PYTHONS='/usr/bin/python /usr/bin/python2'
PYTHON_VERSIONS='2.7 3.4'

We can use the basename of the python interpreter to achieve similar
effect without having to sync indexes between these two variables.

Signed-off-by: Alon Bar-Lev <alon.barlev at gmail.com>
---
 configure.ac                   |  1 -
 lang/python/Makefile.am        | 23 +++++++++++------------
 lang/python/tests/run-tests.py |  4 ++--
 3 files changed, 13 insertions(+), 15 deletions(-)

diff --git a/configure.ac b/configure.ac
index 9974abb..becd156 100644
--- a/configure.ac
+++ b/configure.ac
@@ -474,7 +474,6 @@ if test "$found_py" = "1" -o "$found_py2" = "1" -o "$found_py3" = "1"; then
 	fi
 
 	AC_SUBST(PYTHONS, $PYTHONS)
-	AC_SUBST(PYTHON_VERSIONS, $PYTHON_VERSIONS)
     fi
 fi
 
diff --git a/lang/python/Makefile.am b/lang/python/Makefile.am
index 4ebd214..90075f7 100644
--- a/lang/python/Makefile.am
+++ b/lang/python/Makefile.am
@@ -38,12 +38,11 @@ copystamp:
 	touch $@
 
 all-local: copystamp
-	set -e ; set $(PYTHONS); for VERSION in $(PYTHON_VERSIONS); do \
-	  PYTHON="$$1" ; shift ; \
+	set -e ; for PYTHON in $(PYTHONS); do \
 	  CFLAGS="$(CFLAGS)" \
 	  srcdir="$(srcdir)" \
 	  top_builddir="$(top_builddir)" \
-	    $$PYTHON setup.py build --verbose --build-base=python$${VERSION}-gpg ; \
+	    $$PYTHON setup.py build --verbose --build-base="$$(basename "$${PYTHON}")-gpg" ; \
 	done
 
 python$(PYTHON_VERSION)-gpg/dist/gpg-$(VERSION).tar.gz.asc: copystamp
@@ -76,26 +75,26 @@ CLEANFILES = copystamp \
 # permissions.
 clean-local:
 	rm -rf -- build
-	for VERSION in $(PYTHON_VERSIONS); do \
-	  find python$${VERSION}-gpg* -type d ! -perm -200 -exec chmod u+w {} ';' ; \
-	  rm -rf -- python$${VERSION}-gpg* ; \
+	for PYTHON in $(PYTHONS); do \
+	  find "$$(basename "$${PYTHON}")-gpg" -type d ! -perm -200 -exec chmod u+w {} ';' ; \
+	  rm -rf -- "$$(basename "$${PYTHON}")-gpg" ; \
 	done
 
 install-exec-local:
-	set -e ; set $(PYTHONS); for VERSION in $(PYTHON_VERSIONS); do \
-	  PYTHON="$$1" ; shift ; \
+	set -e ; for PYTHON in $(PYTHONS); do \
 	  srcdir="$(srcdir)" \
 	  top_builddir="$(top_builddir)" \
 	  $$PYTHON setup.py \
 	  build \
-	  --build-base=python$${VERSION}-gpg \
+	  --build-base="$$(basename "$${PYTHON}")-gpg" \
 	  install \
 	  --prefix "$(DESTDIR)$(prefix)" \
 	  --verbose ; \
 	done
 
 uninstall-local:
-	GV=$$(echo $(VERSION) | tr - _); for PV in $(PYTHON_VERSIONS); do \
-	  rm -rf -- "$(DESTDIR)$(prefix)"/lib*/python$$PV/site-packages/gpg \
-"$(DESTDIR)$(prefix)"/lib*/python$$PV/site-packages/gpg-$$GV-py$$PV.egg-info ; \
+	GV=$$(echo $(VERSION) | tr - _); for PYTHON in $(PYTHONS); do \
+	  PLATLIB="$(prefix)/$$("$${PYTHON}" -c 'import sysconfig, os; print(os.path.relpath(sysconfig.get_path("platlib"), sysconfig.get_config_var("prefix")))')" ; \
+	  rm -rf -- "$(DESTDIR)$${PLATLIB}/gpg" \
+		"$(DESTDIR)$${PLATLIB}"/gpg-$$GV-py*.egg-info ; \
 	done
diff --git a/lang/python/tests/run-tests.py b/lang/python/tests/run-tests.py
index 9e2fb78..f236712 100644
--- a/lang/python/tests/run-tests.py
+++ b/lang/python/tests/run-tests.py
@@ -70,8 +70,8 @@ for interpreter in args.interpreters:
         [interpreter, "-c", "import sys; print('{0}.{1}'.format(sys.version_info[0], sys.version_info[1]))"]).strip().decode()
 
     pattern = os.path.join(args.builddir, "..",
-                           "python{0}-gpg".format(version),
-                           "lib*"+version)
+                           "{0}-gpg".format(os.path.basename(interpreter)),
+                           "lib*")
     builddirs = glob.glob(pattern)
     if len(builddirs) == 0:
         sys.exit("Build directory matching {0!r} not found.".format(pattern))
-- 
2.10.2




More information about the Gnupg-devel mailing list