diff options
-rw-r--r-- | net-proxy/sshuttle/files/sshuttle-0.78.3-remote-python.patch | 67 | ||||
-rw-r--r-- | net-proxy/sshuttle/sshuttle-0.78.3-r2.ebuild (renamed from net-proxy/sshuttle/sshuttle-0.78.3-r1.ebuild) | 0 |
2 files changed, 62 insertions, 5 deletions
diff --git a/net-proxy/sshuttle/files/sshuttle-0.78.3-remote-python.patch b/net-proxy/sshuttle/files/sshuttle-0.78.3-remote-python.patch index d7404fd45b00..c8138f732771 100644 --- a/net-proxy/sshuttle/files/sshuttle-0.78.3-remote-python.patch +++ b/net-proxy/sshuttle/files/sshuttle-0.78.3-remote-python.patch @@ -1,13 +1,70 @@ -Check for more generic remote python versions. +From 9b7ce2811ec3ef35b9b7f7dfc157127bc46ece47 Mon Sep 17 00:00:00 2001 +From: vieira <vieira@yubo.be> +Date: Fri, 20 Oct 2017 22:52:06 +0000 +Subject: [PATCH] Use versions of python3 greater than 3.5 when available (e.g. + 3.6) ---- sshuttle-0.78.3/sshuttle/ssh.py -+++ sshuttle-0.78.3/sshuttle/ssh.py -@@ -116,7 +116,7 @@ +Some Linux distros, like Alpine, Arch, etc and some BSDs, like FreeBSD, are +now shipping with python3.6 as the default python3. Both the client and the +server are failing to run in this distros, because we are specifically looking +for python3.5. + +These changes make the run shell script use python3 if the version is greater +than 3.5, otherwise falling back as usual. + +On the server any version of python3 will do, use it before falling back to +python, as the server code can run with any version of python3. +--- + run | 28 +++++++++++++++++----------- + sshuttle/ssh.py | 2 +- + 2 files changed, 18 insertions(+), 12 deletions(-) + +diff --git a/run b/run +index ec2d3f0..a14d831 100755 +--- a/run ++++ b/run +@@ -1,11 +1,17 @@ +-#!/bin/sh +-source_dir="$(dirname $0)" +-(cd "$source_dir" && "$source_dir/setup.py" --version > /dev/null) +-export PYTHONPATH="$source_dir:$PYTHONPATH" +-if python3.5 -V >/dev/null 2>&1; then +- exec python3.5 -m "sshuttle" "$@" +-elif python2.7 -V >/dev/null 2>&1; then +- exec python2.7 -m "sshuttle" "$@" +-else +- exec python -m "sshuttle" "$@" +-fi ++#!/usr/bin/env sh ++set -e ++export PYTHONPATH="$(dirname $0):$PYTHONPATH" ++ ++python_best_version() { ++ if [ -x "$(command -v python3)" ]; then ++ if python3 -c "import sys; sys.exit(not sys.version_info > (3, 5))"; then ++ exec python3 "$@" ++ fi ++ elif [ -x "$(command -v python2.7)" ]; then ++ exec python2.7 "$@" ++ else ++ exec python "$@" ++ fi ++} ++ ++python_best_version -m "sshuttle" "$@" +diff --git a/sshuttle/ssh.py b/sshuttle/ssh.py +index f4c84cc..a1f2997 100644 +--- a/sshuttle/ssh.py ++++ b/sshuttle/ssh.py +@@ -116,7 +116,7 @@ def connect(ssh_cmd, rhostport, python, stderr, options): if python: pycmd = "'%s' -c '%s'" % (python, pyscript) else: - pycmd = ("P=python3.5; $P -V 2>/dev/null || P=python; " -+ pycmd = ("P=python3; $P -V 2>/dev/null || P=python2; $P -V 2>/dev/null || P=python; " ++ pycmd = ("P=python3; $P -V 2>/dev/null || P=python; " "exec \"$P\" -c %s") % quote(pyscript) pycmd = ("exec /bin/sh -c %s" % quote(pycmd)) argv = (sshl + +-- +2.16.1 + diff --git a/net-proxy/sshuttle/sshuttle-0.78.3-r1.ebuild b/net-proxy/sshuttle/sshuttle-0.78.3-r2.ebuild index 254601915e1c..254601915e1c 100644 --- a/net-proxy/sshuttle/sshuttle-0.78.3-r1.ebuild +++ b/net-proxy/sshuttle/sshuttle-0.78.3-r2.ebuild |