From f78108598211053d41752a83e0345441bb9014ae Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 11 Feb 2018 16:09:52 +0000 Subject: gentoo resync : 11.02.2018 --- net-proxy/sshuttle/Manifest | 2 + .../files/sshuttle-0.78.3-remote-python.patch | 70 ++++++++++++++++++++++ net-proxy/sshuttle/sshuttle-0.78.3-r2.ebuild | 55 +++++++++++++++++ 3 files changed, 127 insertions(+) create mode 100644 net-proxy/sshuttle/files/sshuttle-0.78.3-remote-python.patch create mode 100644 net-proxy/sshuttle/sshuttle-0.78.3-r2.ebuild (limited to 'net-proxy/sshuttle') diff --git a/net-proxy/sshuttle/Manifest b/net-proxy/sshuttle/Manifest index f3daebbca2d0..3133a22b345c 100644 --- a/net-proxy/sshuttle/Manifest +++ b/net-proxy/sshuttle/Manifest @@ -1,3 +1,5 @@ +AUX sshuttle-0.78.3-remote-python.patch 2297 BLAKE2B edb955c130d3ec230ea2c5395f6479d11192b95ac40bc30808d709109b9f596c476763955ce62d087c1f29e4b70525e11d32002d8a0a2826519ec0b540ea2e43 SHA512 3636d33f2dabb4ea2bfdabc5e68a110412db6bacddf083509fdaf7a9d12f4b9eee75ca9a62d9991c54f2d952f774e79ce2346009ae4189c2d08b9a1e750e75bc DIST sshuttle-0.78.3.tar.gz 69460 BLAKE2B af6835ac6ca8d2d4d94f86067b2d9024ad531de2c35f07432f4b7319c5ff133349c8975a15d30486bf5cc0e9d9a71798ec2d3ecab943b5992f66b5c371b45de1 SHA512 581955d9868bdd369a37386b273d53448944b1fb5458a25d5930b348630521cadcaea8cf45371942f96c789889d2a405e8bbe824af3d0c6def73f017f1149a1e +EBUILD sshuttle-0.78.3-r2.ebuild 1295 BLAKE2B e3a6b22fd8bb3fba3694796b3aff280f233a3a929ab2a918eba0830532dfb49278a553a86258ee464f89bb0dfeb40e1fbafd313d7c8556a89c5ba7663669e04f SHA512 31b158ce96be52ec9a3c7e81e9fa7bcf8b8724871f28e718b6e9c8566daf38df8841389e21c79421bd99917debd704ff08d0d8ad05c740ceb0a3e944bcc35015 EBUILD sshuttle-0.78.3.ebuild 1040 BLAKE2B 0074d8133777bc68ab01304c914079c8a0754ab382f43d03f0d8eceb30bdb6bbf23210027a26780530efdf3a01a7936ad9d54e5e94592afeddd6353794699cc7 SHA512 1b5176e1e6a154922a93102f36822ac2ffdf1ede3abdd9e31d212bad8093af202ec5db77f7e7f6ded46bf70499935cfc53831d3f42b36764be6b6f711ae8b2cd MISC metadata.xml 386 BLAKE2B 5a94094f59d57f94569067c3ef424b46cec97b8c6f552422ca4b5baa910f9b5f547215c49647f8e2b4ab7f008abc57e4fc407f38f8fab252d17dfb072993a496 SHA512 988f65a4a15eac0630b83d0e090749c12ef58ca1284ed94f45f6eb9c4a5ff0678a481519f435a992f572b98a8878fbfeb7bf573443c128cd29e5c365a8eb2e32 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 new file mode 100644 index 000000000000..c8138f732771 --- /dev/null +++ b/net-proxy/sshuttle/files/sshuttle-0.78.3-remote-python.patch @@ -0,0 +1,70 @@ +From 9b7ce2811ec3ef35b9b7f7dfc157127bc46ece47 Mon Sep 17 00:00:00 2001 +From: vieira +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) + +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=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-r2.ebuild b/net-proxy/sshuttle/sshuttle-0.78.3-r2.ebuild new file mode 100644 index 000000000000..254601915e1c --- /dev/null +++ b/net-proxy/sshuttle/sshuttle-0.78.3-r2.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python{2_7,3_5,3_6} ) + +inherit linux-info distutils-r1 + +DESCRIPTION="Transparent proxy server that works as a poor man's VPN using ssh" +HOMEPAGE="https://github.com/sshuttle/sshuttle https://pypi.python.org/pypi/sshuttle" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="test" + +RDEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + net-firewall/iptables +" +DEPEND=" + dev-python/sphinx + dev-python/setuptools[${PYTHON_USEDEP}] + dev-python/setuptools_scm[${PYTHON_USEDEP}] + test? ( + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + ) +" + +CONFIG_CHECK="~NETFILTER_XT_TARGET_HL ~IP_NF_TARGET_REDIRECT ~IP_NF_MATCH_TTL ~NF_NAT" + +PATCHES=( "${FILESDIR}"/${P}-remote-python.patch ) + +python_prepare_all() { + # don't run tests via setup.py pytest + sed -i "/setup_requires=/s/'pytest-runner'//" setup.py || die + + distutils-r1_python_prepare_all +} + +python_compile_all() { + emake -C docs html man +} + +python_test() { + py.test || die "Tests fail under ${EPYTHON}" +} + +python_install_all() { + HTML_DOCS=( "${S}"/docs/_build/html/. ) + doman "${S}"/docs/_build/man/* + distutils-r1_python_install_all +} -- cgit v1.2.3