Compare commits

...

294 commits

Author SHA1 Message Date
Miro Hrončok
2b2a030e77 Update to 25.3
- Fixes: rhbz#2406299
2025-11-30 10:15:42 +01:00
Miro Hrončok
1f462a281f CI: Ensure the devel subpackages for 3.6 and 3.9 are available
See https://src.fedoraproject.org/rpms/python3.9/pull-request/213
and https://src.fedoraproject.org/rpms/python3.6/pull-request/153

[skip changelog]
2025-11-30 10:14:27 +01:00
Karolina Surma
584939ebdd CI: Run tests with Python 3.15
[skip changelog]
2025-10-24 12:43:53 +02:00
Python Maint
566ed62a19 Rebuilt for Python 3.14.0rc3 bytecode 2025-09-19 13:59:29 +02:00
Miro Hrončok
8ddd39d6cd Security fix for the bundled urllib3 for CVE-2025-50181 2025-09-10 19:43:27 +02:00
Miro Hrončok
e2a1a1a994 Include SBOM in the .whl file in python-pip-wheel 2025-08-27 16:52:27 +02:00
Karolina Surma
3a83d6ce5d Update to 25.2 (rhbz#2385294)
Drop nowarn-pip._internal.main.patch as the warning is no longer emitted
via ensurepip in Fedora Pythons.
2025-08-21 13:13:40 +02:00
Python Maint
13d07e4daf Rebuilt for Python 3.14.0rc2 bytecode 2025-08-15 14:23:19 +02:00
Lukáš Zachar
c830f0f9ae CI: Drop STI and use tmt instead
Use 'discovery --how shell' for bash completion test as well,
even though it contains metadata, to be same as all other migrated
plans.

Resolves: rhbz#2383041

[skip changelog]
2025-08-11 14:54:33 +02:00
Fedora Release Engineering
69759f2972 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 09:21:56 +00:00
Miro Hrončok
cea7bb935f Use /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem even in truststore
- https://fedoraproject.org/wiki/Changes/dropingOfCertPemFile
- Fixes: rhbz#2380441
2025-07-22 11:45:35 +02:00
Lukáš Zachar
685d136d85 CI: Test bash completion
Originally generated by CursorAI, manually edited.

[skip changelog]
2025-07-09 15:03:23 +02:00
Miro Hrončok
c61c7b352c Use /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
- https://fedoraproject.org/wiki/Changes/dropingOfCertPemFile
2025-07-08 10:17:52 +00:00
Miro Hrončok
5802dc6818 Handle alternate executable names for cases this isn't the main Python
This is  based on work in f1b86318fc
and https://src.fedoraproject.org/rpms/python-pip/pull-request/71 (not merged)

With one notable difference: The Bash completion function has no dot in it now.
I believe that having a dot in it breaks it: https://issues.redhat.com/browse/RHEL-99083

[skip changelog]
2025-06-20 19:48:15 +02:00
Karolina Surma
435a2e9aa1 Use the short -t CLI option for sphinx-build
The long options were added in Sphinx 7.3.0, which is not available in
RHEL 9 and 10. The short option works for each of the currently supported systems.

Ref: https://www.sphinx-doc.org/en/master/changes/7.3.html

[skip changelog]
2025-06-20 14:20:11 +02:00
Karolina Surma
6c37700fd5 Remove the obsolete Conflicts from the Python 2 -> 3 transition
[skip changelog]
2025-06-20 14:20:11 +02:00
Karolina Surma
1ae9237431 Macronize the Python version of the bundled provides
We build it in alternative Python stacks and want it to pick up
the redefined %{python3_pkgversion}. For main Python it
evaluates to 3, meaning no change in Fedora proper.
It will result in a smaller diff when creating alternative package definitions.

[skip changelog]
2025-06-20 14:20:11 +02:00
Karolina Surma
2b190b00bf We don't want to run tests on EPEL by default
It adds unwanted complexity, and in some alternative stacks the
dependencies are not available.

[skip changelog]
2025-06-20 14:19:58 +02:00
Miro Hrončok
b0472d2883 Rebuilt for Python 3.14
- Fix test failures
 - Fixes: rhbz#2335909
2025-06-16 11:01:07 +02:00
Python Maint
8e291b0b6c Bootstrap for Python 3.14 2025-06-02 11:23:07 +02:00
Miro Hrončok
b4fe5333a1 Run functional tests
- Drop test requirement of python-wheel-wheel
- Use pytest-xdist to run tests faster

The motivation for this was the need to drop python-wheel-wheel in wheel 0.46+.
Due to newly gained runtime dependencies of wheel,
such wheel cannot be used as is.

I realized that when the explicit BuildRequires is removed,
the package is brought in by python3-virtualenv.
But even when python3-virtualenv drops the dependency,
the tests still passed without python-wheel-wheel.

Because the tests that require packaged wheels were all --ignored
for obsolete reasons. When unignored, they errored due to missing coverage.whl.

While attempting to fix this, I realized we cannot use the RPM packaged wheel anyway.

When the functional tests run, it takes a while, hence pytest-xdist.

---

For the record, the coverage-0-py3-none-any.whl was created as:

    [project]
    name = "coverage"
    version = "0"

    [build-system]
    requires = ["setuptools >= 77.0.3"]
    build-backend = "setuptools.build_meta"

And coverage.py with:

    def process_startup():
        pass

Wheel generated by `python3 -m build` (with python3-build-1.2.1-4.fc41.noarch).
2025-05-07 09:44:49 +02:00
Miro Hrončok
f467900a68 Remove Recommends only related to unsupported Pythons
This pip version no longer supports Python 3.7 and 3.8.
2025-05-06 00:02:06 +02:00
Miro Hrončok
2fbd290be0 Update to 25.1.1
- Fixes: rhbz#2363801
2025-05-03 11:11:10 +02:00
Miro Hrončok
8390734c31 Stop building the HTML documentation, only build manual pages
- Also build manual pages on RHEL
- The python-pip-doc package is gone but not Obsoleted, it has no dependencies

Also:

Rename the bcond,
update the CI test,
use sphinx-build without the -3 suffix,
always BR python3-sphinx (for RHEL alternate Python versions where we don't package Sphinx).
2025-05-03 11:11:10 +02:00
Miro Hrončok
be112f861a Drop unused rpmlintrc filter
python3-pip.noarch: E: unused-rpmlintrc-filter "E: spelling-error .+'venv'"

[skip changelog]
2025-05-03 11:11:10 +02:00
Miro Hrončok
274df105b5 Remove no longer needed RIGHT-TO-LEFT OVERRIDE stripping
See https://github.com/pypa/pip/pull/12517

[skip changelog]
2025-05-03 09:44:44 +02:00
Tomáš Hrnčiar
d4edbde902 Update to 25.1.0 (rhbz#2362438) 2025-04-29 09:33:34 +00:00
Miro Hrončok
8c346262d5 Bootstrap: wheel is not needed
Also, test this on the CI.

[skip changelog]
2025-04-24 13:36:36 +02:00
Charalampos Stratakis
97a9e3e215 Fix CI tests to account for normalization of dist-info dirs (PEP 491)
setuptools now normalizes the dist-info directory names to lowercase
according to PEP 491

Also egg-info directories are not created anymore

[skip changelog]
2025-03-18 01:25:34 +01:00
Charalampos Stratakis
d681b5b429 Remove testing of retired python3.8 from the CI
See https://fedoraproject.org/wiki/Changes/RetirePython3.8

[skip changelog]
2025-02-27 02:42:36 +01:00
Charalampos Stratakis
048126313b Update to 25.0.1
- Fixes: rhbz#2342135
2025-02-27 01:14:04 +01:00
Fedora Release Engineering
10e0ef58aa Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-18 17:14:20 +00:00
Tomáš Hrnčiar
990a77f1c0 Update to 24.3.1
- Fixes: rhbz#2321997
2024-11-07 09:45:38 +00:00
Miro Hrončok
533a4ecd2d CI: Add Python 3.14
[skip changelog]
2024-11-06 13:24:37 +01:00
Miro Hrončok
476f824742 CI: Drop Python 3.7 entirely
It is not available in F40+ and the tests.yml is already diverged.

[skip changelog]
2024-11-06 13:23:59 +01:00
Miro Hrončok
4965892859 CI: Disable Python 2.7 and 3.6 virtualenv tests
virtualenv in Fedora 42+ no longer supports them

[skip changelog]
2024-11-06 13:22:37 +01:00
Karolina Surma
858b6685fa Verify no unwanted files are present in the package 2024-09-06 16:26:18 +02:00
Miro Hrončok
09c6b24cb0 Update to 24.2
- Fixes: rhbz#2296203
2024-08-06 19:07:00 +02:00
Miro Hrončok
f0db4e7df0 rpmlint: Ignore venv spelling error
[skip changelog]
2024-08-06 19:07:00 +02:00
Miro Hrončok
f7056f5f8a Use %pyproject_install
[skip changelog]
2024-08-06 19:07:00 +02:00
Karolina Surma
77a1a20083 CI: Prepare for Python 2 removal
https://fedoraproject.org/wiki/Changes/RetirePython2.7
2024-07-26 16:20:20 +02:00
Karolina Surma
454b4fe562 CI: Python 3.5 is gone from all Fedoras (removed in F35)
https://fedoraproject.org/wiki/Changes/RetirePython3.5
2024-07-26 16:19:19 +02:00
Fedora Release Engineering
bac2129304 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-19 14:03:51 +00:00
Karolina Surma
3dcabb5165 Update to 24.1.1 2024-06-28 12:12:44 +02:00
Miro Hrončok
05483f6f20 Stop invoking setup.py during the build
This is a preparation for pip 24.1 which drops setup.py entirely.

[skip changelog]
2024-06-27 12:08:46 +02:00
Python Maint
531939a7ca Rebuilt for Python 3.13 2024-06-09 10:15:36 +02:00
Python Maint
af4d3ddf26 Bootstrap for Python 3.13 2024-06-06 16:32:01 +02:00
Miro Hrončok
8a984c4565 Fix tests with Python 3.13.0b1 2024-05-28 14:06:13 +02:00
Miro Hrončok
30632b6e8c CI: Add Python 3.13 2024-03-07 11:54:26 +01:00
Tomáš Hrnčiar
4899b5284a Update to 24.0
Resolves: rhbz#2262492
2024-02-28 16:58:05 +01:00
Miro Hrončok
3c290026a9 Update to 23.3.2 2024-01-25 15:52:13 +01:00
Miro Hrončok
b582198d1c Convert to %autorelease and %autochangelog
[skip changelog]
2024-01-25 15:48:44 +01:00
Miro Hrončok
bd7e7a076a Replace custom %{bashcompdir} macro with %{bash_completions_dir}
$ pkg-config --variable=completionsdir bash-completion
    /usr/share/bash-completion/completions
    $ rpm --eval '%{bash_completions_dir}'
    /usr/share/bash-completion/completions
2024-01-25 15:48:44 +01:00
Miro Hrončok
9cd97d1338 Generate test BuildRequires 2024-01-25 12:29:49 +01:00
Fedora Release Engineering
2a7f383501 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-22 04:56:31 +00:00
Maxwell G
26b3caa925
Remove unused python3-mock dependency 2024-01-12 23:12:02 +00:00
Miro Hrončok
e286eac28b CI: Remove pipenv test, pipenv was retired from Rawhide
https://src.fedoraproject.org/rpms/pipenv/c/892789a4d91e00f80f7ebc2a187d51038b7b5223
2024-01-03 20:07:48 +01:00
Maxwell G
b9cefb7bc1
Remove weak dependency on python3-setuptools
Now that pip defaults to building in an isolated environment, there's no
reason to pull in the python3-setuptools package.
2024-01-03 18:40:52 +00:00
Petr Viktorin
0cc1518397 Update to 23.3.1 2023-11-16 16:36:32 +01:00
Miro Hrončok
6648d06bdf CI: Make Python 3.7 tests optional
Python 3.7 has been retired from Fedora 40+:
https://fedoraproject.org/wiki/Changes/RetirePython3.7
2023-10-27 15:20:12 +02:00
Miro Hrončok
e03098bace Don't generate conditional Recommends when the wheel is built for a single Python version 2023-10-27 14:19:50 +02:00
Miro Hrončok
be83e98e05 When built without tests, run a smoke test and bundled() Provides verification 2023-10-27 14:19:45 +02:00
Miro Hrončok
fb213c6f74 Update to 23.2.1 2023-08-04 21:33:37 +02:00
Miro Hrončok
432aea6d5c Remove leftovers from Python 3.12 bootstrap 2023-08-04 18:11:34 +02:00
Miro Hrončok
da117b5316 Stop Recommending libcrypt.so.1 on Python 3.12+
See https://discuss.python.org/t/29455/
2023-08-02 22:47:04 +02:00
Miro Hrončok
960d5f25da Drop a pinned dependency only relevant with early Python 3.11 2023-08-02 22:42:14 +02:00
Miro Hrončok
e82cd73bd4 Drop no-longer-needed custom changes to /usr/bin/pip*
pip >= 20 has a mechanism that replaces our pip-allow-different-versions.patch
However, we kept our patch to support users doing e.g.:

    $ pip install --user --upgrade 'pip<20'

However, pip 19.3.1 (the latest <20 version) does not even operate without distutils:

    (venv3.12)$ pip list
    Package    Version
    ---------- -------
    pip        22.3.1
    setuptools 65.5.0

    (venv3.12)$ pip install --upgrade 'pip<20'
    ...

    (venv3.12) $ pip list
    Traceback (most recent call last):
      File ".../venv3.12/bin/pip", line 5, in <module>
        from pip._internal.main import main
      File ".../venv3.12/lib64/python3.12/site-packages/pip/_internal/main.py", line 13, in <module>
        from pip._internal.cli.autocompletion import autocomplete
      File ".../venv3.12/lib64/python3.12/site-packages/pip/_internal/cli/autocompletion.py", line 11, in <module>
        from pip._internal.cli.main_parser import create_main_parser
      File ".../venv3.12/lib64/python3.12/site-packages/pip/_internal/cli/main_parser.py", line 7, in <module>
        from pip._internal.cli import cmdoptions
      File ".../venv3.12/lib64/python3.12/site-packages/pip/_internal/cli/cmdoptions.py", line 19, in <module>
        from distutils.util import strtobool
    ModuleNotFoundError: No module named 'distutils'

Hence, it no longer makes any sense to keep the patch with Python 3.12.
2023-08-02 00:28:38 +02:00
Python Maint
3292de8e3b Rebuilt for Python 3.12 2023-07-25 12:10:44 +02:00
Fedora Release Engineering
72a236c147 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-21 12:17:32 +00:00
Python Maint
8b06ef16f8 Rebuilt for Python 3.12 2023-07-20 11:54:01 +02:00
Python Maint
558f1a0e2b Bootstrap for Python 3.12 2023-06-13 16:40:50 +02:00
Miro Hrončok
a378787915 Update rpmlintrc rules to match rpmlint 2 and the current pip
We got:

    python3-pip.noarch: E: unused-rpmlintrc-filter "(non-executable-script|wrong-script-interpreter) .+/pip/_vendor/appdirs.py\b"
    python3-pip.noarch: E: unused-rpmlintrc-filter "zero-length .+/site-packages/.+\.dist-info/REQUESTED\b"
    python3-pip.noarch: E: unused-rpmlintrc-filter "W: spelling-error .* venv"
    python3-pip.noarch: E: non-executable-script /usr/lib/python3.11/site-packages/pip/_vendor/distro/distro.py 644 /usr/bin/env python
2023-05-22 13:34:10 +02:00
Miro Hrončok
f58b7e613e Remove RIGHT-TO-LEFT OVERRIDE from AUTHORS.txt 2023-05-22 13:34:10 +02:00
Miro Hrončok
384163c9b7 Update to 23.1.2 2023-05-19 13:11:09 +02:00
Miro Hrončok
a2d6e7ddd8 CI: Remove pipenv --three from tests
It does no longer exist:

    Usage: pipenv [OPTIONS] COMMAND [ARGS]...
    Try 'pipenv -h' for help.

    Error: No such option: --three (Possible options: --bare, --help, --where)

The `pipenv install` command will create the environment.
See https://src.fedoraproject.org/rpms/pipenv/c/5591b2df503495b
2023-05-19 13:11:09 +02:00
Karolina Surma
f657771b14 Fix compatibility with Sphinx 6+ (fixes FTBFS) 2023-03-28 09:50:21 +02:00
Miro Hrončok
83fe8f1d73 Update the RHEL %bconds comment and style
It is obvious to me now that this is not going to be removed,
but will be reused for RHEL 10, 11, etc.

The new %bcond syntax is nicer.
2023-03-01 12:54:28 +00:00
Tomáš Hrnčiar
7fdfa3a50a Update to 23.0.1 2023-02-22 12:12:24 +01:00
Fedora Release Engineering
6cbe3a846c Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-20 15:40:55 +00:00
Miro Hrončok
a1e1c1dfc9 Convert the License tag to SPDX 2022-11-16 17:54:41 +01:00
Miro Hrončok
25bc125898 CI: Add Python 3.12 2022-11-16 17:54:41 +01:00
Karolina Surma
c3f04d6b6d Update to 22.3.1 2022-11-16 17:54:41 +01:00
Miro Hrončok
a2dfa8738e No longer use the rpm_install prefix to determine RPM-installed packages
In https://src.fedoraproject.org/rpms/python3.11/c/d75ca77a64 the rpm_prefix scheme stopped being interesting.
Instead, we make sure to properly set both {base} and {platbase} variables which was subtly wrong before.
2022-09-06 16:40:34 +02:00
Charalampos Stratakis
ca7bb6bb48 Fix crash when an empty dist-info/egg-info is present
Resolves: rhbz#2115001
2022-09-06 16:36:12 +02:00
Charalampos Stratakis
9361272bc9 Update to 22.2.2
Resolves: rhbz#2109468
2022-08-06 03:55:45 +02:00
Charalampos Stratakis
6300db47ba Update to 22.2
Resolves: rhbz#2109468
2022-07-25 14:59:00 +02:00
Fedora Release Engineering
3e8bb70757 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-22 20:50:51 +00:00
Charalampos Stratakis
d6c837fe66 Fedora CI: Fix Python 3.10 and 3.11 2022-06-29 15:34:21 +02:00
Python Maint
2c59c720fb Rebuilt for Python 3.11 2022-06-15 15:03:57 +02:00
Python Maint
9f67b4d1a3 Bootstrap for Python 3.11 2022-06-13 13:19:54 +02:00
Miro Hrončok
b0f90f583c Spaces: Align all patches definitions consistently 2022-04-27 10:30:20 +02:00
Tomáš Hrnčiar
5a8c8943b0 Fallback to pep517 if setup.py is present and setuptools cannot be imported 2022-04-27 08:28:54 +02:00
Tomáš Hrnčiar
1963d79695 Remove patch numbering 2022-04-27 08:28:54 +02:00
Karolina Surma
590775acbf Update to 22.0.4 2022-03-21 10:17:04 +01:00
Lumir Balhar
093cb73c53 Update to 22.0.3 2022-02-21 10:57:04 +01:00
Fedora Release Engineering
636f3bf0bd - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-21 14:11:18 +00:00
Tomas Orsava
b4e24c5cb6 Use new macros %python_wheel_dir and %python_wheel_pkg_prefix
..when creating the wheel subpackage.
This does not actually change the name or the contents of the subpackage.
2021-11-24 13:51:47 +00:00
Miro Hrončok
931a7e69a1 Update to 21.3.1 2021-10-25 21:36:52 +02:00
Miro Hrončok
5e3e97d02b Fix incomplete pip-updates in virtual environments 2021-10-15 09:36:43 +02:00
Miro Hrončok
20ae7fd440 Fedora CI: Add Python 3.11 2021-10-13 13:50:30 +02:00
Miro Hrončok
54943ebf8a Update to 21.3 2021-10-13 13:39:10 +02:00
Charalampos Stratakis
05b44649bb Remove bundled windows executables
Resolves: rhbz#2005453
2021-10-06 16:58:53 +02:00
Miro Hrončok
8b7935f5a8 Detect paths not to uninstall from via sysconfig's rpm_prefix install scheme 2021-10-05 12:07:51 +02:00
Miro Hrončok
27c255ce81 Fedora CI: Add pip-upgrade tests 2021-08-16 13:02:05 +02:00
Miro Hrončok
192c4aebdf Fix broken uninstallation by a bogus downstream patch
In pip 21.2, the Distribution here is a wrapper around the regular Distribution.
It has a limited set of API defined by the BaseDistribution protocol.
dist_location() uses the project_name attribute under the hood --
and that is not part of the API.

If we ever upstream this, we should make this check a property of BaseDistribution.
But, for now, we hotfix it by accessing the private wrapped Distribution object directly.
Yes, this is ugly.
2021-08-16 12:27:18 +02:00
Miro Hrončok
d7a96d26f4 Enable previously failing test 2021-08-11 18:57:08 +02:00
Miro Hrončok
d3f6b95d9c Adapt wheel installation to be more like %pyproject_install, use %python3 2021-08-11 18:57:08 +02:00
Miro Hrončok
8f31f816cc Mark the installed LICENSE.txt as %license instead of duplicating it 2021-08-11 18:57:08 +02:00
Miro Hrončok
d39c496473 Update to 21.2.3
The bundled toml was replaced by tomli, same license (MIT).
2021-08-09 20:33:45 +02:00
Fedora Release Engineering
08464d3bcd - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 08:14:14 +00:00
Lumir Balhar
44c8353812 Update to 21.1.3 2021-07-07 13:46:14 +02:00
Karolina Surma
de909508e7 Update to 21.1.2 2021-06-17 09:45:24 +02:00
Python Maint
d2309d3f09 Rebuilt for Python 3.10 2021-06-04 02:57:58 +02:00
Python Maint
ec8cee20b2 Bootstrap for Python 3.10 2021-06-01 16:35:15 +02:00
Miro Hrončok
4e92c5da5b Fedora CI: Cleanup for Fedora 32 EOL and prepare for Python 3.5 retirement
Fedora 32 was the last one to include Python 3.4
https://fedoraproject.org/wiki/Changes/RetirePython34

Fedora 35 will be the first one not to include Python 3.5
https://fedoraproject.org/wiki/Changes/RetirePython3.5
2021-05-25 00:50:46 +02:00
Karolina Surma
34ceb80d61 Resolve rpmlint warnings & fix changelog typos 2021-05-18 13:47:05 +02:00
Karolina Surma
5afdc00b06 Update to 21.1.1
Changes:
- dropped emit-a-warning-when-running-with-root-privileges.patch (fixed in upstream)
- rebased dummy-certifi.patch, remove-existing-dist-only-if-path-conflicts.patch, nowarn-pip._internal.main.patch
2021-05-18 13:43:22 +02:00
Karolina Surma
695f7debe3 Remove unused patches 2021-05-11 16:19:49 +02:00
Miro Hrončok
b476c02485 python-pip-wheel: Remove bundled provides and libcrypt recommends for Python 2
The wheel is Python 3 only for a while.
2021-03-13 22:34:09 +01:00
Lumir Balhar
e8f3551533 Update to 21.0.1 2021-02-17 10:26:08 +01:00
Lumir Balhar
093819ce2e Update to 21.0 (#1919530) 2021-01-26 13:27:36 +01:00
Miro Hrončok
b650cd95c0 Add Python 3.10 to the CI tests 2020-12-30 10:20:05 +01:00
Petr Viktorin
cef1efc8a0 Update to 20.3.3 2020-12-17 17:24:11 +01:00
Petr Viktorin
cae1e54349 Remove DeprecationWarning about LegacyVersion 2020-12-17 17:23:37 +01:00
Petr Viktorin
05d68e041f Remove comment about removed patch 2020-12-17 17:23:37 +01:00
Petr Viktorin
6eac568430 Patch the new resolver to not uninstall from /usr/lib on updates 2020-12-17 17:23:37 +01:00
Petr Viktorin
0626df487e Update the patches 2020-12-17 17:23:37 +01:00
Miro Hrončok
58c5acd7e8 WIP: Upgrade to 20.3 2020-12-17 17:23:35 +01:00
Miro Hrončok
f444f50981 Disable tests and documentation in Fedora ELN (and RHEL) 2020-12-04 13:33:13 +01:00
Miro Hrončok
e8ba55beb4 vendor_meta.sh is not used any more 2020-11-26 18:07:19 +01:00
Miro Hrončok
79b09f862d Also test with hg 2020-11-15 23:34:59 +01:00
Tomas Hrnciar
32ac5407bd Add python3-cryptography test dependency
Cryptography is used directly and it has been so far only brought in by breezy.
2020-11-03 12:44:21 +01:00
Lumir Balhar
aab1da4a87 Update to 20.2.4 (#1889112) 2020-10-19 03:29:18 +02:00
Tomas Orsava
8825fe54dc Update to 20.2.2 (#1838553) 2020-08-11 16:20:47 +02:00
Miro Hrončok
9a044bd673 Run Python 3.4 tests optionally
https://fedoraproject.org/wiki/Changes/RetirePython34
2020-08-04 20:43:35 +02:00
Fedora Release Engineering
588f123d93 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-29 02:48:00 +00:00
Lumir Balhar
728b4e49d0 Do not emit a warning about root privileges when --root is used 2020-07-10 08:17:12 +02:00
Miro Hrončok
21fe0a233c Backport: Update tests to be endian safe, fix FTBFS on s390x
Also, use %autopatch to apply the patches.
2020-07-08 17:52:45 +02:00
Miro Hrončok
159feb818e Cleanup explicit conflicts with old RPM macros 2020-07-08 15:45:17 +02:00
Miro Hrončok
e195c51818 Switch to %pytest to simplify the spec file
/usr/bin/pip is Python 3 now anyway, so we can drop the custom _bin hack.
2020-07-08 15:45:17 +02:00
Miro Hrončok
8253bfab57 Update bundled provides to match 20.1.1 and verify it in %check 2020-07-08 15:45:17 +02:00
Lumir Balhar
acf982e208 Deselect tests incompatible with the latest virtualenv 2020-06-17 07:41:13 +02:00
Miro Hrončok
230ac9caa8 Rebuilt for Python 3.9 2020-05-24 03:30:08 +02:00
Miro Hrončok
97bba91589 Bootstrap for Python 3.9 2020-05-22 00:30:49 +02:00
Tomas Hrnciar
5ef43e57f4 Update to 20.1.1 2020-05-20 08:15:36 +00:00
Tomas Hrnciar
0e2a444500 Update to 20.1 2020-05-20 08:15:36 +00:00
Tomas Hrnciar
55406531cf Update to 20.1~b1
Don't install pip wheel via path to prevent PEP 610 treatment, see:
https://discuss.python.org/t/pep-610-usage-guidelines-for-linux-distributions/4012
2020-05-20 08:15:36 +00:00
Miro Hrončok
e858da1425 Fedora CI: Add Python 3.9 2020-04-27 17:10:03 +02:00
Miro Hrončok
9d1451298e Only recommend setuptools, don't require them 2020-04-15 12:38:11 +02:00
Tomas Hrnciar
46e383d546 Remove doctree pickles
This commit removes hidden doctree folder which serves as a cache for
Sphinx when documentation is build. It's useless for user and creates
rpmlint warning hidden-file-or-dir.
2020-04-15 11:09:16 +02:00
Tomas Hrnciar
db4c30e311 Remove python_provide macro
This commit removes %python_provide macro which is now automatic, see:
https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/message/SSJLPWSGFGPYRSHXQZDR7JNQXSDGGX3Z/
This is applicable only for F33 and higher.
2020-04-15 11:09:16 +02:00
Tomas Hrnciar
f6c63603fb Replace pypi source with tarball from GitHub
Pypi source does not include tests folder so they had to be manually
downloaded from GitHub. This commit replaces pypi source with tarball
from GitHub where tests are included.
This also fixes rpmlint invalid-url warning.
2020-04-15 11:09:11 +02:00
Tomas Hrnciar
903b01b22d Add rpmlint config to filter not important warnings and errors
This commit adds rpmlint config to filter warning and errors
that are not really a problem. Such as no-documentation warning
for python-pip-wheel which has documentation README shipped with main
package but rpmlint does not see it.
Then it filters out venv spelling error and adds temporary filter for
non-executable-script and wrong-script-interpreter those will be fixed
once all upstream PRs will be merged.
2020-04-14 16:15:29 +02:00
Tomas Hrnciar
542eb0faf8 Link to man page for all executables
There are four different executables for python-pip, but so far only two of
them had man page. This commit makes man page available for rest of the
executables via links.
2020-04-14 16:15:20 +02:00
Miro Hrončok
4347c1397d Allow setting $TMPDIR to $PWD/... during pip wheel
Needed for https://bugzilla.redhat.com/show_bug.cgi?id=1806625
2020-04-10 15:30:03 +02:00
Miro Hrončok
7913cd9edf Make patches apply --without tests
Some patches touch tests and we didn't include the test sources --without tests,
leading to broken build. This was a long standing reoccurring problem.

Now we always include and unpack tests sources, even when we don't run them.
2020-04-06 13:24:41 +02:00
Miro Hrončok
eb1cbbd764 Don't warn the user about pip._internal.main() entrypoint to fix ensurepip 2020-03-10 12:22:59 +01:00
Miro Hrončok
abb97d98f6 Fedora CI: Run %pyproject macros integration tests 2020-03-06 11:40:32 +01:00
Miro Hrončok
f994ff1cc7 Update to 20.0.2
Resolves https://bugzilla.redhat.com/show_bug.cgi?id=1793456

The main() wrapper moved the import path again, this time with compatibility shim:

 - we still need pip-allow-different-versions.patch to support older pips installed by users
 - we dropped callable-main.patch - the shim is provided by pip for all previous paths
 - no need to patch older pips to support user installed pip 20+
 - no need to patch Pythons (or virtualenv) to support pip 20+ wheel in ensurepip
2020-03-04 12:47:38 +01:00
Fedora Release Engineering
c9ae810483 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-30 14:04:40 +00:00
Miro Hrončok
184dcf3cac Callable main module patch: Support Python 2.7
Intentionally left out as a separate commit,
so it can be reverted once Python 2 support is dropped.
2019-12-11 17:30:22 +01:00
Miro Hrončok
af087f8054 Patch new pip to make it support the old private API of main()
This is needed to be able to use pip 19.3+ in ensurepip of older Pythons
without patching all the Pythons.
2019-12-11 16:41:11 +01:00
Tomas Orsava
f6e9c0640b Update to 19.3.1 (#1761508)
Drop upstreamed patch that fixed expected output in test to not break with alpha/beta/rc Python versions
2019-12-11 16:41:11 +01:00
Miro Hrončok
3bced42530 Make /usr/bin/pip(3) work with user-installed pip 19.3+
Resolves https://bugzilla.redhat.com/show_bug.cgi?id=1767212

== Before:

$ rpm -q python3-pip
python3-pip-19.2.3-1.fc32.noarch

$ /usr/bin/pip --version
pip 19.2.3 from /usr/lib/python3.8/site-packages/pip (python 3.8)

$ pip install --user --upgrade pip
...
Successfully installed pip-19.3.1

$ /usr/bin/pip --version
Traceback (most recent call last):
  File "/usr/bin/pip", line 15, in <module>
    sys.exit(main())
TypeError: 'module' object is not callable

$ rm .local/ -rf
$ pip install --user --upgrade 'pip<10'
...
Successfully installed pip-9.0.3

$ /usr/bin/pip --version
pip 9.0.3 from /home/pythonista/.local/lib/python3.8/site-packages (python 3.8)

$ pip install --user --upgrade 'pip<9'
...
Successfully installed pip-8.1.2

$ /usr/bin/pip --version
pip 8.1.2 from /home/pythonista/.local/lib/python3.8/site-packages (python 3.8)

== After

$ rpm -q python3-pip
python3-pip-19.2.3-2.fc32.noarch

$ /usr/bin/pip --version
pip 19.2.3 from /usr/lib/python3.8/site-packages/pip (python 3.8)

$ pip install --user --upgrade pip
...
Successfully installed pip-19.3.1

$ /usr/bin/pip --version
pip 19.3.1 from /home/pythonista/.local/lib/python3.8/site-packages/pip (python 3.8)

$ pip install --user --upgrade 'pip<10'
...
Successfully installed pip-9.0.3

$ /usr/bin/pip --version
pip 9.0.3 from /home/pythonista/.local/lib/python3.8/site-packages (python 3.8)

$ pip install --user --upgrade 'pip<9'
...
Successfully installed pip-8.1.2

$ /usr/bin/pip --version
pip 8.1.2 from /home/pythonista/.local/lib/python3.8/site-packages (python 3.8)
2019-10-31 00:50:36 +01:00
Miro Hrončok
add791f1d5 Update to 19.2.3 (#1742230) 2019-09-02 12:17:41 +02:00
Petr Viktorin
a0ac853b8c Simplify bash completion
Bash reads all the completion files at start, so we don't need
additional symlinks.
Register completions for all the pip3 symliks at once.
2019-08-28 16:43:20 +02:00
Petr Viktorin
9a8a1ef98e Remove python2-pip 2019-08-21 17:39:35 +02:00
Petr Viktorin
ef07805c26 Make pip bootstrap itself, rather than with an extra bootstrap RPM build 2019-08-21 17:11:03 +02:00
Miro Hrončok
1e1292bcb1 Rebuilt for Python 3.8 2019-08-17 12:49:08 +02:00
Miro Hrončok
0f902d1fc0 Bootstrap for Python 3.8 2019-08-14 23:02:14 +02:00
Miro Hrončok
07e4cb7088 Only apply Patch 5 with tests 2019-08-14 22:20:49 +02:00
Miro Hrončok
30557cd2a5 Bootstrap for Python 3.8 2019-08-14 22:15:12 +02:00
Miro Hrončok
36d098078c Skip python2-virtualenv tests 2019-07-29 14:54:20 +02:00
Miro Hrončok
b5e9f71561 Fedora CI: Stop testing on Python 2.6 2019-07-29 11:59:42 +02:00
Fedora Release Engineering
776d4ae9a3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-26 15:12:09 +00:00
Miro Hrončok
8fc8d4526b Make /usr/bin/pip Python 3 2019-07-22 14:48:51 +02:00
Petr Viktorin
5813f49ff1 Use correct Python versions 2019-07-15 18:06:26 +02:00
Petr Viktorin
23345c5b9c Recommend libcrypt.so.1 for manylinux1 compatibility 2019-07-15 17:09:43 +02:00
Miro Hrončok
853f763a7e Remove a redundant second WARNING prefix form the root warning
It is added automatically since 19.1.
2019-06-10 14:50:04 +02:00
Miro Hrončok
de5ce17674 Fix root warning when pip is invoked via python -m pip
Fixes https://github.com/pypa/pip/issues/6576
2019-06-10 13:09:38 +02:00
Miro Hrončok
fa2f84fe5b Update to 19.1.1 (#1706995) 2019-05-15 16:47:48 +02:00
Miro Hrončok
a2422cfdac Update to 19.1 (#1702525) 2019-04-25 15:33:26 +02:00
Miro Hrončok
9f86bca8b1 Pytest 4 compatibility
Resolves https://bugzilla.redhat.com/show_bug.cgi?id=1694177
2019-04-15 17:56:04 +02:00
Miro Hrončok
7093fad249 BR python3-rpm-generators manually 2019-03-15 11:01:39 +01:00
Miro Hrončok
53928d9a4a Update to 19.0.3 (#1679277)
No vendored libraries changed.
2019-03-06 11:04:14 +01:00
Miro Hrončok
85a78b8c13 Fedora CI: Workaround for fedora-ci/general #31
https://pagure.io/fedora-ci/general/issue/31
2019-03-01 11:15:05 +01:00
Miro Hrončok
038fce3b5d FTBFS fix: Avoid creating .orig files in /usr/bin 2019-02-28 12:05:59 +01:00
Miro Hrončok
bbe9e6d297 Update to 19.0.2 (#1668492) 2019-02-13 13:04:06 +01:00
Miro Hrončok
3af98288df Test pip on Python 3.8 2019-02-09 20:15:59 +01:00
Fedora Release Engineering
047f5659ab - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-02 08:21:07 +00:00
Miro Hrončok
c75c71ee16 Use the system level root certificate instead of the one bundled in certifi
https://bugzilla.redhat.com/show_bug.cgi?id=1655253
2018-12-14 14:36:52 +01:00
Miro Hrončok
1d76c3e182 Test if pipenv work (when updating pip) 2018-11-29 14:55:24 +01:00
Miro Hrončok
f3b44339db Enable most of the tests in %check 2018-11-22 17:34:07 +01:00
Miro Hrončok
82235d4efa Update to 18.1 (#1652089) 2018-11-22 13:58:09 +01:00
Miro Hrončok
51d3b539d4 Add a script that makes it easier to track bundled libs (uses pyp2rpm) 2018-11-22 13:08:59 +01:00
Michal Cyprian
50d9d64d96 Subject: Prevent removing of the system packages installed under /usr/lib
when pip install -U is executed.

Resolves: rhbz#1550368
2018-09-21 14:54:31 +02:00
Miro Hrončok
ae152c5ccf Enable basic venv smoke test in the CI 2018-09-04 11:45:35 +02:00
Miro Hrončok
32a574d0df Only build the wheel once 2018-08-15 15:27:19 +02:00
Miro Hrončok
3e1ef986b4 No more with python3
There is no point of building this without python3 and this makes
the spec a bit more readable.

Also:

- only have one %python_wheelname (can be split in future if needed)
- use pythonX -m pytest instead of py.test-X.Y
2018-08-15 14:45:08 +02:00
Miro Hrončok
6186a480fa Create python-pip-wheel package with the wheel 2018-08-15 13:28:54 +02:00
Miro Hrončok
710463c247 Remove redundant "Unicode"" from License 2018-07-31 15:48:01 +02:00
Marcel Plch
2e7f501aa1 Update to 18.0 2018-07-31 12:17:18 +02:00
Fedora Release Engineering
ffbc804f81 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-14 01:25:03 +00:00
Miro Hrončok
2b109131d3 Rebuilt for Python 3.7 2018-06-18 09:25:27 +02:00
Miro Hrončok
cc52c4fc2d Bootstrap for Python 3.7 2018-06-13 18:55:50 +02:00
Miro Hrončok
1d697f0af5 Bootstrap for Python 3.7 2018-06-13 18:34:34 +02:00
Miro Hrončok
0318944ef9 Only do 4b288bd when not bootstrapping 2018-05-12 01:22:06 +02:00
Miro Hrončok
4b288bd347 When pip is run outside of venv, don't show the upgrade warning
This is a fix for https://bugzilla.redhat.com/show_bug.cgi?id=1573755

1. We put "rpm" inside pip's INSTALLER instead of "pip"

2. From pip, we check what's in INSTALLER and only show the warning
   if it's "pip".

When a venv is cearted, pip is installed from wheel (trough rewheel),
INSTALLER contains "pip".

When virtualenv is used, pip is installed from the Interwebz via pip,
so INSTALLER contains "pip".

Upstream issue https://github.com/pypa/pip/issues/5346
2018-05-04 14:36:05 +02:00
Miro Hrončok
d02d7aa312 Allow to import pip10's main from pip9's /usr/bin/pip
Users are upgrading pip9 to pip10 by various manners,
one of them is `pip install --user --upgrade pip`.

If they do that and they run `pip` or  `pip3`, the one from /usr/bin is used.
However that's the one from this RPM package (pip9) and the import in there
fails (it tries to import from ~/.local, but pip10 is there with a bit
different API).

We add a patch as a dirty workaround to make /usr/bin/pip* work with
both pip9 (from this RPM) and pip10 (from whatever).

A proper fix is to put ~/.local/bin in front of /usr/bin in the PATH,
however others are against that and we cannot change it for existing
installs/user homes anyway.

This is a workaround for:
 * https://bugzilla.redhat.com/show_bug.cgi?id=1569488
 * https://bugzilla.redhat.com/show_bug.cgi?id=1571650

Patch is applied in %install, because /usr/bin/pip* are entrypoints.
2018-05-04 13:42:21 +02:00
Charalampos Stratakis
3989bcbcc0 Update to 9.0.3 2018-03-29 15:18:38 +02:00
Lumir Balhar
2611854c44 Include built HTML documentation (in the new -docs subpackage) and man page 2018-02-22 15:19:17 +01:00
Fedora Release Engineering
86e88e4c46 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-09 09:48:53 +00:00
Charalampos Stratakis
dab9696043 Reintroduce the ipaddress module in the python3 subpackage
as it is used within python3's upstream test suite.
2017-12-04 15:54:44 +01:00
Charalampos Stratakis
5fc56f6e70 Add virtual provides for all the libraries that pip bundles.
Remove ordereddict bundle as it is only required for python <=2.6.

Remove ipaddress library from the python3 build as it only required on python2.

Changed some dependency names from python-* to the python2-* namespace.

Resolves: rhbz#1096912
2017-11-28 17:58:55 +01:00
Tomas Orsava
2a788630f3 Properly conditionalize bashcompdir contents 2017-09-01 16:28:36 +02:00
Tomas Orsava
a18983a006 Fix python2-only dependencies 2017-08-30 18:39:43 +02:00
Tomas Orsava
d7cbed0aa4 Specify test dependencies in an if block 2017-08-29 16:12:19 +02:00
Tomas Orsava
222c069cc5 Make Python 2 optional
To facilitate building the Python 2 and Python 3 modules.
2017-08-29 15:43:14 +02:00
Tomas Orsava
a096270f29 Switch macros to bcond's
To facilitate building the Python 2 and Python 3 modules.
2017-08-29 15:36:24 +02:00
Fedora Release Engineering
e27aaa21f1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-27 11:18:15 +00:00
Tomas Orsava
db23604636 Modernized package descriptions 2017-05-23 15:51:03 +02:00
Tomas Orsava
d6fcf17a6e Fix typo in the sudo pip warning 2017-03-21 12:09:02 +01:00
Tomas Orsava
5a8e99c9e5 No sudo pip warning in venv or virtualenv 2017-03-03 15:15:51 +01:00
Tomas Orsava
33d96860e5 Customize the sudo pip warning with the proper version of the pip 2017-02-23 12:17:28 +01:00
Tomas Orsava
3d0a78651f Added patch: Emit a warning when running with root privileges 2017-02-16 11:48:01 +01:00
Fedora Release Engineering
71bf5a7601 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-11 09:57:45 +00:00
Tomas Orsava
de16c87712 Provide symlinks to executables to comply with Fedora guidelines for Python 2017-01-02 16:33:49 +01:00
Charalampos Stratakis
c4e2448c9e Rebuild for Python 3.6 with wheel 2016-12-10 14:49:54 +01:00
Charalampos Stratakis
ce7b625142 Rebuild for Python 3.6 without wheel 2016-12-10 13:28:49 +01:00
Orion Poplawski
3d2b99cd70 Upload 9.0.1 sources 2016-11-21 09:06:02 -07:00
Orion Poplawski
7ea3985a41 Drop BuildRoot 2016-11-21 08:50:17 -07:00
Orion Poplawski
cdcedeafd9 Update to 9.0.1 2016-11-18 14:42:28 -07:00
Orion Poplawski
6190fb2229 Enable EPEL Python 3 builds
- Use new python macros
- Cleanup spec
2016-11-18 14:38:54 -07:00
Tomas Orsava
788deaa0c1 Fixed the sources file 2016-08-15 17:33:27 +02:00
Tomas Orsava
627cdf9b5b Updated test sources to 8.1.2 2016-08-15 16:18:34 +02:00
Tomas Orsava
47ea835c80 Moved python-pip into the python2-pip subpackage
Added the python_provide macro
2016-08-05 18:32:58 +02:00
Fedora Release Engineering
4841a130cb - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages 2016-07-19 10:58:39 +00:00
Tomas Orsava
7df5bbee66 Rebased to a new upstream version 8.1.2
Updated the prefix-stripping patch due to upstream changes in pip/wheel.py
2016-05-20 11:58:27 +02:00
Tomas Orsava
4734344324 Refactoring: Renamed the file for the prefix stripping patch. 2016-05-20 11:34:05 +02:00
Slavek Kabrda
240615c882 Of course, I forgot to upload new source... 2016-02-22 11:43:40 +01:00
Slavek Kabrda
686a4e2e6d Update to 8.0.2 2016-02-22 11:35:39 +01:00
Fedora Release Engineering
6ab95f60b9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-04 20:29:14 +00:00
Robert Kuska
d688f38fb0 Rebuilt for Python3.5 rebuild
With wheel set to 1
2015-10-14 10:38:05 +02:00
Robert Kuska
459949c95f Rebuilt for Python3.5 rebuild 2015-10-13 18:39:17 +02:00
Slavek Kabrda
28b76001e4 Add new source 2015-07-01 11:44:41 +02:00
Slavek Kabrda
b664d7200a Update to 7.1.0 2015-07-01 11:42:00 +02:00
Ville Skyttä
25a2de78a9 Install bash completion
- Ship LICENSE.txt as %license where available
2015-06-30 13:45:43 +03:00
Dennis Gilmore
fdbeb48302 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-18 20:17:14 +00:00
Matej Stuchlik
319306cca0 Update to 7.0.3 2015-06-04 11:47:42 +02:00
Matej Stuchlik
f50907e1c1 Update to 6.0.8 2015-03-06 14:33:17 +01:00
Slavek Kabrda
4669cc950d Only enable tests on Fedora. 2014-12-18 09:44:03 +01:00
Slavek Kabrda
a78dc50b11 Merge branch 'master' into epel7 2014-12-18 09:21:24 +01:00
Matej Stuchlik
9297164887 Add tests and patch skipping tests requiring networking 2014-12-01 14:19:59 +01:00
Matej Stuchlik
a7c7b123d7 Patch local dos with predictable temp directory names
See more at http://seclists.org/oss-sec/2014/q4/655
2014-11-18 13:49:10 +01:00
Dennis Gilmore
e24e478a40 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild 2014-06-07 17:05:22 -05:00
Matej Stuchlik
594b9f1739 Upload 1.5.6 sources 2014-05-26 00:24:20 +02:00
Matej Stuchlik
56b65b2601 Update to 1.5.6 2014-05-26 00:11:21 +02:00
Matej Stuchlik
3e3470390a Rebuild as wheel for Python 3.4 2014-04-25 14:13:31 +02:00
Matej Stuchlik
16abcb69d8 Actually disable build_wheel 2014-04-24 13:27:28 +02:00
Matej Stuchlik
5d7f89437b Disable build_wheel 2014-04-24 13:20:46 +02:00
Matej Stuchlik
a48e4cb297 Rebuild as wheel for Python 3.4 2014-04-24 12:37:03 +02:00
Matej Stuchlik
638c2fb553 Add patch allowing stripping prefix from wheel RECORD files 2014-04-07 12:26:27 +02:00
Matej Stuchlik
dd9e7dc94d Update to 1.5.4 and add an option to build as wheel 2014-04-07 12:16:08 +02:00
Pádraig Brady
d42df6d2a7 python3 not in epel7 yet 2014-01-27 16:08:50 +00:00
Tim Flink
6a15b7c1f7 removing pip-1.3.1 from sources and updating gitignore 2013-10-14 15:17:15 -06:00
Tim Flink
42d5421d50 updating to pip 1.4.1 and removing old CVE patch that's not needed anymore 2013-10-14 15:13:50 -06:00
Dennis Gilmore
6064dd1ddb - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild 2013-08-04 04:01:34 -05:00
Toshio Kuratomi
1009eb3e51 Fix for CVE 2013-2099 2013-07-16 13:33:11 -07:00
Toshio Kuratomi
08349fb2f3 Fix for CVE 2013-2099 2013-07-16 13:32:51 -07:00
Tim Flink
f5a26f9437 renaming python-pip for #958377 and updating summary to match upstream 2013-05-23 21:58:59 -06:00
Kevin Kofler
9a8af72d4d Fix main package Summary, it's for Python 2, not 3 (#877401)
* Mon May 06 2013 Kevin Kofler <Kevin@tigcc.ticalc.org> - 1.3.1-2
- Fix main package Summary, it's for Python 2, not 3 (#877401)
2013-05-06 18:50:34 +02:00
Jon Ciesla
53e39cd28e Update to 1.3.1 to fix CVE-2013-1888. 2013-04-26 07:33:23 -05:00
Dennis Gilmore
2052a4593b - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild 2013-02-14 14:04:59 -06:00
Tim Flink
3a2d5edebd fixing files for python3-pip and bumping to 1.2.1-2 2012-10-09 13:07:10 -06:00
Tim Flink
a74e1e0c54 Updating to upstream 1.2.1 and changing symlinks for RHBZ#855495 2012-10-04 09:49:27 -06:00
David Malcolm
1676c4720a rebuild for https://fedoraproject.org/wiki/Features/Python_3.3 2012-08-04 05:32:23 -04:00
Dennis Gilmore
13c1fa2699 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild 2012-07-21 02:44:46 -05:00
Tim Flink
3a898a9562 updating pip to 1.1 2012-05-16 09:18:06 -06:00
Dennis Gilmore
3c8c959639 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild 2012-01-13 19:59:25 -06:00
Tim Flink
aded0dc96c update pip to 1.0.2 and add python3 package 2011-10-23 12:02:40 -06:00
Tim Flink
c20efaebc1 Forgot to add changes to .gitignore 2011-06-24 09:34:33 -06:00
Tim Flink
74924e00ab Update to 0.8.3, project web page and removing an EPEL4 specific
command.
2011-06-24 09:00:30 -06:00
Dennis Gilmore
8709b73553 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild 2011-02-08 23:43:12 -06:00
Luke Macken
9557dd60da Update pip to 0.8.2 2010-12-20 16:02:19 -05:00
Peter Halliday
3155cdf475 BugID: 616399
update to 0.8
2010-08-30 23:01:40 -04:00
Fedora Release Engineering
324f9dc300 dist-git conversion 2010-07-29 10:36:33 +00:00
dmalcolm
089f2c50f7 - Rebuilt for
https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
2010-07-22 05:02:19 +00:00
Peter Halliday
6b45ab4d3b Update to 0.7.2 of pip 2010-07-08 05:17:31 +00:00
Peter Halliday
36e99b167c update to 0.7.1 2010-05-24 03:02:18 +00:00
Peter Halliday
97657b9e81 fixing dependency issues 2010-01-01 20:11:19 +00:00
Peter Halliday
365f19ee02 Updating to 0.6.1-3 2009-12-18 13:45:01 +00:00
Peter Halliday
24c5132c8a Updating to 0.6.1 2009-12-18 02:39:41 +00:00
Bill Nottingham
8feb7af304 Fix typo that causes a failure to update the common directory. (releng
#2781)
2009-11-25 23:31:59 +00:00
Peter Halliday
fc2018efb2 initial import 2009-10-26 00:51:48 +00:00
17 changed files with 1595 additions and 21 deletions

View file

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

7
.gitignore vendored Normal file
View file

@ -0,0 +1,7 @@
/*.tar.gz
/*.zip
/pip-*/
/pip/
/results_python-pip/
*.rpm
*.whl

View file

@ -1,21 +0,0 @@
# Makefile for source rpm: python-pip
# $Id$
NAME := python-pip
SPECFILE = $(firstword $(wildcard *.spec))
define find-makefile-common
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
ifeq ($(MAKEFILE_COMMON),)
# attept a checkout
define checkout-makefile-common
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
endef
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
endif
include $(MAKEFILE_COMMON)

496
changelog Normal file
View file

@ -0,0 +1,496 @@
* Mon Jan 22 2024 Miro Hrončok <mhroncok@redhat.com> - 23.3.1-5
- Switched to autogenerated BuildRequires for test dependencies,
which removed some that were no longer necessary
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 23.3.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 12 2024 Maxwell G <maxwell@gtmx.me> - 23.3.1-3
- Remove unused python3-mock dependency
* Wed Jan 03 2024 Maxwell G <maxwell@gtmx.me> - 23.3.1-2
- Remove weak dependency on python3-setuptools
* Thu Nov 16 2023 Petr Viktorin <pviktori@redhat.com> - 23.3.1-1
- Update to 23.3.1
Resolves: rhbz#2244306
* Fri Aug 04 2023 Miro Hrončok <mhroncok@redhat.com> - 23.2.1-1
- Update to 23.2.1
Resolves: rhbz#2223082
* Fri Aug 04 2023 Miro Hrončok <mhroncok@redhat.com> - 23.1.2-7
- Actually run the tests and build the docs when building this package
* Wed Jul 26 2023 Miro Hrončok <mhroncok@redhat.com> - 23.1.2-6
- Drop no-longer-needed custom changes to /usr/bin/pip*
- Stop Recommending libcrypt.so.1 on Python 3.12+
Resolves: rhbz#2150373
* Tue Jul 25 2023 Python Maint <python-maint@redhat.com> - 23.1.2-5
- Rebuilt for Python 3.12
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 23.1.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jul 20 2023 Python Maint <python-maint@redhat.com> - 23.1.2-3
- Rebuilt for Python 3.12
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 23.1.2-2
- Bootstrap for Python 3.12
* Fri May 19 2023 Miro Hrončok <mhroncok@redhat.com> - 23.1.2-1
- Update to 23.1.2
Resolves: rhbz#2186979
* Mon Mar 27 2023 Karolina Surma <ksurma@redhat.com> - 23.0.1-2
- Fix compatibility with Sphinx 6+
Resolves: rhbz#2180479
* Mon Feb 20 2023 Tomáš Hrnčiar <thrnciar@redhat.com> - 23.0.1-1
- Update to 23.0.1
Resolves: rhbz#2165760
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 22.3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Mon Nov 14 2022 Karolina Surma <ksurma@redhat.com> - 22.3.1-1
- Update to 22.3.1
Resolves: rhbz#2135044
* Mon Sep 05 2022 Python Maint <python-maint@redhat.com> - 22.2.2-2
- Fix crash when an empty dist-info/egg-info is present
Resolves: rhbz#2115001
- No longer use the rpm_install prefix to determine RPM-installed packages
Related: rhbz#2026979
* Wed Aug 03 2022 Charalampos Stratakis <cstratak@redhat.com> - 22.2.2-1
- Update to 22.2.2
Resolves: rhbz#2109468
* Fri Jul 22 2022 Charalampos Stratakis <cstratak@redhat.com> - 22.2-1
- Update to 22.2
Resolves: rhbz#2109468
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 22.0.4-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Jun 15 2022 Python Maint <python-maint@redhat.com> - 22.0.4-4
- Rebuilt for Python 3.11
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 22.0.4-3
- Bootstrap for Python 3.11
* Tue Apr 26 2022 Tomáš Hrnčiar <thrnciar@redhat.com> - 22.0.4-2
- Fallback to pep517 if setup.py is present and setuptools cannot be imported
- Fixes: rhbz#2020635
* Mon Mar 21 2022 Karolina Surma <ksurma@redhat.com> - 22.0.4-1
- Update to 22.0.4
Resolves: rhbz#2061262
* Wed Feb 16 2022 Lumír Balhar <lbalhar@redhat.com> - 22.0.3-1
- Update to 22.0.3
Resolves: rhbz#2048243
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 21.3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Oct 25 2021 Miro Hrončok <mhroncok@redhat.com> - 21.3.1-1
- Update to 21.3.1
- Resolves: rhbz#2016682
* Wed Oct 13 2021 Miro Hrončok <mhroncok@redhat.com> - 21.3-1
- Update to 21.3
- Resolves: rhbz#2013026
- Fix incomplete pip-updates in virtual environments
* Wed Oct 06 2021 Charalampos Stratakis <cstratak@redhat.com> - 21.2.3-4
- Remove bundled windows executables
- Resolves: rhbz#2005453
* Thu Sep 23 2021 Miro Hrončok <mhroncok@redhat.com> - 21.2.3-3
- Detect paths not to uninstall from via sysconfig's rpm_prefix install scheme
* Mon Aug 16 2021 Miro Hrončok <mhroncok@redhat.com> - 21.2.3-2
- Fix broken uninstallation by a bogus downstream patch
* Mon Aug 09 2021 Miro Hrončok <mhroncok@redhat.com> - 21.2.3-1
- Update to 21.2.3
- Resolves: rhbz#1985635
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 21.1.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jun 29 2021 Lumír Balhar <lbalhar@redhat.com> - 21.1.3-1
- Update to 21.1.3
Resolves: rhbz#1976449
* Mon Jun 07 2021 Karolina Surma <ksurma@redhat.com> - 21.1.2-1
- Update to 21.1.2
Resolves: rhbz#1963433
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 21.1.1-3
- Rebuilt for Python 3.10
* Tue Jun 01 2021 Python Maint <python-maint@redhat.com> - 21.1.1-2
- Bootstrap for Python 3.10
* Mon May 10 2021 Karolina Surma <ksurma@redhat.com> - 21.1.1-1
- Update to 21.1.1
* Sat Mar 13 2021 Miro Hrončok <mhroncok@redhat.com> - 21.0.1-2
- python-pip-wheel: Remove bundled provides and libcrypt recommends for Python 2
(The wheel is Python 3 only for a while)
* Wed Feb 17 2021 Lumír Balhar <lbalhar@redhat.com> - 21.0.1-1
- Update to 21.0.1
Resolves: rhbz#1922592
* Tue Jan 26 2021 Lumír Balhar <lbalhar@redhat.com> - 21.0-1
- Update to 21.0 (#1919530)
* Thu Dec 17 2020 Petr Viktorin <pviktori@redhat.com> - 20.3.3-1
- Update to 20.3.3
* Mon Nov 30 2020 Miro Hrončok <mhroncok@redhat.com> - 20.3-1
- Update to 20.3
- Add support for PEP 600: Future manylinux Platform Tags
- New resolver
- Fixes: rhbz#1893470
* Mon Oct 19 2020 Lumír Balhar <lbalhar@redhat.com> - 20.2.4-1
- Update to 20.2.4 (#1889112)
* Wed Aug 05 2020 Tomas Orsava <torsava@redhat.com> - 20.2.2-1
- Update to 20.2.2 (#1838553)
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 20.1.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jul 10 2020 Lumír Balhar <lbalhar@redhat.com> - 20.1.1-6
- Do not emit a warning about root privileges when --root is used
* Wed Jul 08 2020 Miro Hrončok <mhroncok@redhat.com> - 20.1.1-5
- Update bundled provides to match 20.1.1
* Tue Jun 16 2020 Lumír Balhar <lbalhar@redhat.com> - 20.1.1-4
- Deselect tests incompatible with the latest virtualenv
* Sun May 24 2020 Miro Hrončok <mhroncok@redhat.com> - 20.1.1-3
- Rebuilt for Python 3.9
* Thu May 21 2020 Miro Hrončok <mhroncok@redhat.com> - 20.1.1-2
- Bootstrap for Python 3.9
* Wed May 20 2020 Tomas Hrnciar <thrnciar@redhat.com> - 20.1.1-1
- Update to 20.1.1
* Wed Apr 29 2020 Tomas Hrnciar <thrnciar@redhat.com> - 20.1-1
- Update to 20.1
* Mon Apr 27 2020 Tomas Hrnciar <thrnciar@redhat.com> - 20.1~b1-1
- Update to 20.1~b1
* Wed Apr 15 2020 Miro Hrončok <mhroncok@redhat.com> - 20.0.2-4
- Only recommend setuptools, don't require them
* Fri Apr 10 2020 Miro Hrončok <mhroncok@redhat.com> - 20.0.2-3
- Allow setting $TMPDIR to $PWD/... during pip wheel (#1806625)
* Tue Mar 10 2020 Miro Hrončok <mhroncok@redhat.com> - 20.0.2-2
- Don't warn the user about pip._internal.main() entrypoint to fix ensurepip
* Mon Mar 02 2020 Miro Hrončok <mhroncok@redhat.com> - 20.0.2-1
- Update to 20.0.2 (#1793456)
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 19.3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Mon Nov 04 2019 Tomas Orsava <torsava@redhat.com> - 19.3.1-1
- Update to 19.3.1 (#1761508)
- Drop upstreamed patch that fixed expected output in test to not break with alpha/beta/rc Python versions
* Wed Oct 30 2019 Miro Hrončok <mhroncok@redhat.com> - 19.2.3-2
- Make /usr/bin/pip(3) work with user-installed pip 19.3+ (#1767212)
* Mon Sep 02 2019 Miro Hrončok <mhroncok@redhat.com> - 19.2.3-1
- Update to 19.2.3 (#1742230)
- Drop patch that should strip path prefixes from RECORD files, the paths are relative
* Wed Aug 21 2019 Petr Viktorin <pviktori@redhat.com> - 19.1.1-8
- Remove python2-pip
- Make pip bootstrap itself, rather than with an extra bootstrap RPM build
* Sat Aug 17 2019 Miro Hrončok <mhroncok@redhat.com> - 19.1.1-7
- Rebuilt for Python 3.8
* Wed Aug 14 2019 Miro Hrončok <mhroncok@redhat.com> - 19.1.1-6
- Bootstrap for Python 3.8
* Wed Aug 14 2019 Miro Hrončok <mhroncok@redhat.com> - 19.1.1-5
- Bootstrap for Python 3.8
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 19.1.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Mon Jul 15 2019 Petr Viktorin <pviktori@redhat.com> - 19.1.1-3
- Recommend libcrypt.so.1 for manylinux1 compatibility
- Make /usr/bin/pip Python 3
* Mon Jun 10 2019 Miro Hrončok <mhroncok@redhat.com> - 19.1.1-2
- Fix root warning when pip is invoked via python -m pip
- Remove a redundant second WARNING prefix form the abovementioned warning
* Wed May 15 2019 Miro Hrončok <mhroncok@redhat.com> - 19.1.1-1
- Update to 19.1.1 (#1706995)
* Thu Apr 25 2019 Miro Hrončok <mhroncok@redhat.com> - 19.1-1
- Update to 19.1 (#1702525)
* Wed Mar 06 2019 Miro Hrončok <mhroncok@redhat.com> - 19.0.3-1
- Update to 19.0.3 (#1679277)
* Wed Feb 13 2019 Miro Hrončok <mhroncok@redhat.com> - 19.0.2-1
- Update to 19.0.2 (#1668492)
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 18.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Dec 03 2018 Miro Hrončok <mhroncok@redhat.com> - 18.1-2
- Use the system level root certificate instead of the one bundled in certifi
* Thu Nov 22 2018 Miro Hrončok <mhroncok@redhat.com> - 18.1-1
- Update to 18.1 (#1652089)
* Tue Sep 18 2018 Victor Stinner <vstinner@redhat.com> - 18.0-4
- Prevent removing of the system packages installed under /usr/lib
when pip install -U is executed. Original patch by Michal Cyprian.
Resolves: rhbz#1550368.
* Wed Aug 08 2018 Miro Hrončok <mhroncok@redhat.com> - 18.0-3
- Create python-pip-wheel package with the wheel
* Tue Jul 31 2018 Miro Hrončok <mhroncok@redhat.com> - 18.0-2
- Remove redundant "Unicode" from License
* Mon Jul 23 2018 Marcel Plch <mplch@redhat.com> - 18.0-7
- Update to 18.0
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 9.0.3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Mon Jun 18 2018 Miro Hrončok <mhroncok@redhat.com> - 9.0.3-5
- Rebuilt for Python 3.7
* Wed Jun 13 2018 Miro Hrončok <mhroncok@redhat.com> - 9.0.3-4
- Bootstrap for Python 3.7
* Wed Jun 13 2018 Miro Hrončok <mhroncok@redhat.com> - 9.0.3-3
- Bootstrap for Python 3.7
* Fri May 04 2018 Miro Hrončok <mhroncok@redhat.com> - 9.0.3-2
- Allow to import pip10's main from pip9's /usr/bin/pip
- Do not show the "new version of pip" warning outside of venv
Resolves: rhbz#1569488
Resolves: rhbz#1571650
Resolves: rhbz#1573755
* Thu Mar 29 2018 Charalampos Stratakis <cstratak@redhat.com> - 9.0.3-1
- Update to 9.0.3
* Wed Feb 21 2018 Lumír Balhar <lbalhar@redhat.com> - 9.0.1-16
- Include built HTML documentation (in the new -doc subpackage) and man page
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 9.0.1-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Mon Dec 04 2017 Charalampos Stratakis <cstratak@redhat.com> - 9.0.1-14
- Reintroduce the ipaddress module in the python3 subpackage.
* Mon Nov 20 2017 Charalampos Stratakis <cstratak@redhat.com> - 9.0.1-13
- Add virtual provides for the bundled libraries. (rhbz#1096912)
* Tue Aug 29 2017 Tomas Orsava <torsava@redhat.com> - 9.0.1-12
- Switch macros to bcond's and make Python 2 optional to facilitate building
the Python 2 and Python 3 modules
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 9.0.1-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Tue May 23 2017 Tomas Orsava <torsava@redhat.com> - 9.0.1-10
- Modernized package descriptions
Resolves: rhbz#1452568
* Tue Mar 21 2017 Tomas Orsava <torsava@redhat.com> - 9.0.1-9
- Fix typo in the sudo pip warning
* Fri Mar 03 2017 Tomas Orsava <torsava@redhat.com> - 9.0.1-8
- Patch 1 update: No sudo pip warning in venv or virtualenv
* Thu Feb 23 2017 Tomas Orsava <torsava@redhat.com> - 9.0.1-7
- Patch 1 update: Customize the warning with the proper version of the pip
command
* Tue Feb 14 2017 Tomas Orsava <torsava@redhat.com> - 9.0.1-6
- Added patch 1: Emit a warning when running with root privileges
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 9.0.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Mon Jan 02 2017 Tomas Orsava <torsava@redhat.com> - 9.0.1-4
- Provide symlinks to executables to comply with Fedora guidelines for Python
Resolves: rhbz#1406922
* Fri Dec 09 2016 Charalampos Stratakis <cstratak@redhat.com> - 9.0.1-3
- Rebuild for Python 3.6 with wheel
* Fri Dec 09 2016 Charalampos Stratakis <cstratak@redhat.com> - 9.0.1-2
- Rebuild for Python 3.6 without wheel
* Fri Nov 18 2016 Orion Poplawski <orion@cora.nwra.com> - 9.0.1-1
- Update to 9.0.1
* Fri Nov 18 2016 Orion Poplawski <orion@cora.nwra.com> - 8.1.2-5
- Enable EPEL Python 3 builds
- Use new python macros
- Cleanup spec
* Fri Aug 05 2016 Tomas Orsava <torsava@redhat.com> - 8.1.2-4
- Updated the test sources
* Fri Aug 05 2016 Tomas Orsava <torsava@redhat.com> - 8.1.2-3
- Moved python-pip into the python2-pip subpackage
- Added the python_provide macro
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 8.1.2-2
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
* Tue May 17 2016 Tomas Orsava <torsava@redhat.com> - 8.1.2-1
- Update to 8.1.2
- Moved to a new PyPI URL format
- Updated the prefix-stripping patch because of upstream changes in pip/wheel.py
* Mon Feb 22 2016 Slavek Kabrda <bkabrda@redhat.com> - 8.0.2-1
- Update to 8.0.2
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 7.1.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Oct 14 2015 Robert Kuska <rkuska@redhat.com> - 7.1.0-3
- Rebuilt for Python3.5 rebuild
- With wheel set to 1
* Tue Oct 13 2015 Robert Kuska <rkuska@redhat.com> - 7.1.0-2
- Rebuilt for Python3.5 rebuild
* Wed Jul 01 2015 Slavek Kabrda <bkabrda@redhat.com> - 7.1.0-1
- Update to 7.1.0
* Tue Jun 30 2015 Ville Skyttä <ville.skytta@iki.fi> - 7.0.3-3
- Install bash completion
- Ship LICENSE.txt as %%license where available
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 7.0.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Thu Jun 04 2015 Matej Stuchlik <mstuchli@redhat.com> - 7.0.3-1
- Update to 7.0.3
* Fri Mar 06 2015 Matej Stuchlik <mstuchli@redhat.com> - 6.0.8-1
- Update to 6.0.8
* Thu Dec 18 2014 Slavek Kabrda <bkabrda@redhat.com> - 1.5.6-5
- Only enable tests on Fedora.
* Mon Dec 01 2014 Matej Stuchlik <mstuchli@redhat.com> - 1.5.6-4
- Add tests
- Add patch skipping tests requiring Internet access
* Tue Nov 18 2014 Matej Stuchlik <mstuchli@redhat.com> - 1.5.6-3
- Added patch for local dos with predictable temp dictionary names
(http://seclists.org/oss-sec/2014/q4/655)
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sun May 25 2014 Matej Stuchlik <mstuchli@redhat.com> - 1.5.6-1
- Update to 1.5.6
* Fri Apr 25 2014 Matej Stuchlik <mstuchli@redhat.com> - 1.5.4-4
- Rebuild as wheel for Python 3.4
* Thu Apr 24 2014 Matej Stuchlik <mstuchli@redhat.com> - 1.5.4-3
- Disable build_wheel
* Thu Apr 24 2014 Matej Stuchlik <mstuchli@redhat.com> - 1.5.4-2
- Rebuild as wheel for Python 3.4
* Mon Apr 07 2014 Matej Stuchlik <mstuchli@redhat.com> - 1.5.4-1
- Updated to 1.5.4
* Mon Oct 14 2013 Tim Flink <tflink@fedoraproject.org> - 1.4.1-1
- Removed patch for CVE 2013-2099 as it has been included in the upstream 1.4.1 release
- Updated version to 1.4.1
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Tue Jul 16 2013 Toshio Kuratomi <toshio@fedoraproject.org> - 1.3.1-4
- Fix for CVE 2013-2099
* Thu May 23 2013 Tim Flink <tflink@fedoraproject.org> - 1.3.1-3
- undo python2 executable rename to python-pip. fixes #958377
- fix summary to match upstream
* Mon May 06 2013 Kevin Kofler <Kevin@tigcc.ticalc.org> - 1.3.1-2
- Fix main package Summary, it's for Python 2, not 3 (#877401)
* Fri Apr 26 2013 Jon Ciesla <limburgher@gmail.com> - 1.3.1-1
- Update to 1.3.1, fix for CVE-2013-1888.
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Tue Oct 09 2012 Tim Flink <tflink@fedoraproject.org> - 1.2.1-2
- Fixing files for python3-pip
* Thu Oct 04 2012 Tim Flink <tflink@fedoraproject.org> - 1.2.1-1
- Update to upstream 1.2.1
- Change binary from pip-python to python-pip (RHBZ#855495)
- Add alias from python-pip to pip-python, to be removed at a later date
* Tue May 15 2012 Tim Flink <tflink@fedoraproject.org> - 1.1.0-1
- Update to upstream 1.1.0
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Sat Oct 22 2011 Tim Flink <tflink@fedoraproject.org> - 1.0.2-1
- update to 1.0.2 and added python3 subpackage
* Wed Jun 22 2011 Tim Flink <tflink@fedoraproject.org> - 0.8.3-1
- update to 0.8.3 and project home page
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Mon Dec 20 2010 Luke Macken <lmacken@redhat.com> - 0.8.2-1
- update to 0.8.2 of pip
* Mon Aug 30 2010 Peter Halliday <phalliday@excelsiorsystems.net> - 0.8-1
- update to 0.8 of pip
* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 0.7.2-5
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
* Wed Jul 7 2010 Peter Halliday <phalliday@excelsiorsystems.net> - 0.7.2-1
- update to 0.7.2 of pip
* Sun May 23 2010 Peter Halliday <phalliday@excelsiorsystems.net> - 0.7.1-1
- update to 0.7.1 of pip
* Fri Jan 1 2010 Peter Halliday <phalliday@excelsiorsystems.net> - 0.6.1.4
- fix dependency issue
* Fri Dec 18 2009 Peter Halliday <phalliday@excelsiorsystems.net> - 0.6.1-2
- fix spec file
* Thu Dec 17 2009 Peter Halliday <phalliday@excelsiorsystems.net> - 0.6.1-1
- upgrade to 0.6.1 of pip
* Mon Aug 31 2009 Peter Halliday <phalliday@excelsiorsystems.net> - 0.4-1
- Initial package

View file

@ -0,0 +1,54 @@
From 35378ae02912d704d466e4809070e17a8d13ad0a Mon Sep 17 00:00:00 2001
From: Karolina Surma <ksurma@redhat.com>
Date: Thu, 7 Aug 2025 15:05:34 +0200
Subject: [PATCH] Downstream-Only: Remove pytest-subket from tests
---
tests/conftest.py | 17 -----------------
1 file changed, 17 deletions(-)
diff --git a/tests/conftest.py b/tests/conftest.py
index c98b871..ada7a7e 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -451,18 +451,6 @@ def coverage_install(
return _common_wheel_editable_install(tmpdir_factory, common_wheels, "coverage")
-@pytest.fixture(scope="session")
-def socket_install(tmpdir_factory: pytest.TempPathFactory, common_wheels: Path) -> Path:
- lib_dir = _common_wheel_editable_install(
- tmpdir_factory, common_wheels, "pytest_subket"
- )
- # pytest-subket is only included so it can intercept and block unexpected
- # network requests. It should NOT be visible to the pip under test.
- dist_info = next(lib_dir.glob("*.dist-info"))
- shutil.rmtree(dist_info)
- return lib_dir
-
-
def install_pth_link(
venv: VirtualEnvironment, project_name: str, lib_dir: Path
) -> None:
@@ -480,7 +468,6 @@ def virtualenv_template(
setuptools_install: Path,
wheel_install: Path,
coverage_install: Path,
- socket_install: Path,
) -> VirtualEnvironment:
venv_type: VirtualEnvironmentType
if request.config.getoption("--use-venv"):
@@ -495,10 +482,6 @@ def virtualenv_template(
# Install setuptools, wheel, pytest-subket, and pip.
install_pth_link(venv, "setuptools", setuptools_install)
install_pth_link(venv, "wheel", wheel_install)
- install_pth_link(venv, "pytest_subket", socket_install)
- # Also copy pytest-subket's .pth file so it can intercept socket calls.
- with open(venv.site / "pytest_socket.pth", "w") as f:
- f.write(socket_install.joinpath("pytest_socket.pth").read_text())
pth, dist_info = pip_editable_parts
--
2.50.1

103
dummy-certifi.patch Normal file
View file

@ -0,0 +1,103 @@
From 7b5fbac83944e3a0dd975ff17b69358791b68721 Mon Sep 17 00:00:00 2001
From: Karolina Surma <ksurma@redhat.com>
Date: Thu, 27 Jun 2024 10:38:53 +0200
Subject: [PATCH] Dummy certifi patch
---
src/pip/_vendor/certifi/core.py | 80 +++------------------------------
1 file changed, 6 insertions(+), 74 deletions(-)
diff --git a/src/pip/_vendor/certifi/core.py b/src/pip/_vendor/certifi/core.py
index 2f2f7e0..bec6595 100644
--- a/src/pip/_vendor/certifi/core.py
+++ b/src/pip/_vendor/certifi/core.py
@@ -4,80 +4,12 @@ certifi.py
This module returns the installation location of cacert.pem or its contents.
"""
-import sys
-import atexit
-def exit_cacert_ctx() -> None:
- _CACERT_CTX.__exit__(None, None, None) # type: ignore[union-attr]
+# The RPM-packaged certifi always uses the system certificates
+def where() -> str:
+ return '/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem'
-if sys.version_info >= (3, 11):
-
- from importlib.resources import as_file, files
-
- _CACERT_CTX = None
- _CACERT_PATH = None
-
- def where() -> str:
- # This is slightly terrible, but we want to delay extracting the file
- # in cases where we're inside of a zipimport situation until someone
- # actually calls where(), but we don't want to re-extract the file
- # on every call of where(), so we'll do it once then store it in a
- # global variable.
- global _CACERT_CTX
- global _CACERT_PATH
- if _CACERT_PATH is None:
- # This is slightly janky, the importlib.resources API wants you to
- # manage the cleanup of this file, so it doesn't actually return a
- # path, it returns a context manager that will give you the path
- # when you enter it and will do any cleanup when you leave it. In
- # the common case of not needing a temporary file, it will just
- # return the file system location and the __exit__() is a no-op.
- #
- # We also have to hold onto the actual context manager, because
- # it will do the cleanup whenever it gets garbage collected, so
- # we will also store that at the global level as well.
- _CACERT_CTX = as_file(files("pip._vendor.certifi").joinpath("cacert.pem"))
- _CACERT_PATH = str(_CACERT_CTX.__enter__())
- atexit.register(exit_cacert_ctx)
-
- return _CACERT_PATH
-
- def contents() -> str:
- return files("pip._vendor.certifi").joinpath("cacert.pem").read_text(encoding="ascii")
-
-else:
-
- from importlib.resources import path as get_path, read_text
-
- _CACERT_CTX = None
- _CACERT_PATH = None
-
- def where() -> str:
- # This is slightly terrible, but we want to delay extracting the
- # file in cases where we're inside of a zipimport situation until
- # someone actually calls where(), but we don't want to re-extract
- # the file on every call of where(), so we'll do it once then store
- # it in a global variable.
- global _CACERT_CTX
- global _CACERT_PATH
- if _CACERT_PATH is None:
- # This is slightly janky, the importlib.resources API wants you
- # to manage the cleanup of this file, so it doesn't actually
- # return a path, it returns a context manager that will give
- # you the path when you enter it and will do any cleanup when
- # you leave it. In the common case of not needing a temporary
- # file, it will just return the file system location and the
- # __exit__() is a no-op.
- #
- # We also have to hold onto the actual context manager, because
- # it will do the cleanup whenever it gets garbage collected, so
- # we will also store that at the global level as well.
- _CACERT_CTX = get_path("pip._vendor.certifi", "cacert.pem")
- _CACERT_PATH = str(_CACERT_CTX.__enter__())
- atexit.register(exit_cacert_ctx)
-
- return _CACERT_PATH
-
- def contents() -> str:
- return read_text("pip._vendor.certifi", "cacert.pem", encoding="ascii")
+def contents() -> str:
+ with open(where(), encoding='utf=8') as data:
+ return data.read()
--
2.50.1

111
plan.fmf Normal file
View file

@ -0,0 +1,111 @@
execute:
how: tmt
discover:
- name: tests_python
how: shell
url: https://src.fedoraproject.org/tests/python.git
tests:
- name: smoke36
path: /smoke
test: VERSION=3.6 TOX=false ./venv.sh
- name: smoke39
path: /smoke
test: VERSION=3.9 ./venv.sh
- name: smoke310
path: /smoke
test: VERSION=3.10 ./venv.sh
- name: smoke311
path: /smoke
test: VERSION=3.11 ./venv.sh
- name: smoke312
path: /smoke
test: VERSION=3.12 ./venv.sh
- name: smoke313
path: /smoke
test: VERSION=3.13 ./venv.sh
- name: smoke314
path: /smoke
test: VERSION=3.14 ./venv.sh
- name: smoke315
path: /smoke
test: VERSION=3.15 ./venv.sh
- name: smoke39_virtualenv
path: /smoke
test: VERSION=3.9 METHOD=virtualenv ./venv.sh
- name: smoke310_virtualenv
path: /smoke
test: VERSION=3.10 METHOD=virtualenv ./venv.sh
- name: smoke311_virtualenv
path: /smoke
test: VERSION=3.11 METHOD=virtualenv ./venv.sh
- name: smoke312_virtualenv
path: /smoke
test: VERSION=3.12 METHOD=virtualenv ./venv.sh
- name: smoke313_virtualenv
path: /smoke
test: VERSION=3.13 METHOD=virtualenv ./venv.sh
- name: smoke314_virtualenv
path: /smoke
test: VERSION=3.14 METHOD=virtualenv ./venv.sh
- name: smoke315_virtualenv
path: /smoke
test: VERSION=3.15 METHOD=virtualenv ./venv.sh
- name: rpms_pyproject-rpm-macros
how: shell
url: https://src.fedoraproject.org/rpms/pyproject-rpm-macros.git
tests:
- name: pyproject_pytest
path: /tests
test: ./mocktest.sh python-pytest
- name: pyproject_entrypoints
path: /tests
test: ./mocktest.sh python-entrypoints
- name: pyproject_pluggy
path: /tests
test: ./mocktest.sh python-pluggy
- name: pyproject_clikit
path: /tests
test: ./mocktest.sh python-clikit
- name: same_repo
how: shell
dist-git-source: true
dist-git-download-only: true
tests:
- name: mock_bootstrap_build
test: |
cd $TMT_SOURCE_DIR &&
$TMT_TREE/../discover/rpms_pyproject-rpm-macros/tests/tests/mocktest.sh python-pip --without tests --without man
- name: pip_install_upgrade
path: /tests/pip_install_upgrade/
test: ./runtest.sh
- name: bash_completion
path: /tests/bash_completion
test: ./pip_completion_full_test.sh
prepare:
- name: Install dependencies
how: install
package:
- gcc
- virtualenv
- python3.6-devel
- python3.9-devel
- python3.10-devel
- python3.11-devel
- python3.12-devel
- python3.13-devel
- python3.14-devel
- python3.15-devel
- python3-devel
- python3-tox
- mock
- rpmdevtools
- rpm-build
- grep
- util-linux
- shadow-utils
- expect
- dnf
- name: Update packages
how: shell
script: dnf upgrade -y

9
python-pip.rpmlintrc Normal file
View file

@ -0,0 +1,9 @@
# This is just temporary, when upstream merges PRs it can be removed
# https://github.com/psf/requests/pull/5410
addFilter(r'(non-executable-script|wrong-script-interpreter) .+/pip/_vendor/requests/certs.py\b')
# This file is actually a script but in the vendored context of pip, it is never executed
addFilter(r'non-executable-script .+/pip/_vendor/distro/distro.py\b')
# We ship README with the main package but not with the wheel
addFilter(r'python-pip-wheel.noarch: W: no-documentation')

363
python-pip.spec Normal file
View file

@ -0,0 +1,363 @@
# The original RHEL N+1 content set is defined by (build)dependencies
# of the packages in Fedora ELN. Hence we disable tests here
# to prevent pulling many unwanted packages in.
%bcond tests %{defined fedora}
# Whether to build the manual pages (useful for bootstrapping Sphinx)
%bcond man 1
%global srcname pip
%global base_version 25.3
%global upstream_version %{base_version}%{?prerel}
%global python_wheel_name %{srcname}-%{upstream_version}-py3-none-any.whl
Name: python-%{srcname}
Version: %{base_version}%{?prerel:~%{prerel}}
Release: %autorelease
Summary: A tool for installing and managing Python packages
# We bundle a lot of libraries with pip, which itself is under MIT license.
# Here is the list of the libraries with corresponding licenses:
# certifi: MPL-2.0
# CacheControl: Apache-2.0
# dependency-groups: MIT
# distlib: Python-2.0.1
# distro: Apache-2.0
# idna: BSD-3-Clause
# msgpack: Apache-2.0
# packaging: Apache-2.0 OR BSD-2-Clause
# platformdirs: MIT
# pygments: BSD-2-Clause
# pyproject-hooks: MIT
# requests: Apache-2.0
# resolvelib: ISC
# rich: MIT
# setuptools: MIT
# truststore: MIT
# tomli: MIT
# tomli-w: MIT
# urllib3: MIT
License: MIT AND Python-2.0.1 AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND ISC AND MPL-2.0 AND (Apache-2.0 OR BSD-2-Clause)
URL: https://pip.pypa.io/
Source0: https://github.com/pypa/pip/archive/%{upstream_version}/%{srcname}-%{upstream_version}.tar.gz
# The following sources are wheels used only for tests.
# They are not bundled in the built package and do not contribute to the overall license.
# They are pre-built but only contain text files, rebuilding them in %%build has very little benefit.
# setuptools.whl
# We cannot use RPM-packaged python-setuptools-wheel because upstream pins to <80.
# See https://github.com/pypa/pip/pull/13357 for rationale.
Source1: https://files.pythonhosted.org/packages/0d/6d/b4752b044bf94cb802d88a888dc7d288baaf77d7910b7dedda74b5ceea0c/setuptools-79.0.1-py3-none-any.whl
# wheel.whl
# We cannot use RPM-packaged python-wheel-wheel because we intent to drop that package in wheel 0.46+.
# That version of wheel has runtime dependencies and is generally useless as a standalone wheel.
# See https://github.com/pypa/pip/pull/13382 as an attempt to drop the requirement from pip tests.
Source2: https://files.pythonhosted.org/packages/0b/2c/87f3254fd8ffd29e4c02732eee68a83a1d3c346ae39bc6822dcbcb697f2b/wheel-0.45.1-py3-none-any.whl
# flit_core.whl
# This is not built as RPM-packaged wheel in Fedora at all.
Source3: https://files.pythonhosted.org/packages/f2/65/b6ba90634c984a4fcc02c7e3afe523fef500c4980fec67cc27536ee50acf/flit_core-3.12.0-py3-none-any.whl
# coverage.whl
# There is no RPM-packaged python-coverage-wheel, the package is archful.
# Upstream uses this to measure coverage, which we don't.
# This is a dummy placeholder package that only contains empty coverage.process_startup().
# That way, we don't need to patch the usage out of conftest.py.
Source4: coverage-0-py3-none-any.whl
BuildArch: noarch
%if %{with tests}
BuildRequires: /usr/bin/git
BuildRequires: /usr/bin/hg
BuildRequires: /usr/bin/bzr
BuildRequires: /usr/bin/svn
BuildRequires: python%{python3_pkgversion}-pytest-xdist
%endif
%if %{with man}
# docs/requirements.txt contains many sphinx extensions
# however, we only build the manual pages thanks to
# https://github.com/pypa/pip/pull/13168
# We also always use the "main" Sphinx, not python%%{python3_pkgversion}-sphinx
BuildRequires: python3-sphinx
%endif
# Prevent removing of the system packages installed under /usr/lib
# when pip install -U is executed.
# https://bugzilla.redhat.com/show_bug.cgi?id=1550368#c24
# Could be replaced with https://www.python.org/dev/peps/pep-0668/
Patch: remove-existing-dist-only-if-path-conflicts.patch
# Use the system level root certificate instead of the one bundled in certifi
# https://bugzilla.redhat.com/show_bug.cgi?id=1655253
# The same patch is a part of the RPM-packaged python-certifi
Patch: dummy-certifi.patch
# pytest-subket has been introduced to intercept network calls
# https://github.com/pypa/pip/commit/a4b40f62332ccb3228b12cc5ae1493c75177247a
# We don't need a layer to check that, as we're by default in an offline environment
Patch: downstream-remove-pytest-subket.patch
# Patch for the bundled urllib3 for CVE-2025-50181
# Redirects are not disabled when retries are disabled on PoolManager instantiation
# Upstream fix: https://github.com/urllib3/urllib3/commit/f05b1329126d5be6de501f9d1e3e36738bc08857
Patch: urllib3-CVE-2025-50181.patch
# Remove -s from Python shebang - ensure that packages installed with pip
# to user locations are seen by pip itself
%undefine _py3_shebang_s
%description
pip is a package management system used to install and manage software packages
written in Python. Many packages can be found in the Python Package Index
(PyPI). pip is a recursive acronym that can stand for either "Pip Installs
Packages" or "Pip Installs Python".
# Virtual provides for the packages bundled by pip.
# You can generate it with:
# %%{_rpmconfigdir}/pythonbundles.py --namespace 'python%%{1}dist' src/pip/_vendor/vendor.txt
%global bundled() %{expand:
Provides: bundled(python%{1}dist(cachecontrol)) = 0.14.3
Provides: bundled(python%{1}dist(certifi)) = 2025.10.5
Provides: bundled(python%{1}dist(dependency-groups)) = 1.3.1
Provides: bundled(python%{1}dist(distlib)) = 0.4
Provides: bundled(python%{1}dist(distro)) = 1.9
Provides: bundled(python%{1}dist(idna)) = 3.10
Provides: bundled(python%{1}dist(msgpack)) = 1.1.2
Provides: bundled(python%{1}dist(packaging)) = 25
Provides: bundled(python%{1}dist(platformdirs)) = 4.5
Provides: bundled(python%{1}dist(pygments)) = 2.19.2
Provides: bundled(python%{1}dist(pyproject-hooks)) = 1.2
Provides: bundled(python%{1}dist(requests)) = 2.32.5
Provides: bundled(python%{1}dist(resolvelib)) = 1.2.1
Provides: bundled(python%{1}dist(rich)) = 14.2
Provides: bundled(python%{1}dist(setuptools)) = 70.3
Provides: bundled(python%{1}dist(tomli)) = 2.3
Provides: bundled(python%{1}dist(tomli-w)) = 1.2
Provides: bundled(python%{1}dist(truststore)) = 0.10.4
Provides: bundled(python%{1}dist(urllib3)) = 1.26.20
}
# Some manylinux1 wheels need libcrypt.so.1.
# Manylinux1, a common (as of 2019) platform tag for binary wheels, relies
# on a glibc version that included ancient crypto functions, which were
# moved to libxcrypt and then removed in:
# https://fedoraproject.org/wiki/Changes/FullyRemoveDeprecatedAndUnsafeFunctionsFromLibcrypt
# The manylinux1 standard assumed glibc would keep ABI compatibility,
# but that's only the case if libcrypt.so.1 (libxcrypt-compat) is around.
# This should be solved in the next manylinux standard (but it may be
# a long time until manylinux1 is phased out).
# See: https://github.com/pypa/manylinux/issues/305
# Note that manylinux is only applicable to x86 (both 32 and 64 bits)
# As of Python 3.12, we no longer use this,
# see https://discuss.python.org/t/29455/
# However, we keep it around for previous Python versions that use the wheel package.
%global crypt_compat_recommends() %{expand:
Recommends: (libcrypt.so.1()(64bit) if python%{1}(x86-64))
Recommends: (libcrypt.so.1 if python%{1}(x86-32))
}
%package -n python%{python3_pkgversion}-%{srcname}
Summary: A tool for installing and managing Python3 packages
BuildRequires: python%{python3_pkgversion}-devel
# python3 bootstrap: this is rebuilt before the final build of python3, which
# adds the dependency on python3-rpm-generators, so we require it manually
# Note that the package prefix is always python3-, even if we build for 3.X
# The minimal version is for bundled provides verification script
BuildRequires: python3-rpm-generators >= 11-8
BuildRequires: pyproject-rpm-macros
BuildRequires: python%{python3_pkgversion}-flit-core
BuildRequires: bash-completion
BuildRequires: ca-certificates
Requires: ca-certificates
# Virtual provides for the packages bundled by pip:
%{bundled %{python3_pkgversion}}
Provides: pip = %{version}-%{release}
%description -n python%{python3_pkgversion}-%{srcname}
pip is a package management system used to install and manage software packages
written in Python. Many packages can be found in the Python Package Index
(PyPI). pip is a recursive acronym that can stand for either "Pip Installs
Packages" or "Pip Installs Python".
%package -n %{python_wheel_pkg_prefix}-%{srcname}-wheel
Summary: The pip wheel
Requires: ca-certificates
# Virtual provides for the packages bundled by pip:
%{bundled %{python3_pkgversion}}
# This is only relevant for Pythons that are older than 3.12 and don't use their own bundled wheels
# It is also only relevant when this wheel is shared across multiple Pythons
%if "%{python_wheel_pkg_prefix}" == "python"
%{crypt_compat_recommends 3.11}
%{crypt_compat_recommends 3.10}
%{crypt_compat_recommends 3.9}
%endif
%description -n %{python_wheel_pkg_prefix}-%{srcname}-wheel
A Python wheel of pip to use with venv.
%prep
%autosetup -p1 -n %{srcname}-%{upstream_version}
# this goes together with patch4
rm src/pip/_vendor/certifi/*.pem
# Remove windows executable binaries
rm -v src/pip/_vendor/distlib/*.exe
sed -i '/\.exe/d' pyproject.toml
# Remove unused test requirements
sed -Ei '/(pytest-(cov|xdist|rerunfailures|subket)|proxy\.py)/d' pyproject.toml
# Remove unused pytest-subket options
sed -Ei '/(--disable-socket|--allow-unix-socket|--allow-hosts=localhost)/d' pyproject.toml
%if %{with tests}
# tests expect wheels in here
mkdir tests/data/common_wheels
cp -a %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4} tests/data/common_wheels
%endif
%if %{with tests}
%generate_buildrequires
# we only use this to generate test requires
# the "pyproject" part is explicitly disabled as it generates a requirement on pip
%pyproject_buildrequires -N -g test
%endif
%build
export PYTHONPATH=./src/
%pyproject_wheel
%if %{with man}
sphinx-build -t man -b man -d docs/build/doctrees/man -c docs/html docs/man docs/build/man
%endif
%install
export PYTHONPATH=./src/
%pyproject_install
%pyproject_save_files -l pip
# We'll install pip as pip3.X
# Later we'll provide symbolic links, manpage links and bashcompletion fixes for alternative names
%if "%{python3_pkgversion}" == "3"
%global alternate_names pip-%{python3_version} pip-3 pip3 pip
%else
%global alternate_names pip-%{python3_version}
%endif
# Provide symlinks to executables
mv %{buildroot}%{_bindir}/pip %{buildroot}%{_bindir}/pip%{python3_version}
rm %{buildroot}%{_bindir}/pip3
for pip in %{alternate_names}; do
ln -s ./pip%{python3_version} %{buildroot}%{_bindir}/$pip
done
%if %{with man}
pushd docs/build/man
install -d %{buildroot}%{_mandir}/man1
for MAN in *1; do
install -pm0644 $MAN %{buildroot}%{_mandir}/man1/${MAN/pip/pip%{python3_version}}
for pip in %{alternate_names}; do
echo ".so ${MAN/pip/pip%{python3_version}}" > %{buildroot}%{_mandir}/man1/${MAN/pip/$pip}
done
done
popd
%endif
mkdir -p %{buildroot}%{bash_completions_dir}
PYTHONPATH=%{buildroot}%{python3_sitelib} \
%{buildroot}%{_bindir}/pip%{python3_version} completion --bash \
> %{buildroot}%{bash_completions_dir}/pip%{python3_version}
# Make bash completion apply to all alternate names symlinks we install
sed -i -e "s/^\\(complete.*\\) pip%{python3_version}\$/\\1 pip%{python3_version} %{alternate_names}/" \
-e s/_pip_completion/_pip%{python3_version_nodots}_completion/ \
%{buildroot}%{bash_completions_dir}/pip%{python3_version}
# Install the built wheel and inject SBOM into it (if the macro is available)
mkdir -p %{buildroot}%{python_wheel_dir}
install -p %{_pyproject_wheeldir}/%{python_wheel_name} -t %{buildroot}%{python_wheel_dir}
%{?python_wheel_inject_sbom:%python_wheel_inject_sbom %{buildroot}%{python_wheel_dir}/%{python_wheel_name}}
%check
# Verify bundled provides are up to date
%{_rpmconfigdir}/pythonbundles.py src/pip/_vendor/vendor.txt --compare-with '%{bundled 3}'
# Verify no unwanted files are present in the package
grep "exe$" %{pyproject_files} && exit 1 || true
grep "pem$" %{pyproject_files} && exit 1 || true
# Verify we can at least run basic commands without crashing
%{py3_test_envvars} %{buildroot}%{_bindir}/pip%{python3_version} --help
%{py3_test_envvars} %{buildroot}%{_bindir}/pip%{python3_version} list
%{py3_test_envvars} %{buildroot}%{_bindir}/pip%{python3_version} show pip
%if %{with tests}
# Upstream tests
# bash completion tests only work from installed package
pytest_k='not completion'
# this clashes with our PYTHONPATH
pytest_k="$pytest_k and not environments_with_no_pip"
# this seems to require internet (despite no network marker)
# added in https://github.com/pypa/pip/pull/13378 TODO drop this in the next release
pytest_k="$pytest_k and not test_prompt_for_keyring_if_needed and not test_double_install_fail and not test_install_sdist_links and not test_lock_vcs and not test_lock_archive and not test_backend_sees_config_via_sdist"
# this cannot import breezy, TODO investigate
pytest_k="$pytest_k and not (functional and bazaar)"
# failures to investigate
pytest_k="$pytest_k and not test_all_fields and not test_report_mixed_not_found and not test_basic_show" # "Editable project location" missing
pytest_k="$pytest_k and not test_basic_install_from_wheel"
pytest_k="$pytest_k and not test_check_unsupported"
%pytest -n auto -m 'not network' -k "$(echo $pytest_k)" \
--ignore tests/functional/test_proxy.py # no proxy.py in Fedora
%endif
%files -n python%{python3_pkgversion}-%{srcname} -f %{pyproject_files}
%doc README.rst
%if %{with man}
%if "%{python3_pkgversion}" == "3"
%{_mandir}/man1/pip{,3,-3}.1.*
%{_mandir}/man1/pip{,3,-3}-[^3]*.1.*
%endif
%{_mandir}/man1/pip{,-}%{python3_version}.1.*
%{_mandir}/man1/pip{,-}%{python3_version}-*.1.*
%endif
%if "%{python3_pkgversion}" == "3"
%{_bindir}/pip
%{_bindir}/pip3
%{_bindir}/pip-3
%endif
%{_bindir}/pip%{python3_version}
%{_bindir}/pip-%{python3_version}
%dir %{bash_completions_dir}
%{bash_completions_dir}/pip%{python3_version}
%files -n %{python_wheel_pkg_prefix}-%{srcname}-wheel
%license LICENSE.txt
# we own the dir for simplicity
%dir %{python_wheel_dir}/
%{python_wheel_dir}/%{python_wheel_name}
%changelog
%autochangelog

View file

@ -0,0 +1,115 @@
From d5cb806a14bb50a96484bca6536e81f2ac316b9d Mon Sep 17 00:00:00 2001
From: Karolina Surma <ksurma@redhat.com>
Date: Wed, 16 Feb 2022 08:36:21 +0100
Subject: [PATCH] Prevent removing of the system packages installed under
/usr/lib when pip install --upgrade is executed.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Resolves: rhbz#1550368
Co-Authored-By: Michal Cyprian <m.cyprian@gmail.com>
Co-Authored-By: Victor Stinner <vstinner@redhat.com>
Co-Authored-By: Petr Viktorin <pviktori@redhat.com>
Co-Authored-By: Lumir Balhar <lbalhar@redhat.com>
Co-Authored-By: Miro Hrončok <miro@hroncok.cz>
Co-Authored-By: Karolina Surma <ksurma@redhat.com>
---
src/pip/_internal/metadata/base.py | 12 +++++++++++-
src/pip/_internal/req/req_install.py | 2 +-
src/pip/_internal/resolution/legacy/resolver.py | 4 +++-
src/pip/_internal/resolution/resolvelib/factory.py | 12 ++++++++++++
4 files changed, 27 insertions(+), 3 deletions(-)
diff --git a/src/pip/_internal/metadata/base.py b/src/pip/_internal/metadata/base.py
index 230e114..8bd5d31 100644
--- a/src/pip/_internal/metadata/base.py
+++ b/src/pip/_internal/metadata/base.py
@@ -23,7 +23,7 @@ from pip._vendor.packaging.utils import NormalizedName, canonicalize_name
from pip._vendor.packaging.version import Version
from pip._internal.exceptions import NoneMetadataError
-from pip._internal.locations import site_packages, user_site
+from pip._internal.locations import get_scheme, site_packages, user_site
from pip._internal.models.direct_url import (
DIRECT_URL_METADATA_NAME,
DirectUrl,
@@ -575,6 +575,16 @@ class BaseDistribution(Protocol):
for extra in self._iter_egg_info_extras():
metadata["Provides-Extra"] = extra
+ @property
+ def in_install_path(self) -> bool:
+ """
+ Return True if given Distribution is installed in
+ path matching distutils_scheme layout.
+ """
+ norm_path = normalize_path(self.installed_location)
+ return norm_path.startswith(normalize_path(
+ get_scheme("").purelib.split('python')[0]))
+
class BaseEnvironment:
"""An environment containing distributions to introspect."""
diff --git a/src/pip/_internal/req/req_install.py b/src/pip/_internal/req/req_install.py
index c9f6bff..c101826 100644
--- a/src/pip/_internal/req/req_install.py
+++ b/src/pip/_internal/req/req_install.py
@@ -453,7 +453,7 @@ class InstallRequirement:
f"lack sys.path precedence to {existing_dist.raw_name} "
f"in {existing_dist.location}"
)
- else:
+ elif existing_dist.in_install_path:
self.should_reinstall = True
else:
if self.editable:
diff --git a/src/pip/_internal/resolution/legacy/resolver.py b/src/pip/_internal/resolution/legacy/resolver.py
index 33a4fdc..1fe886e 100644
--- a/src/pip/_internal/resolution/legacy/resolver.py
+++ b/src/pip/_internal/resolution/legacy/resolver.py
@@ -322,7 +322,9 @@ class Resolver(BaseResolver):
# Don't uninstall the conflict if doing a user install and the
# conflict is not a user install.
assert req.satisfied_by is not None
- if not self.use_user_site or req.satisfied_by.in_usersite:
+ if ((not self.use_user_site
+ or req.satisfied_by.in_usersite)
+ and req.satisfied_by.in_install_path):
req.should_reinstall = True
req.satisfied_by = None
diff --git a/src/pip/_internal/resolution/resolvelib/factory.py b/src/pip/_internal/resolution/resolvelib/factory.py
index f23e4cd..1bada79 100644
--- a/src/pip/_internal/resolution/resolvelib/factory.py
+++ b/src/pip/_internal/resolution/resolvelib/factory.py
@@ -3,6 +3,8 @@ from __future__ import annotations
import contextlib
import functools
import logging
+import sys
+import sysconfig
from collections.abc import Iterable, Iterator, Mapping, Sequence
from typing import (
TYPE_CHECKING,
@@ -615,6 +617,16 @@ class Factory:
if dist is None: # Not installed, no uninstallation required.
return None
+ # Prevent uninstalling packages from /usr
+ try:
+ if dist.installed_location in (
+ sysconfig.get_path('purelib', scheme='posix_prefix', vars={'base': sys.base_prefix}),
+ sysconfig.get_path('platlib', scheme='posix_prefix', vars={'platbase': sys.base_prefix}),
+ ):
+ return None
+ except KeyError: # this Python doesn't have 'rpm_prefix' scheme yet
+ pass
+
# We're installing into global site. The current installation must
# be uninstalled, no matter it's in global or user site, because the
# user site installation has precedence over global.
--
2.50.1

View file

@ -0,0 +1,5 @@
SHA512 (pip-25.3.tar.gz) = f50db092213ec3bb819d3da5669f73d119b5ec7f7ac5e8a587a17c27eafa32bc17a057df09389c526a3769ef3577f5553187d54ceffa89aed63f4b4498ff044e
SHA512 (setuptools-79.0.1-py3-none-any.whl) = fef6cfc6f95a5bb7320f1680e1c665cb8d9a4e4227cde4d8aab8a50bed4bcf04320085b9d7d5343359f887008db5c5a861e57f3d08b7b0b2311a28adaeee6b4a
SHA512 (wheel-0.45.1-py3-none-any.whl) = 86c16248ec804ee0ac95d43b03d47351dceb534d0cdc4025ca1eb073e39e539de44c870b9261f0373144e1537f0e42675a759a318a8d5d346bbd9efcb704061d
SHA512 (flit_core-3.12.0-py3-none-any.whl) = 790c12b1f43201e365fb3f8f2f0a54e1a578876799dfdf8bfeea679a25ea096bf62946d006618c1458ae6e37ce6d00998f37e9aba426d5ab80d32ef2d75da4e0
SHA512 (coverage-0-py3-none-any.whl) = e734192565347010efe68f8ba600254259c9b647f3c553fd4e5d87b1d7f955cb15d6f7d807716f4a6415d239beed945fbec7210feaf502e9cc849c332845926e

View file

@ -0,0 +1,35 @@
summary: PIP bash completion functionality smoke test
description: |
Comprehensive test for pip bash completion functionality on Fedora/RHEL systems.
The test performs the following steps:
1. Finds the bash completion script in the given (e.g. python3-pip) RPM package
2. Discovers all pip executables in the package (e.g. /usr/bin/pip and /usr/bin/pip3.14)
3. Sources the completion script and verifies completion for all executables is registered
4. Runs functional TAB completion tests using expect (for regular and POSIX mode of Bash)
5. Validates that completion works for basic pip commands
This is a smoke test to ensure pip bash completion is properly
installed and functional after package installation.
component:
- python3-pip
test: ./pip_completion_full_test.sh
framework: shell
duration: 5m
tier: 1
require:
- python3-pip
- bash-completion
- expect
- rpm
- bash
environment:
PACKAGE: python3-pip

View file

@ -0,0 +1,88 @@
#!/bin/bash
# Comprehensive PIP bash completion test for RHEL
# Finds completion scripts from RPM, tests all pip binaries, and runs functional tests
PACKAGE="${PACKAGE:-python3-pip}"
# Step 1: Find bash completion scripts in python3-pip RPM package
echo "Step 1: Finding bash completion scripts in $PACKAGE RPM package..."
COMPLETION_FILE=$(rpm -ql $PACKAGE 2>/dev/null | grep -E "/usr/share/bash-completion/completions/" || true)
if [[ -z "$COMPLETION_FILE" ]]; then
echo "✗ No bash completion files found in $PACKAGE package"
exit 1
fi
# Check if there's exactly one completion file
COMPLETION_FILE_COUNT=$(echo "$COMPLETION_FILE" | wc -l)
if [[ $COMPLETION_FILE_COUNT -gt 1 ]]; then
echo "✗ Multiple bash completion files found in $PACKAGE package:"
echo "$COMPLETION_FILE" | sed 's/^/ - /'
echo "Expected exactly one completion file, found $COMPLETION_FILE_COUNT"
exit 1
fi
echo "✓ Found completion file from $PACKAGE package:"
echo "$COMPLETION_FILE" | sed 's/^/ - /'
# Step 2: Find all pip binaries
echo
echo "Step 2: Finding all pip binaries..."
PIP_BINARIES=()
PIP_FILES=$(rpm -ql $PACKAGE | grep /bin/p)
for pip_file in $PIP_FILES; do
if [[ -x "$pip_file" ]]; then
pip_cmd=$(basename "$pip_file")
PIP_BINARIES+=("$pip_cmd")
echo "✓ Found: $pip_cmd -> $pip_file"
fi
done
if [[ ${#PIP_BINARIES[@]} -eq 0 ]]; then
echo "✗ No pip binaries found"
exit 1
fi
echo "Total pip binaries found: ${#PIP_BINARIES[@]}"
# Step 3: Source completion scripts and test each binary
echo
echo "Step 3: Testing completion for each pip binary..."
for AS_POSIX in 0 1; do
if [[ $AS_POSIX -eq 1 ]]; then
echo "Testing in POSIX mode"
POSIX="--posix"
else
echo "Testing in non-POSIX mode"
POSIX=""
fi
echo "Sourcing: $COMPLETION_FILE"
if bash --norc $POSIX -c "source $COMPLETION_FILE" ; then
echo "✓ Successfully sourced $COMPLETION_FILE"
else
echo "! Warning: Failed to source $COMPLETION_FILE"
exit 1
fi
export AS_POSIX
for pip_exec in "${PIP_BINARIES[@]}"; do
echo "Running expect test with $COMPLETION_FILE and $pip_exec..."
if ./test_pip_completion.exp "$COMPLETION_FILE" "$pip_exec"; then
echo "✓ Functional test passed"
else
echo "✗ Functional test failed"
exit 1
fi
done
done
echo "✓ All tests completed successfully!"

View file

@ -0,0 +1,117 @@
#!/usr/bin/expect -f
# PIP bash completion smoke test using expect
# Tests actual TAB completion functionality
# Usage: test_pip_completion.exp [completion_file] [pip_binary]
set timeout 5
set completion_file [lindex $argv 0]
set pip_exec [lindex $argv 1]
puts "=== PIP Bash Completion Test (using expect) ==="
puts "Testing completion file: $completion_file"
puts "Testing pip binary: $pip_exec"
# Check if completion file exists first
if {![file exists $completion_file]} {
puts "✗ Completion file not found: $completion_file"
exit 1
}
puts "✓ Completion file found: $completion_file"
# Start bash shell
if {[info exists env(AS_POSIX)] && $env(AS_POSIX) == "1"} {
spawn bash --norc --posix
} else {
spawn bash --norc
}
expect "$ "
# Source the completion file
send "source $completion_file\r"
expect "$ "
puts "Attempted to source completion file"
# Test 1: Basic pip command completion
puts "\nTest 1: Testing '$pip_exec ' + TAB completion..."
send "$pip_exec "
sleep 0.1
# Send TAB TAB using hex codes
send "\x09\x09"
expect {
-re "(install|uninstall|list|show)" {
puts "✓ Basic pip commands found in completion"
expect "$ "
}
-re "Display all" {
puts "✓ Completion showing options menu"
send "n\r"
expect "$ "
}
timeout {
puts "✗ Timeout waiting for completion - test failed"
exit 1
}
}
# Clear the line and ensure clean prompt
send "\x03"
expect "$ "
send "\r"
expect "$ "
# Test 2: Test partial command completion (simpler test)
puts "\nTest 2: Testing '$pip_exec insta' + TAB completion..."
send "$pip_exec insta"
sleep 0.1
# Single TAB for completion
send "\x09"
expect {
-re "install" {
puts "✓ Partial command completion works (insta -> install)"
expect "$ "
}
timeout {
puts "✗ Timeout on partial completion test - test failed"
exit 1
}
}
# Clear the line and ensure clean prompt
send "\x03"
expect "$ "
send "\r"
expect "$ "
# Test 3: Test help completion
puts "\nTest 3: Testing '$pip_exec --' + TAB completion..."
send "$pip_exec --"
sleep 0.1
send "\x09\x09"
expect {
-re "(--help|--version)" {
puts "✓ Command options found in completion"
expect "$ "
}
timeout {
puts "✗ Timeout on options completion test - test failed"
exit 1
}
}
# Final cleanup - make sure we're at clean prompt
send "\x03"
expect "$ "
send "\r"
expect "$ "
# Exit bash cleanly
send "exit\r"
expect eof
puts "\n=== Completion Test Complete ==="
puts "PIP bash completion functionality tested!"

View file

@ -0,0 +1,40 @@
#!/bin/sh -eux
# This script requires root privileges and you should never run it on your own machine
test $EUID -eq 0
PYTHON_VERSION=$(/usr/bin/python3 -c 'import sys; print("{}.{}".format(*sys.version_info))')
RPM_SITELIB="/usr/lib/python${PYTHON_VERSION}/site-packages"
LOCAL_SITELIB="/usr/local/lib/python${PYTHON_VERSION}/site-packages"
USER_SITELIB="/home/fedora-test-user/.local/lib/python${PYTHON_VERSION}/site-packages"
# First, let's install older Pello with pip as if it was installed by RPM
# This is an approximation, but it usually works
RPM_BUILD_ROOT=/ /usr/bin/pip install 'Pello==1.0.1'
# Now, we'll upgrade it with regular pip
/usr/bin/pip install --upgrade 'Pello==1.0.2'
# pip should see it
/usr/bin/pip freeze | grep '^Pello==1\.0\.2$'
# Both installations should still exist
test -d "${RPM_SITELIB}/pello-1.0.1.dist-info"
test -d "${LOCAL_SITELIB}/Pello-1.0.2.dist-info"
# Let's ditch the local one
/usr/bin/pip uninstall --yes Pello
# It should only remove one of them
test -d "${RPM_SITELIB}/pello-1.0.1.dist-info"
! test -d "${LOCAL_SITELIB}/Pello-1.0.2.dist-info"
# And pip should still see the RPM-installed one
/usr/bin/pip freeze | grep '^Pello==1\.0\.1$'
# Again, but as regular user
useradd fedora-test-user
su fedora-test-user -c '/usr/bin/pip install "Pello==1.0.2"'
test -d "${USER_SITELIB}/Pello-1.0.2.dist-info"
su fedora-test-user -c '/usr/bin/pip freeze' | grep '^Pello==1\.0\.2$'
su fedora-test-user -c '/usr/bin/pip uninstall --yes Pello'
su fedora-test-user -c '/usr/bin/pip freeze' | grep '^Pello==1\.0\.1$'

View file

@ -0,0 +1,51 @@
From b3d543d7e16af844394316360ef1bf0b9d10f1b1 Mon Sep 17 00:00:00 2001
From: Illia Volochii <illia.volochii@gmail.com>
Date: Wed, 18 Jun 2025 16:25:01 +0300
Subject: [PATCH] Security fix for CVE-2025-50181
Co-authored-by: Seth Michael Larson <sethmichaellarson@gmail.com>
Co-authored-by: Quentin Pradet <quentin.pradet@gmail.com>
Co-authored-by: Seth Michael Larson <sethmichaellarson@gmail.com>
---
src/pip/_vendor/urllib3/poolmanager.py | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/src/pip/_vendor/urllib3/poolmanager.py b/src/pip/_vendor/urllib3/poolmanager.py
index fb51bf7..a8de7c6 100644
--- a/src/pip/_vendor/urllib3/poolmanager.py
+++ b/src/pip/_vendor/urllib3/poolmanager.py
@@ -170,6 +170,22 @@ class PoolManager(RequestMethods):
def __init__(self, num_pools=10, headers=None, **connection_pool_kw):
RequestMethods.__init__(self, headers)
+ if "retries" in connection_pool_kw:
+ retries = connection_pool_kw["retries"]
+ if not isinstance(retries, Retry):
+ # When Retry is initialized, raise_on_redirect is based
+ # on a redirect boolean value.
+ # But requests made via a pool manager always set
+ # redirect to False, and raise_on_redirect always ends
+ # up being False consequently.
+ # Here we fix the issue by setting raise_on_redirect to
+ # a value needed by the pool manager without considering
+ # the redirect boolean.
+ raise_on_redirect = retries is not False
+ retries = Retry.from_int(retries, redirect=False)
+ retries.raise_on_redirect = raise_on_redirect
+ connection_pool_kw = connection_pool_kw.copy()
+ connection_pool_kw["retries"] = retries
self.connection_pool_kw = connection_pool_kw
self.pools = RecentlyUsedContainer(num_pools)
@@ -389,7 +405,7 @@ class PoolManager(RequestMethods):
kw["body"] = None
kw["headers"] = HTTPHeaderDict(kw["headers"])._prepare_for_method_change()
- retries = kw.get("retries")
+ retries = kw.get("retries", response.retries)
if not isinstance(retries, Retry):
retries = Retry.from_int(retries, redirect=redirect)
--
2.51.0