diff options
Diffstat (limited to 'dev-python/virtualenvwrapper/files/virtualenvwrapper-6.0.0-remove-use-of-which.patch')
-rw-r--r-- | dev-python/virtualenvwrapper/files/virtualenvwrapper-6.0.0-remove-use-of-which.patch | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/dev-python/virtualenvwrapper/files/virtualenvwrapper-6.0.0-remove-use-of-which.patch b/dev-python/virtualenvwrapper/files/virtualenvwrapper-6.0.0-remove-use-of-which.patch new file mode 100644 index 000000000000..41f0dba39a1d --- /dev/null +++ b/dev-python/virtualenvwrapper/files/virtualenvwrapper-6.0.0-remove-use-of-which.patch @@ -0,0 +1,106 @@ +From fb2b22fce88d323727a49c760187c0470b78fa9a Mon Sep 17 00:00:00 2001 +From: Alfred Wingate <parona@protonmail.com> +Date: Wed, 21 Jun 2023 11:35:04 +0300 +Subject: [PATCH] Remove use of which, use command -v or built-ins instead + +* which isn't a POSIX tool and some distributions have or are still + considering dropping it in favour of using commands included by + POSIX or shell built-ins. +* Used command built-in where applicable, but type and whence for bash + and zsh respectively in virtualenvwrapper_verify_resource to preserve + previous behaviour with which when programs also have built-ins + with the same name. command -v outputs just the name and not the path + in those cases. + +https://lwn.net/Articles/874049/ +https://bugs.gentoo.org/646588 + +Signed-off-by: Alfred Wingate <parona@protonmail.com> +--- a/tests/run_tests ++++ b/tests/run_tests +@@ -61,7 +61,7 @@ do + echo " SHELL=$SHELL" + echo " BASH_VERSION=$BASH_VERSION" + echo " ZSH_VERSION=$ZSH_VERSION" +- echo " virtualenv=$(which virtualenv)" ++ echo " virtualenv=$(command -v virtualenv)" + echo " test_shell_opts=$test_shell_opts" + echo " ZSH=$ZSH_NAME $ZSH_EVAL_CONTEXT" + echo " TMPDIR=$TMPDIR" +--- a/tests/setup.sh ++++ b/tests/setup.sh +@@ -14,7 +14,7 @@ export PROJECT_HOME=$(mktemp -d -t "PROJECT_HOME.XXXX.$$") + SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + + # This should point to VIRTUAL_ENV/bin when running under tox. +-TEST_BIN_DIR=$(dirname $(which python)) ++TEST_BIN_DIR=$(dirname $(command -v python)) + + load_wrappers() { + if [ "$USING_TOX" = "1" ]; then +--- a/tests/test_cp.sh ++++ b/tests/test_cp.sh +@@ -26,7 +26,7 @@ test_new_env_activated () { + (cd tests/testpackage && pip install .) >/dev/null 2>&1 + cpvirtualenv "source" "destination" >/dev/null 2>&1 + rmvirtualenv "source" >/dev/null 2>&1 +- testscript="$(which testscript.py)" ++ testscript="$(command -v testscript.py)" + assertTrue "Environment test script not found in path" "[ $WORKON_HOME/destination/bin/testscript.py -ef $testscript ]" + testscriptcontent="$(cat $testscript)" + assertTrue "No cpvirtualenvtest in $testscriptcontent" "echo $testscriptcontent | grep cpvirtualenvtest" +--- a/tests/test_mkvirtualenv.sh ++++ b/tests/test_mkvirtualenv.sh +@@ -68,11 +68,9 @@ GLOBAL postmkvirtualenv" + } + + test_no_virtualenv () { +- # Find "which" before we change the path +- which=$(which which) + old_path="$PATH" + PATH="/bin:/usr/sbin:/sbin" +- venv=$($which virtualenv 2>/dev/null) ++ venv=$(command -v virtualenv) + if [ ! -z "$venv" ] + then + echo "FOUND \"$venv\" in PATH so skipping this test" +--- a/virtualenvwrapper.sh ++++ b/virtualenvwrapper.sh +@@ -47,7 +47,7 @@ + # Locate the global Python where virtualenvwrapper is installed. + if [ "${VIRTUALENVWRAPPER_PYTHON:-}" = "" ] + then +- _virtualenvwrapper_python_executable="$(which python3 2>/dev/null)" ++ _virtualenvwrapper_python_executable="$(command -v python3)" + if [ -n "$_virtualenvwrapper_python_executable" ] && $_virtualenvwrapper_python_executable -m 'virtualenvwrapper.hook_loader' --help >/dev/null 2>&1 + then + VIRTUALENVWRAPPER_PYTHON=$_virtualenvwrapper_python_executable +@@ -326,7 +326,13 @@ function virtualenvwrapper_initialize { + + # Verify that the passed resource is in path and exists + function virtualenvwrapper_verify_resource { +- typeset exe_path="$(command \which "$1" | (unset GREP_OPTIONS; command \grep -v "not found"))" ++ if [ -n "${ZSH_VERSION}" ] ++ then ++ typeset exe_path="$(whence -p "${1}")" ++ else ++ typeset exe_path="$(type -P "${1}")" ++ fi ++ + if [ "$exe_path" = "" ] + then + echo "ERROR: virtualenvwrapper could not find $1 in your path" >&2 +--- a/virtualenvwrapper_lazy.sh ++++ b/virtualenvwrapper_lazy.sh +@@ -5,7 +5,7 @@ export _VIRTUALENVWRAPPER_API="$_VIRTUALENVWRAPPER_API mkvirtualenv rmvirtualenv + + if [ -z "$VIRTUALENVWRAPPER_SCRIPT" ] + then +- export VIRTUALENVWRAPPER_SCRIPT="$(command \which virtualenvwrapper.sh)" ++ export VIRTUALENVWRAPPER_SCRIPT="$(command -v virtualenvwrapper.sh)" + fi + if [ -z "$VIRTUALENVWRAPPER_SCRIPT" ] + then +-- +2.43.0 + |