remove old pip

This commit is contained in:
2022-03-20 06:35:11 +01:00
committed by onkelbeh
parent 753147cb95
commit 6068d3e238
7 changed files with 5 additions and 385 deletions
+5 -5
View File
@@ -496,21 +496,21 @@ From time to time a fresh compile test on empty boxes (one with Python 3.9 and o
## Licenses
This repository itself is released under GPL-3 (like most Gentoo repositories), all work on the depending components under the licenses they came from. Perhaps you came here because I filed an issue at your component about a bad or missing license. It is easy to [assign a license](https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository). During cleanups and license investigations I have been asked often which license to choose. I am not a lawyer, but I can offer the following table, counted over this repository, perhaps this helps your decision. If a package has more than one license listed, all of them are counted.
There are 1728 Ebuilds in total, 1720 of them have in total 1726 (34 different) licenses assigned.
There are 1717 Ebuilds in total, 1709 of them have in total 1716 (34 different) licenses assigned.
|License| Ebuilds using it|
|-------|-----|
|MIT|1052|
|Apache-2.0|314|
|MIT|1043|
|Apache-2.0|315|
|GPL-3|105|
|BSD|95|
|LGPL-3|27|
|GPL-2|23|
|GPL-2|22|
|LGPL-3+|17|
|GPL-3+|14|
|all-rights-reserved|13|
|BSD-2|7|
|LGPL-2.1|7|
|LGPL-2.1|6|
|Unlicense|5|
|EPL-1.0|5|
|public-domain|4|
-8
View File
@@ -1,8 +0,0 @@
AUX pip-19.3-disable-version-check.patch 872 BLAKE2B b0398674f56b78a066c4308f0a8ee0272c5c4c3cb569e6c300ac62fc9fbe8ec2a1bfe257047c15ddcf9cc44c47b7f8b9ab99e17b722bd6ae4cf9dc2a168e01d6 SHA512 1ece773f66556e4380eabf76490430e8fbec23f7cfad27dac02c7e49f7136b632515ef04843e89dfae42c095dbf5280d64e61da1544801c998f802aa59be8e22
AUX pip-20.0.2-disable-system-install.patch 1298 BLAKE2B a384ee2114e59b8bc719fc14270cf6efbe8914854c404395beb1126db3278683b940e8fcfee83423d78e2aed6521e0bc57566ab0f5618f473262bbd9b7b0bffa SHA512 d2772105d4f4f880606e1e8ab3381af6768a96604a5fdcaa155dd42f8eea731c3a1b733b027d3e591d81f962ba14758b19da4a2c6c12946cd9a9d77c51ca4e78
AUX pip-20.2-no-coverage.patch 6154 BLAKE2B 743dcacd3107d9c6447197dd01bc85b1b16db5b1da3bf5f84e73801e645848a98854f350d958056eb17aa6b87f8bb2557a27e3bd78582958c3b37cb6ce61d7ce SHA512 67ea11c56b6a7b02faae28c9d941015ca2ba9c125dfcaf01eeaba7717cfb22f23fb84c28f993202f7b648ee64741baaf7545e9951be840d378e39d3af0a60fd0
DIST pip-20.2.4.tar.gz 8723163 BLAKE2B 4b892950b6752b61af2f6a9d2c0a6f5db124cb7605d6cb9d4787bdbd88911cc6013474dd299f6eb5b1af4a8fa0ab6d3c5253513af182045a50cb463ced8382ea SHA512 649fdc6baa1ebe741717bd1e5ed8f2450d79f8bc0d06f2804c27488be9018f6fa6cc2eccc3ec2801442073f59ac0b8c377612c25116126aa919aa95050f4214f
DIST setuptools-44.0.0-py2.py3-none-any.whl 583230 BLAKE2B 823e6792471660f247e30a938aa869d345a63db7294e5f9b4bd88f15a7694779011d29740fe317149620985f705fc6e18cbb07a18e5680cc11d7c229ffbc74f6 SHA512 7006fd303181afbeeec0e30cafb9fd1e4d3c6f55cfdd6343fedbc32b17dbb96b3d96ae37f4db27bfb168738727474cf425904ec280ff1d2b789fc48077a8fa84
DIST wheel-0.34.2-py2.py3-none-any.whl 26502 BLAKE2B 3a1bd4571c582245b60ff33c9bf74ff8a2ebafb26e56fc7b9bd215058d059b6bd13bbe21ce46002af257813a54126f27e19253f211e21c4548c7cf84cd15caf7 SHA512 4f1a44f4691ed8baad777d7874f7f4da96a5019eb485fd3a9eed9259aa2a9d5acccc6dc63a72128664347c64ee039a6076c6ca9c3b75a1f94457967864e522ed
EBUILD pip-20.2.4.ebuild 4165 BLAKE2B e4ac770dbc5f284dffacb23a19d1f99b7c21605d5e2c9a327a2761d11dd245d2453a1883945ae160555c0cea8742d59c535d48ef3a71a061c7aac62dc488e332 SHA512 1ea011b599cb72cf2a76932226845ac2d1158b2bc953a10de41045d97abbaa88383cb293f42b1804a81fa23ee309ae6c8c45cf6344657ab36a79e527a4955439
MISC metadata.xml 366 BLAKE2B 6cfb3fe9bd6fa72a5bc5aafb74d7f79eaa1fdf273cf45be4fb7989fd917ea8b1ad60a855770cc51944611e7590abeec450ed02c7c9ae8d850084c2b4f7c0d009 SHA512 43ccb12f2797cb70b59ff495d149c32c813e5145c65521eda9a86f675eac7756eefadeb9f4ca977e8e8c7019bae144b445240e6d7128da771eaf6d19559336f6
@@ -1,24 +0,0 @@
diff --git a/src/pip/_internal/cli/req_command.py b/src/pip/_internal/cli/req_command.py
index 203e86a4..a2183f10 100644
--- a/src/pip/_internal/cli/req_command.py
+++ b/src/pip/_internal/cli/req_command.py
@@ -129,17 +129,8 @@ class IndexGroupCommand(Command, SessionCommandMixin):
# Make sure the index_group options are present.
assert hasattr(options, 'no_index')
- if options.disable_pip_version_check or options.no_index:
- return
-
- # Otherwise, check if we're using the latest version of pip available.
- session = self._build_session(
- options,
- retries=0,
- timeout=min(5, options.timeout)
- )
- with session:
- pip_self_version_check(session, options)
+ # Disabled on Gentoo
+ return
class RequirementCommand(IndexGroupCommand):
@@ -1,29 +0,0 @@
From 3aee04cbb93c0e479b040e682b2aef676629c9a2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Sat, 1 Feb 2020 09:14:46 +0100
Subject: [PATCH] install: Raise an error to avoid breaking python-exec
Running pip without --target, --prefix, --root, or --user will result
in packages being installed systemwide. This has a tendency to break
python-exec if setuptools gets installed or upgraded.
---
src/pip/_internal/commands/install.py | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/pip/_internal/commands/install.py b/src/pip/_internal/commands/install.py
index 8c2c32fd..41bac878 100644
--- a/src/pip/_internal/commands/install.py
+++ b/src/pip/_internal/commands/install.py
@@ -238,6 +238,9 @@ class InstallCommand(RequirementCommand):
if options.upgrade:
upgrade_strategy = options.upgrade_strategy
+ if not options.use_user_site and not options.target_dir and not options.root_path and not options.prefix_path and not os.getenv('GENTOO_PIP_TESTING'):
+ raise CommandError("(Gentoo) Please run pip with the --user option to avoid breaking python-exec")
+
cmdoptions.check_dist_restriction(options, check_target=True)
install_options = options.install_options or []
--
2.28.0
@@ -1,163 +0,0 @@
From 43389903a55a5432ca8556f42fb2252c91c7ca45 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Wed, 29 Jul 2020 07:42:25 +0200
Subject: [PATCH] Revert "Add basic test coverage configuration"
This is just PITA since coverage uses native C extensions.
---
.coveragerc | 4 +++
setup.cfg | 38 ----------------------
tests/conftest.py | 16 +--------
tools/requirements/tests-common_wheels.txt | 2 --
tox.ini | 16 ++-------
5 files changed, 7 insertions(+), 69 deletions(-)
create mode 100644 .coveragerc
diff --git a/.coveragerc b/.coveragerc
new file mode 100644
index 00000000..5f833c94
--- /dev/null
+++ b/.coveragerc
@@ -0,0 +1,4 @@
+[run]
+branch = True
+omit =
+ src/pip/_vendor/*
diff --git a/setup.cfg b/setup.cfg
index 45fd58a3..e40596e9 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -67,44 +67,6 @@ markers =
yaml: yaml based tests
fails_on_new_resolver: Does not yet work on the new resolver
-[coverage:run]
-branch = True
-# Do not gather coverage for vendored libraries.
-omit = */_vendor/*
-# Centralized absolute file prefix for coverage files.
-data_file = ${COVERAGE_OUTPUT_DIR}/.coverage
-# By default, each covered process will try to truncate and then write to
-# `data_file`, but with `parallel`, they will write to separate files suffixed
-# with hostname, pid, and a timestamp.
-parallel = True
-# If not set, then at the termination of each worker (when using pytest-xdist),
-# the following is traced: "Coverage.py warning: Module pip was previously
-# imported, but not measured (module-not-measured)"
-disable_warnings = module-not-measured
-
-[coverage:paths]
-# We intentionally use "source0" here because pytest-cov unconditionally sets
-# "source" after loading the config.
-source0 =
- # The primary source code path which other paths will be combined into.
- src/pip/
- # Unit test source directory e.g.
- # `.tox/coverage-py3/lib/pythonX.Y/site-packages/pip/...`
- */site-packages/pip/
- # Functional test virtual environment directories, which look like
- # `tmpdir/pip0/pip/src/pip/...`
- */pip/src/pip/
-
-[coverage:report]
-exclude_lines =
- # We must re-state the default because the `exclude_lines` option overrides
- # it.
- pragma: no cover
- # This excludes typing-specific code, which will be validated by mypy anyway.
- if MYPY_CHECK_RUNNING
- # Can be set to exclude e.g. `if PY2:` on Python 3
- ${PIP_CI_COVERAGE_EXCLUDES}
-
[bdist_wheel]
universal = 1
diff --git a/tests/conftest.py b/tests/conftest.py
index 2aab5020..0db6d967 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -294,13 +294,6 @@ def wheel_install(tmpdir_factory, common_wheels):
'wheel')
-@pytest.fixture(scope='session')
-def coverage_install(tmpdir_factory, common_wheels):
- return _common_wheel_editable_install(tmpdir_factory,
- common_wheels,
- 'coverage')
-
-
def install_egg_link(venv, project_name, egg_info_dir):
with open(venv.site / 'easy-install.pth', 'a') as fp:
fp.write(str(egg_info_dir.resolve()) + '\n')
@@ -310,7 +303,7 @@ def install_egg_link(venv, project_name, egg_info_dir):
@pytest.fixture(scope='session')
def virtualenv_template(request, tmpdir_factory, pip_src,
- setuptools_install, coverage_install):
+ setuptools_install, common_wheels):
if six.PY3 and request.config.getoption('--use-venv'):
venv_type = 'venv'
@@ -334,13 +327,6 @@ def virtualenv_template(request, tmpdir_factory, pip_src,
subprocess.check_call([venv.bin / 'python', 'setup.py', '-q', 'develop'],
cwd=pip_editable)
- # Install coverage and pth file for executing it in any spawned processes
- # in this virtual environment.
- install_egg_link(venv, 'coverage', coverage_install)
- # zz prefix ensures the file is after easy-install.pth.
- with open(venv.site / 'zz-coverage-helper.pth', 'a') as f:
- f.write('import coverage; coverage.process_startup()')
-
# Drop (non-relocatable) launchers.
for exe in os.listdir(venv.bin):
if not (
diff --git a/tools/requirements/tests-common_wheels.txt b/tools/requirements/tests-common_wheels.txt
index f0edf0b0..6703d606 100644
--- a/tools/requirements/tests-common_wheels.txt
+++ b/tools/requirements/tests-common_wheels.txt
@@ -7,5 +7,3 @@
setuptools >= 40.8.0
wheel
-# As required by pytest-cov.
-coverage >= 4.4
diff --git a/tox.ini b/tox.ini
index 82e9abc6..7a19ca61 100644
--- a/tox.ini
+++ b/tox.ini
@@ -8,7 +8,6 @@ envlist =
# Wrapper for calls to pip that make sure the version being used is the
# original virtualenv (stable) version, and not the code being tested.
pip = python {toxinidir}/tools/tox_pip.py
-mkdirp = python -c 'import os, sys; os.path.exists(sys.argv[1]) or os.mkdir(sys.argv[1])'
[testenv]
# Remove USERNAME once we drop PY2.
@@ -31,20 +30,9 @@ commands = pytest --timeout 300 []
install_command = {[helpers]pip} install {opts} {packages}
list_dependencies_command = {[helpers]pip} freeze --all
-[testenv:coverage]
+[testenv:coverage-py3]
basepython = python3
-commands =
- {[helpers]mkdirp} {toxinidir}/.coverage-output
- pytest --timeout 300 --cov=pip --cov-config={toxinidir}/setup.cfg []
-
-setenv =
- # Used in coverage configuration in setup.cfg.
- COVERAGE_OUTPUT_DIR = {toxinidir}/.coverage-output
- # Ensure coverage is enabled in child processes in virtual environments
- # since they won't already have been enabled by pytest-cov.
- COVERAGE_PROCESS_START = {toxinidir}/setup.cfg
- # Used in coverage configuration in setup.cfg.
- PIP_CI_COVERAGE_EXCLUDES = if PY2
+commands = pytest --timeout 300 --cov=pip --cov-report=term-missing --cov-report=xml --cov-report=html tests/unit {posargs}
[testenv:docs]
# Don't skip install here since pip_sphinxext uses pip's internals.
--
2.28.0
-12
View File
@@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<upstream>
<remote-id type="pypi">pip</remote-id>
<remote-id type="github">pypa/pip</remote-id>
</upstream>
</pkgmetadata>
-144
View File
@@ -1,144 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DISTUTILS_USE_SETUPTOOLS=rdepend
PYTHON_COMPAT=( python3_{6,7,8,9} pypy3 )
PYTHON_REQ_USE="ssl(+),threads(+)"
inherit bash-completion-r1 distutils-r1 multiprocessing
SETUPTOOLS_PV="44.0.0"
WHEEL_PV="0.34.2"
DESCRIPTION="Installs python packages -- replacement for easy_install"
HOMEPAGE="https://pip.pypa.io/ https://pypi.org/project/pip/ https://github.com/pypa/pip/"
SRC_URI="
https://github.com/pypa/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
test? (
https://files.pythonhosted.org/packages/py2.py3/s/setuptools/setuptools-${SETUPTOOLS_PV}-py2.py3-none-any.whl
https://files.pythonhosted.org/packages/py2.py3/w/wheel/wheel-${WHEEL_PV}-py2.py3-none-any.whl
)
"
# PyPI archive does not have tests, so we need to download from GitHub.
# setuptools & wheel .whl files are required for testing, exact version is not very important.
LICENSE="MIT"
KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~x64-macos"
SLOT="0"
IUSE="test -vanilla"
# disable-system-install patch breaks tests
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-python/setuptools-39.2.0[${PYTHON_USEDEP}]
"
DEPEND="
${RDEPEND}
test? (
dev-python/cryptography[${PYTHON_USEDEP}]
dev-python/csv23[${PYTHON_USEDEP}]
dev-python/freezegun[${PYTHON_USEDEP}]
dev-python/mock[${PYTHON_USEDEP}]
dev-python/pretend[${PYTHON_USEDEP}]
dev-python/pytest[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/scripttest[${PYTHON_USEDEP}]
<dev-python/virtualenv-20[${PYTHON_USEDEP}]
dev-python/werkzeug[${PYTHON_USEDEP}]
dev-python/wheel[${PYTHON_USEDEP}]
)
"
python_prepare_all() {
local PATCHES=(
"${FILESDIR}/${PN}-19.3-disable-version-check.patch"
"${FILESDIR}/${PN}-20.2-no-coverage.patch"
)
if ! use vanilla; then
PATCHES+=( "${FILESDIR}/pip-20.0.2-disable-system-install.patch" )
fi
# TODO
rm tests/functional/test_new_resolver_user.py || die
distutils-r1_python_prepare_all
if use test; then
mkdir tests/data/common_wheels/ || die
cp "${DISTDIR}"/setuptools-${SETUPTOOLS_PV}-py2.py3-none-any.whl \
tests/data/common_wheels/ || die
cp "${DISTDIR}"/wheel-${WHEEL_PV}-py2.py3-none-any.whl \
tests/data/common_wheels/ || die
fi
}
python_test() {
if [[ ${EPYTHON} == pypy* ]]; then
ewarn "Skipping tests on ${EPYTHON} since they are very broken"
return 0
fi
local -a exclude_tests
# these will be built in to an expression passed to pytest to exclude
exclude_tests=(
git
svn
bazaar
mercurial
version_check
uninstall_non_local_distutils
pep518_uses_build_env
install_package_with_root
install_editable_with_prefix
install_user_wheel
install_from_current_directory_into_usersite
uninstall_editable_from_usersite
uninstall_from_usersite_with_dist_in_global_site
build_env_isolation
user_config_accepted
)
distutils_install_for_testing
# generate the expression to exclude failing tests
local exclude_expr
printf -v exclude_expr "or %s " "${exclude_tests[@]}" || die
exclude_expr="not (${exclude_expr#or })" || die
local -x GENTOO_PIP_TESTING=1 \
PATH="${TEST_DIR}/scripts:${PATH}" \
PYTHONPATH="${TEST_DIR}/lib:${BUILD_DIR}/lib"
pytest -vv \
-k "${exclude_expr}" \
-m "not network" \
|| die "Tests fail with ${EPYTHON}"
}
python_install_all() {
# Prevent dbus auto-launch
# https://bugs.gentoo.org/692178
export DBUS_SESSION_BUS_ADDRESS="disabled:"
local DOCS=( AUTHORS.txt docs/html/**/*.rst )
distutils-r1_python_install_all
COMPLETION="${T}"/completion.tmp
# 'pip completion' command embeds full $0 into completion script, which confuses
# 'complete' and causes QA warning when running as "${PYTHON} -m pip".
# This trick sets correct $0 while still calling just installed pip.
local pipcmd='import sys; sys.argv[0] = "pip"; import pip.__main__; sys.exit(pip.__main__._main())'
${PYTHON} -c "${pipcmd}" completion --bash > "${COMPLETION}" || die
newbashcomp "${COMPLETION}" ${PN}
${PYTHON} -c "${pipcmd}" completion --zsh > "${COMPLETION}" || die
insinto /usr/share/zsh/site-functions
newins "${COMPLETION}" _pip
}