New version available, I'll post a patch
Created attachment 205892 [details] patch patch to update port
Taking this PR as discussed with koobs@. Set this PR also as a blocker for bug #229322 (= net/py-urllib3) because www/py-requests 2.22 loosens the pinned requirements for www/py-urllib3 in the setup.py: > 'urllib3>=1.21.1,<1.26,!=1.25.0,!=1.25.1', Once www/py-requests 2.22 lands into the Ports tree we can update www/py-urllib3 to 1.25.6 (if possible).
Created attachment 208789 [details] py-requests-2.22-with-fixed-tests.patch Attached is an updated version based on swills@' initial patch which does following: - Removes obsolete CONFLICTS_INSTALL entry - Backports a patch from upstream that fixes the unittests in conjunction with devel/py-pytest >= 4 - Update the comments regarding the supported Python versions Set maintainer approval for it as it was given implicitly regarding this PR. Also keep swills@' patch for now as it has sorted RUN_DEPENDS which we can commit after www/py-requests 2.22 has landed.
QA is so far ok: - poudriere (11.3-, 12.0-RELEASE, 13.0-CURRENT@r353466 amd64 i386) for each py27 + py36 flavor -> OK - portlint -> OK - "small" exp-run against all direct consumers (= {BUILD,RUN,TEST}_DEPENDS) on 11.3-RELEASE amd64 for py27 + py36 -> OK The upgrade from 2.21 to 2.22 is a rather "small" one because it contains no API changes. The overall condition of the consumers is good so far as given from the list below: > Port | Requirements | Remarks > -------------------------------------+-----------------------+------------------------------------------------------- > astro/py-spacetrack: N/A Noted as 'requests' in setup.py > audio/beets: N/A Noted as 'requests' in setup.py > audio/py-discogs-client: N/A Noted as 'requests' in setup.py > audio/py-gmusicapi: >=1.1.0,!=1.2.0 setup.py /in requirements ==2.11.1 but not used > audio/py-pyacoustid: N/A Noted as 'requests' in setup.py > audio/py-soundcloud: >=0.14.0 setup.py > audio/py-soundscrape: >=2.9.0 requirements.txt > benchmarks/py-locust: >=2.9.1 setup.py > biology/py-Genesis-PyAPI: >=2.6.0 setup.py > biology/py-multiqc: N/A Noted as 'requests' in setup.py > biology/py-orange3-bioinformatics: N/A Noted as 'requests' in requirements.txt > databases/clickhouse: N/A No version given, but required by some Python sources > databases/couchdb2: ==2.20.1 src/mango/requirements.txt, only used for testing > databases/py-influxdb: >=2.17.0 requirements.txt > databases/py-python-arango: N/A Noted as 'requests' in setup.py > databases/py-python-swiftclient: >=1.1.0 requirements.txt > databases/py-sispy: N/A Required by sispy/http.py > databases/py-tableschema: >=2.5 setup.py > deskutils/dosage: >=2.0 requirements.txt > deskutils/py-bugwarrior: N/A Noted as 'requests' in setup.py > deskutils/py-pystash: >=2.2.0 setup.py > deskutils/py-vdirsyncer: >=2.4.1,!=2.9.0 setup.py > deskutils/virt-manager: N/A Required by virtints/install/urlfetcher.py > devel/b2: >=2.9.1 requirements.txt > devel/bpython: N/A Noted as 'requests' in setup.py > devel/euca2ools: N/A Noted as 'requests' in setup.py > devel/git-review: >=1.1 requirements.txt > devel/py-IBMQuantumExperience: N/A Noted as 'requests' in setup.py > devel/py-azure-cosmos: >=2.10.0 setup.py > devel/py-azure-datalake-store: >=2.20.0 setup.py > devel/py-azure-keyvault: >=2.18.4 setup.py > devel/py-azure-multiapi-storage: N/A Noted as 'requests' in setup.py > devel/py-azure-storage-common: N/A Noted as 'requests' in setup.py > devel/py-cabby: >=2.7.0 requirements.txt > devel/py-certsrv: N/A Noted as 'requests' in setup.py > devel/py-codecov: >=2.7.9 setup.py > devel/py-cookiecutter: >=2.18.0 setup.py > devel/py-coreapi: N/A Noted as 'requests' in setup.py > devel/py-flex: >=2.4.3 Noted as 'requests' in setup.py > devel/py-glance-store: >=2.14.2 requirements.txt > devel/py-gtfslib: N/A Noted as 'requests' in setup.py > devel/py-jenkins-job-builder: N/A might not be required anymore, no references in setup.py/code > devel/py-jira: >=2.10.0 requirements.txt > devel/py-jsonref: >=1.2 jsonref.py > devel/py-keystoneauth1: >=2.14.2 requirements.txt > devel/py-keystonemiddleware: >=2.14.2 requirements.txt > devel/py-opengrok-tools: >=2.20.0 setup.py / requirements ==2.20.0, patched out > devel/py-os-brick: >=2.14.2 requirements.txt > devel/py-oslo.policy: >=2.14.2 requirements.txt > devel/py-oslo.vmware: >=2.14.2 requirements.txt > devel/py-osprofiler: >=2.10.0 requirements.txt > devel/py-pooch: N/A Noted as 'requests' in setup.py > devel/py-prance: ~=2.21 setup.py > devel/py-pyfcm: N/A pycfm/__meta__.py > devel/py-pygithub: >=2.14.0 setup.py > devel/py-pymaven-patch: >=2.7.0<3.0.0 requirements.txt > devel/py-pymisp: N/A Noted as 'requests' in setup.py > devel/py-pyral: >=2.12.5 setup.py > devel/py-pytest: N/A Noted as 'requests' in setup.py > devel/py-pytest-localserver: N/A Noted as 'requests' in setup.py > devel/py-python-bugzilla: N/A Noted as 'requests' in requirements.txt > devel/py-python-gist: N/A Noted as 'requests' in setup.py > devel/py-python-gitlab: >=2.4.2 setup.py > devel/py-python-jenkins: N/A Noted as 'requests' in requirements.txt > devel/py-pytvmaze: N/A Noted as 'requests' in requirements.txt > devel/py-rauth: >=1.2.3 setup.py > devel/py-responses: >=2.0 setup.py > devel/py-streamparse: N/A Noted as 'requests' in setup.py > devel/py-tabulator: >=2.8 setup.py > devel/py-tinyrpc: N/A Noted as 'requests' in setup.py > devel/py-twine: >=2.5.0,!2.15!,2.16 setup.py > devel/py-update_checker: >=2.3.0 setup.py > devel/py-wlc: N/A Noted as 'requests' in requirements.txt > devel/py-yandex-money-sdk: >2.4.0 setup.py > devel/py-yarg: N/A Noted as 'requests' in setup.py > devel/youcompleteme: >=2.5.1 ycmd/examples/requirements.txt > dns/py-cloudflare: N/A Noted as 'requests' in setup.py > dns/py-dns-lexicon: N/A Noted as 'requests' in setup.py > dns/py-ns1-python: N/A ns1/rest/resource.py > dns/py-tldextract: >=2.1.0 setup.py > finance/electrum: N/A Seems to use a vendored version now / was required for 3.2.0 > finance/py-stripe: >=2.20 setup.py > games/anki: N/A Noted as 'requests' in requirements.txt > games/craft: N/A server.py > games/pyfa: N/A setup.py with 'import requests.certs' > graphics/py-OWSLib: >=1.0 requirements.txt > graphics/py-imgurpython: N/A Noted as 'requests' in setup.py > graphics/py-plotly: N/A Noted as 'requests' in setup.py > graphics/py-pyepsg: N/A Noted as 'requests' in setup.py > graphics/qgis: N/A Might not be required, tests require Python 3 and urllib.requests is used > graphics/qgis-ltr: N/A Might not be required, tests require Python 3 and urllib.requests is used > graphics/rapid-photo-downloader: N/A Noted as 'requests' in requirements.txt > graphics/variety: N/A Noted as 'requests' in requirements.txt > mail/py-premailer: N/A Noted as 'requests' in setup.py > math/py-nevergrad: >=2.21.0 requirements/bench.txt > math/py-pandas-datareader: >=2.3.0 requirements.txt > misc/orange3: N/A Noted as 'requests' in requirements-core.txt > misc/pubs: N/A Noted as 'requests' in setup.py > misc/py-cinder: >=2.14.2 requirements.txt > misc/py-serverfiles: >=2.11.1 setup.py > misc/py-socli: N/A setup.py / requirements.txt ==2.22.0, only used for CI by Travis > misc/py-toil: >2,<3 setup.py > misc/snakemake: N/A Noted as 'requests' in setup.py > multimedia/livestreamer: >=1.0<3.0 setup.py > multimedia/mythtv: N/A Required by some Python sources > multimedia/py-moviepy: >=2.8.1,<3.0 setup.py > multimedia/py-soco: N/A Noted as 'requests' in requirements.txt > multimedia/py-subliminal: >=2.0 setup.py > net-im/py-fbmq: >=2.0 setup.py > net-im/py-libturpial: N/A Noted as 'requests' in setup.py / requirements.txt >=2.0.0 > net-im/toot: >=2.13<3.0 setup.py > net-mgmt/py-adal: >=2.0.0 setup.py > net-mgmt/py-msrest: ~=2.16 setup.py > net-mgmt/py-nxapi-plumbing: >=2.7.0 requirements.txt > net-mgmt/py-pynxos: >=2.7.0 requirements.txt > net-mgmt/py-pyzabbix: >=1.0 setup.py > net-p2p/tribler: N/A Required by some Python code > net/cloud-init: N/A Noted as 'requests' in requirements.txt > net/cloud-init-azure: N/A Noted as 'requests' in requirements.txt > net/py-GeoIP2: >=2.9 requirements.txt > net/py-cloudflare-scrape-js2py: >=2.9.2 setup.py > net/py-confluent-kafka: N/A Noted as 'requests;python_version<"3.2"' in setup.py > net/py-gspread: >=2.2.1 setup.py > net/py-python-barbicanclient: >=2.10.0 setup.py > net/py-python-ceilometerclient: >=2.8.1,!=2.9.0 requirements.txt > net/py-python-designateclient: >=2.10.0,!=2.12.2 requirements.txt > net/py-python-glanceclient: >=2.14.2 requirements.txt > net/py-python-heatclient: >=2.10.0,!=2.12.2 requirements.txt > net/py-python-keystoneclient: >=2.14.2 requirements.txt > net/py-python-neutronclient: >=2.14.2 requirements.txt > net/py-python-novaclient: N/A Required by some Python code > net/py-python-twitter: N/A Noted as 'requests' in setup.py > net/py-pyvmomi: >=2.3.0 requirements.txt > net/py-rainbowstream: ==2.5.3 setup.py / Patched out > net/py-ripe.atlas.cousteau: >=2.7.0 setup.py > net/py-ripe.atlas.tools: >=2.7.0 setup.py > net/py-sbws: N/A Noted as 'requests' in setup.py > net/py-shodan: >=2.2.1 requirements.txt > net/py-smart_open: N/A Noted as 'requests' in setup.py > net/py-socketio-client: >=2.7.0 setup.py > net/py-softlayer: >=2.18.4 setup.py > net/py-tweepy: >=2.4.3 >=2.4.3 requirements.txt > net/py-zeep: >=2.7.0 setup.py > net/s3ql: N/A Noted as 'requests' in setup.py > ports-mgmt/distilator: N/A Noted as 'requests' in requirements.txt > print/cloudprint: >=2.7.0 setup.py > science/dvc: >=2.18.4 setup.py > science/psychopy: N/A Noted as 'requests' in setup.py > science/py-obspy: N/A Noted as 'requests' in setup.py > science/py-pymatgen: N/A Noted as 'requests' in setup.py / requirements.txt == 2.21.0, but not used > science/py-pyosf: N/A Noted as 'requests' in setup.py > security/metasploit: N/A Required by some Python code > security/py-acme: >=2.6.0 setup.py > security/py-gpsoauth: N/A Noted as 'requests' in setup.py / requirements.txt == 2.9.1, but not used > security/py-pass-audit: N/A Noted as 'requests' in setup.py > security/py-plaso: >=2.18.0 setup.cfg > security/py-pysaml2: >=1.0.0 setup.cfg > security/py-pywinrm: >=2.9.1 setup.py > security/py-requests-credssp: >=2.0.0 setup.py > security/py-requests-kerberos: >=1.0.0 setup.py > security/py-social-auth-core: >=2.9.1 requirements-base.txt > security/py-stix2: N/A Noted as 'requests' in setup.py > security/py-taxii2-client: N/A Noted as 'requests' in setup.py > security/py-trezor: >=2.4.0 setup.py > security/theonionbox: >=2.21 setup.py > security/wapiti: N/A Noted as 'requests' in setup.py > sysutils/ansible: N/A Noted as 'requests' in test/runner/requirements/units.txt > sysutils/docker-compose: <2.21 setup.py / Patched out > sysutils/iocage: >=2.18.4 setup.py > sysutils/iocage-devel: >=2.18.4 setup.py > sysutils/ntfy: N/A Noted as 'requests' in setup.py / requirements.txt == 2.10.0 but not used > sysutils/py-azure-cli: ~=2.22 setup.py > sysutils/py-azure-cli-core: ~=2.20 setup.py > sysutils/py-dlipower: N/A Noted as 'requests' in setup.py > sysutils/py-docker: >=2.14.2,!2.18.0 setup.py > sysutils/py-hcloud: >=2.20,2.23 setup.py > sysutils/py-packet-python: N/A Noted as 'requests' in setup.py > sysutils/py-python-consul: >=2.0 requirements.txt > sysutils/py-python-nomad: N/A Noted as 'requests' in setup.py > sysutils/py-salt: >=1.0.0 base/requirements.txt > textproc/py-duecredit: N/A Noted as 'requests' in setup.py > textproc/py-elasticsearch: >=2.0.0<3.0.0 setup.py > textproc/py-elasticsearch5: >=2.0.0,<3.0.0 setup.py > textproc/py-elasticsearch6: >=2.0.0,<3.0.0 setup.py > textproc/py-sphinx: >=2.0.0 setup.py > textproc/py-transifex-client: >=2.19.1,<3.0.0 setup.py > textproc/scancode-toolkit: >=2.7.0,<3.0.0 setup.py > textproc/xml2rfc: >=2.5.0 requirements.txt > www/buku: >=2.18.4 setup.py > www/chrome-gnome-shell: >=2.0 README.md > www/linkchecker: >=2.2.0 setup.py > www/py-MechanicalSoup: >=2.0 requirements.txt > www/py-arxiv: N/A Noted as 'requests' in setup.py > www/py-aws-requests-auth: >=0.14.0 setup.py > www/py-azure-storage: N/A Noted as 'requests' in setup.py > www/py-bokeh: N/A Required by some Python code > www/py-cachecontrol: N/A Noted as 'requests' in setup.py > www/py-caldav: N/A Noted as 'requests' in setup.py > www/py-ddgr: N/A Might be not needed anymore > www/py-django-allauth: N/A Noted as 'requests' in setup.py > www/py-django-mezzanine: >=2.1.0 setup.py > www/py-falcon: N/A Noted as 'requests' in setup.py > www/py-flexget: >=2.20 requirements.txt > www/py-folium: N/A Noted as 'requests' in requirements.txt > www/py-frappe-bench: N/A Noted as 'requests' in setup.py > www/py-gandi.cli: N/A Noted as 'requests' in setup.py > www/py-google-api-core: >=2.18.0,<3.0.0dev setup.py > www/py-google-resumable-media: >=2.18.0,<3.0.0dev setup.py > www/py-grequests: N/A Noted as 'requests' in requirements.txt > www/py-grip: >=2.4.1 requirements.txt > www/py-httmock: >=1.0.0 setup.py > www/py-httpie: >=2.21.0 setup.py > www/py-hyper: N/A Noted as 'requests' in requirements.txt > www/py-inlinestyler: >=1.0.0 setup.py > www/py-instabot: >=2.21.0 setup.py > www/py-internetarchive: >=2.9.1,<3.0.0 setup.py > www/py-lektor: N/A Noted as 'requests' in setup.py > www/py-mwoauth: N/A Noted as 'requests' in setup.py / ==2.21.0 requirements.txt but not used > www/py-planet: N/A Noted as 'requests' in setup.py > www/py-prawcore: >=2.6.0,<3.0 setup.py > www/py-puppetboard: N/A Required by some Python code / ==1.2.3 in requirements.txt but not used > www/py-puppetboard02: N/A Required by some Python code / ==2.6.0 in requirements.txt but not used > www/py-puppetboard03: >=2.13.0 requirements.txt > www/py-pyocclient: >=2.0.1 setup.py > www/py-python-digitalocean: N/A Noted as 'requests' in setup.py / >=2.2.1 requirements.txt > www/py-pywikibot: >=2.20.0 setup.py > www/py-requestbuilder: >=2.4 setup.py > www/py-requests-aws4auth: N/A Noted as 'requests' in setup.py > www/py-requests-cache: >=1.1.0 setup.py > www/py-requests-file: >=1.0.0 requirements.txt > www/py-requests-futures: >=1.2.0 setup.py > www/py-requests-mock: >=2.3,<3 requirements.txt > www/py-requests-oauthlib: >=2.0.0 requirements.txt > www/py-requests-toolbelt: >=2.0.1,<3.0.0 setup.py > www/py-requests_ntlm: >=2.0.0 setup.py > www/py-rollbar: >=0.12.1 setup.py > www/py-slumber: N/A Noted as 'requests' in setup.py > www/py-sseclient: >=2.9 setup.py > www/py-starlette: N/A Noted as 'requests' in setup.py > www/py-trello: >=0.9.1 setup.py > www/py-treq: >=2.1.0 setup.py > www/py-tvdb_api: N/A Noted as 'requests' in setup.py > www/py-txrequests: >=1.2.0 setup.py > www/py-urlwatch: N/A Noted as 'requests' in setup.py > www/py-wagtail: >=2.11.1,<3.0 setup.py > www/py-weboob: >=2.0.0 setup.py > www/py-wikipedia: >=2.0.0,<3.0.0 requirements.txt > www/py-wsgidav: N/A Required by various sources > www/pycarddav: N/A Noted as 'requests' in setup.py > www/rtv: >=2.4.0 setup.py > www/seahub: N/A Required by various sources / ==2.20.1 in requirements.txt but not used > www/searx: ==2.19.1 requirements.txt but patched out
Asking for an exp-run because www/py-requests is a crucial port and to double check if everything is in order.
A commit references this bug: Author: kai Date: Fri Nov 8 16:44:11 UTC 2019 New revision: 517078 URL: https://svnweb.freebsd.org/changeset/ports/517078 Log: www/py-requests: Update to 2.22.0 * Backport a patch from upstream that fixes the unittests in conjunction with devel/py-pytest >= 4. * Remove obsolete CONFLICTS_INSTALL entry as www/py-requests1 no longer exists in the Ports tree. This update includes a pinned urllib3 version bump to < 1.26, which clears the way for a net/urllib3 update to 1.25.6 [1]. Changelog: https://github.com/requests/requests/blob/v2.22.0/HISTORY.md PR: 239302, 229322 [1] Submitted by: swills (based on) Approved by: koobs (maintainer) MFH: 2019Q4 Changes: head/www/py-requests/Makefile head/www/py-requests/distinfo head/www/py-requests/files/patch-tests_test__utils.py
A commit references this bug: Author: kai Date: Sun Nov 10 14:43:21 UTC 2019 New revision: 517209 URL: https://svnweb.freebsd.org/changeset/ports/517209 Log: MFH: r517078 www/py-requests: Update to 2.22.0 * Backport a patch from upstream that fixes the unittests in conjunction with devel/py-pytest >= 4. * Remove obsolete CONFLICTS_INSTALL entry as www/py-requests1 no longer exists in the Ports tree. This update includes a pinned urllib3 version bump to < 1.26, which clears the way for a net/urllib3 update to 1.25.6 [1]. Changelog: https://github.com/requests/requests/blob/v2.22.0/HISTORY.md PR: 239302, 229322 [1] Submitted by: swills (based on) Approved by: koobs (maintainer) Approved by: ports-secteam (joneum) Changes: _U branches/2019Q4/ branches/2019Q4/www/py-requests/Makefile branches/2019Q4/www/py-requests/distinfo branches/2019Q4/www/py-requests/files/patch-tests_test__utils.py
Comment on attachment 205892 [details] patch ^ Triage: The maintainer-approval was also given for the initial patch that contains sorted {RUN,TEST}_DEPENDS.
A commit references this bug: Author: kai Date: Sun Nov 10 14:53:09 UTC 2019 New revision: 517210 URL: https://svnweb.freebsd.org/changeset/ports/517210 Log: www/py-requests: Sort dependencies * Sort {RUN,TEST}_DEPENDS with portfmt PR: 239302 Submitted by: swills (remaining part of the patch) Approved by: koobs (maintainer) Changes: head/www/py-requests/Makefile
The changes were also merged into the 2019Q4 branch and the dependencies were sorted afterwards on the head branch, all done!
You're a champion Kai, thank you for helping me out on this issue