#65 Fix and verify bundled provides with %{_rpmconfigdir}/pythonbundles.py, use %pytest, cleanup Conflicts
Merged 3 years ago by churchyard. Opened 3 years ago by churchyard.
rpms/ churchyard/python-pip bundled_verify  into  master

file modified
+30 -30
@@ -18,7 +18,7 @@ 

  # When updating, update the bundled libraries versions bellow!

  # You can use vendor_meta.sh in the dist git repo

  Version:        %{base_version}%{?prerel:~%{prerel}}

- Release:        4%{?dist}

+ Release:        5%{?dist}

  Summary:        A tool for installing and managing Python packages

  

  # We bundle a lot of libraries with pip, which itself is under MIT license.
@@ -122,30 +122,32 @@ 

  

  

  # Virtual provides for the packages bundled by pip.

- # You can find the versions in src/pip/_vendor/vendor.txt file.

+ # 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(appdirs)) = 1.4.3

- Provides: bundled(python%{1}dist(CacheControl)) = 0.12.6

- Provides: bundled(python%{1}dist(certifi)) = 2019.11.28

+ Provides: bundled(python%{1}dist(cachecontrol)) = 0.12.6

+ Provides: bundled(python%{1}dist(certifi)) = 2020.4.5.1

  Provides: bundled(python%{1}dist(chardet)) = 3.0.4

  Provides: bundled(python%{1}dist(colorama)) = 0.4.3

- Provides: bundled(python%{1}dist(contextlib2)) = 0.6.0

- Provides: bundled(python%{1}dist(distlib)) = 0.3.0

- Provides: bundled(python%{1}dist(distro)) = 1.4.0

+ Provides: bundled(python%{1}dist(contextlib2)) = 0.6^post1

+ Provides: bundled(python%{1}dist(distlib)) = 0.3

+ Provides: bundled(python%{1}dist(distro)) = 1.5

  Provides: bundled(python%{1}dist(html5lib)) = 1.0.1

- Provides: bundled(python%{1}dist(idna)) = 2.8

+ Provides: bundled(python%{1}dist(idna)) = 2.9

  Provides: bundled(python%{1}dist(ipaddress)) = 1.0.23

- Provides: bundled(python%{1}dist(msgpack)) = 0.6.2

- Provides: bundled(python%{1}dist(packaging)) = 20.1

- Provides: bundled(python%{1}dist(pep517)) = 0.7.0

+ Provides: bundled(python%{1}dist(msgpack)) = 1

+ Provides: bundled(python%{1}dist(packaging)) = 20.3

+ Provides: bundled(python%{1}dist(pep517)) = 0.8.2

  Provides: bundled(python%{1}dist(progress)) = 1.5

- Provides: bundled(python%{1}dist(pyparsing)) = 2.4.6

- Provides: bundled(python%{1}dist(pytoml)) = 0.1.21

- Provides: bundled(python%{1}dist(requests)) = 2.22.0

+ Provides: bundled(python%{1}dist(pyparsing)) = 2.4.7

+ Provides: bundled(python%{1}dist(requests)) = 2.23

+ Provides: bundled(python%{1}dist(resolvelib)) = 0.3

  Provides: bundled(python%{1}dist(retrying)) = 1.3.3

- Provides: bundled(python%{1}dist(setuptools)) = 44.0.0

- Provides: bundled(python%{1}dist(six)) = 1.14.0

- Provides: bundled(python%{1}dist(urllib3)) = 1.25.7

+ Provides: bundled(python%{1}dist(setuptools)) = 44

+ Provides: bundled(python%{1}dist(six)) = 1.14

+ Provides: bundled(python%{1}dist(toml)) = 0.10

+ Provides: bundled(python%{1}dist(urllib3)) = 1.25.8

  Provides: bundled(python%{1}dist(webencodings)) = 0.5.1

  }

  
@@ -173,7 +175,9 @@ 

  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

- BuildRequires:  python%{python3_pkgversion}-rpm-generators

+ # 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:  python%{python3_pkgversion}-setuptools

  BuildRequires:  bash-completion

  %if %{with tests}
@@ -204,12 +208,6 @@ 

  Provides:       pip = %{version}-%{release}

  Conflicts:      python-pip < %{version}-%{release}

  

- # %%pyX_install_wheel and %%pyproject_install was adapted to workaround PEP 610 handling in pip 20.1+

- # (This explicit conflict can be removed after we update to Python 3.9)

- Conflicts: python-rpm-macros < 3.8-4

- Conflicts: python3-rpm-macros < 3.8-4

- Conflicts: pyproject-rpm-macros < 0-15

- 

  %{crypt_compat_recommends 3}

  

  %description -n python%{python3_pkgversion}-%{srcname}
@@ -342,6 +340,10 @@ 

  

  %if %{with tests}

  %check

+ # Verify bundled provides are up to date

+ %{_rpmconfigdir}/pythonbundles.py src/pip/_vendor/vendor.txt --compare-with '%{bundled 3}'

+ 

+ # Upstream tests

  # bash completion tests only work from installed package

  # needs unaltered sys.path and we cannot do that in %%check

  #     test_pep517_and_build_options
@@ -360,16 +362,11 @@ 

            not test_from_link_vcs_without_source_dir and

            not test_should_cache_git_sha'

  

- mkdir _bin

- export PATH="$PWD/_bin:$PATH"

- 

- export PYTHONPATH=%{buildroot}%{python3_sitelib}

- ln -sf %{buildroot}%{_bindir}/pip3 _bin/pip

  # --deselect'ed tests are not compatible with the latest virtualenv

  # These files contain almost 500 tests so we should enable them back

  # as soon as pip will be compatible upstream

  # https://github.com/pypa/pip/pull/8441

- %{__python3} -m pytest -m 'not network' -k "$(echo $pytest_k)" \

+ %pytest -m 'not network' -k "$(echo $pytest_k)" \

      --deselect tests/functional --deselect tests/lib/test_lib.py --deselect tests/unit/test_build_env.py

  %endif

  
@@ -406,6 +403,9 @@ 

  %{python_wheeldir}/%{python_wheelname}

  

  %changelog

+ * 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

  

rebased onto 9df8e8c5ac2d34b5f665d2fb6cecfcca69cf21bd

3 years ago

1 new commit added

  • Cleanup explicit conflicts with old RPM macros
3 years ago

Build succeeded.

+1. Patch LGTM; Zuul scratch build logs show that pytest tests still run; I tried changing a version number and got:

Missing expected provides:
    - Provides: bundled(python3dist(html5lib)) = 1.0.1
Redundant unexpected provides:
    + Provides: bundled(python3dist(html5lib)) = 1.2.3.4

Please merge after squashing the typo

rebased onto 8253bfa

3 years ago

Pull-Request has been merged by churchyard

3 years ago

Build succeeded.