From 5efd17d8d54edd201929f3a992ff6ceb20e676ce Mon Sep 17 00:00:00 2001 From: ng0 Date: Fri, 15 Feb 2019 18:58:50 +0000 Subject: Fix bug reported by schanzen@ where bootstrap is not enough for our python2.7 script. --- bootstrap | 40 ---------------------------------------- src/util/Makefile.am | 7 +++++-- src/util/gnunet-qr.py.in | 2 +- 3 files changed, 6 insertions(+), 43 deletions(-) diff --git a/bootstrap b/bootstrap index 8fb025599..3155cff61 100755 --- a/bootstrap +++ b/bootstrap @@ -19,43 +19,3 @@ else echo "*** No libtoolize (libtool) or libtool found, please install it ***" >&2; exit 1 fi - -# autotools is being incredible stupid with multiple python versions -# what we do here is check for a functional python 2.7 which reports -# back to be a real python 2.7, then later on sed the location in -# the only python 2.7 file we keep around -# the rest of the build system can then be happy detecting 3.7 or -# higher -# this checks a range of names which is as annoying as what autotools -# is doing -# Since everything we could try is do too much work, we will assume -# that python2 OR python2.7 are the names for python 2.7. -# If your system diverges, please sed it accordingly! -echo "save python 2.7 location into src/util/python27_location" -#if existence python2 || existence python2.7; then -# echo command -v -python_version() -{ - "$1" -c "print(__import__('sys').version)" | grep -Z "2.7" | cut -c1-3 -} - -if existence python; then - if [ ! -z "${python_version} python" ]; then - loc1=$(command -v python) - echo "$loc1" >./src/util/python27_location - fi -elif existence python2; then - if [ ! -z "${python_version} python2" ]; then - loc2=$(command -v python2) - echo "$loc2" >./src/util/python27_location - fi -elif existence python2.7; then - if [ ! -z "${python_version} python2.7" ]; then - loc3=$(command -v python2.7) - echo "$loc3" >./src/util/python27_location - fi -else - echo "*** No python 2.7 binary found, please install it" >&2 - echo "*** for the optional gnunet-qr to work." >&2 - echo "*** Make sure to install a matching python future module." >&2 -fi diff --git a/src/util/Makefile.am b/src/util/Makefile.am index 1e82ec73a..0ba06f4bb 100644 --- a/src/util/Makefile.am +++ b/src/util/Makefile.am @@ -225,10 +225,13 @@ gnunet_timeout_SOURCES = \ gnunet-timeout-w32.c endif +# This is horrible, but compared to the alternatives and the solution +# which preceded this it is a good compromise and good enough for one +# file. Everyone else is invited to patch it locally. -mypython27=$(shell cat $(top_srcdir)/src/util/python27_location) +xENV=$(shell which env) -do_subst = $(SED) -e 's,[@]PYTHON2[@],${mypython27},g' +do_subst = $(SED) -e 's,[@]ENV[@],${xENV},g' gnunet-qr: gnunet-qr.py.in Makefile $(do_subst) < $(top_srcdir)/src/util/gnunet-qr.py.in > gnunet-qr diff --git a/src/util/gnunet-qr.py.in b/src/util/gnunet-qr.py.in index 0d52bed53..ceed8bd77 100755 --- a/src/util/gnunet-qr.py.in +++ b/src/util/gnunet-qr.py.in @@ -1,4 +1,4 @@ -#!@PYTHON2@ +#!@ENV@ python2.7 from __future__ import print_function from builtins import str import sys -- cgit v1.2.3