| Summary: | www/mitmproxy: Fails to build after py-asgiref 3.4.1 upgrade | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | Ports & Packages | Reporter: | p5B2EA84B3 | ||||||||
| Component: | Individual Port(s) | Assignee: | freebsd-ports-bugs (Nobody) <ports-bugs> | ||||||||
| Status: | Closed FIXED | ||||||||||
| Severity: | Affects Many People | CC: | gaod, lwhsu, python, wen | ||||||||
| Priority: | --- | Keywords: | needs-qa, regression | ||||||||
| Version: | Latest | Flags: | gaod:
maintainer-feedback+
koobs: maintainer-feedback? (wen) |
||||||||
| Hardware: | Any | ||||||||||
| OS: | Any | ||||||||||
| Bug Depends on: | 258500 | ||||||||||
| Bug Blocks: | |||||||||||
| Attachments: |
|
||||||||||
^Triage: Request feedback from committer of asgiref update mitmproxy port correctly declares a pinned max version [1] [1] py38-asgiref>=3.2.10<3.4 : www/py-asgiref@py38 (In reply to Kubilay Kocak from comment #1) Upstream changed the asgiref depends to: asgiref>=3.2.10<3.4 shall we update RUN_DEPENDS as it ? wen (In reply to Kubilay Kocak from comment #1) Sorry, upstream changed the asgiref depends to: asgiref>=3.2.10<3.5 shall we update RUN_DEPENDS as it ? wen Created attachment 226354 [details]
www_mitmproxy.patch
I've attached a patch for that.
Ooops, it seems we still need a patch for 6.0.2. I'll make a new patch later. Created attachment 226359 [details]
www_mitmproxy.patch
# https://packaging.python.org/en/latest/requirements/#install-requires # It is not considered best practice to use install_requires to pin dependencies to specific versions. With this wisdom found there: https://bugs.freebsd.org/bugzilla/attachment.cgi?id=226359&action=diff#b/www/mitmproxy/files/patch-setup.py_sec1 I do wonder why these are still used here. They should be used only preventing to break a port but not for intentionally breaking if any dependency got a working upgrade. (In reply to Hung-Yi Chen from comment #6) Does mitmproxy pass its tests with only the setup.py patch and no other source changes? Can you point us to relevent upstream issue, pr's and/or commits If the port doesn't yet have TEST_DEPENDS and a test target, this is a good opportunity to add them. While I'm absolute sure that all Python-Port-Maintainers internalized the whole https://wiki.freebsd.org/Python/PortsPolicy and beyond, I like to point the more casual readers (those looking for distraction and entertainment) to this: Use common sense for upstream version requirements that set maximum versions or pin very specific versions, eg: ==, <=, and more importantly to https://wiki.freebsd.org/Python/PortsPolicy#Upstreaming Python port maintainers SHOULD (strongly encouraged) aim to: * Craft port patches that are likely to be accepted upstream, even if they are committed locally first. * Create upstream issues for bug reports and enhancement requests. Eg: - Better documented requirements in install_requires, tests_require, setup_requires - Optional dependencies made a part of extras_require - Support for python setup.py test command (for regression testing) ... * Regularly test and report test suite failures of Python packages on FreeBSD. Python-(Upstream)-Dependencies have become more and more a wickerwork that should be addressed where it comes from. More communication with Python-upstream is needed because more and more Python-Environmentists are trying to survive in virtual environments, condas and the like, which results in a never-touch-again-mentality if got something to work at least for a while. The port still does not build: =======================<phase: run-depends >============================ ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 ===> mitmproxy-6.0.2 depends on package: py38-asgiref>=3.2.10<3.4 - not found ===> Installing existing package /packages/All/py38-asgiref-3.4.1.pkg [12amd64-default-jails-job-02] Installing py38-asgiref-3.4.1... [12amd64-default-jails-job-02] Extracting py38-asgiref-3.4.1: .......... done ===> mitmproxy-6.0.2 depends on package: py38-asgiref>=3.2.10<3.4 - not found *** Error code 1 Stop. make: stopped in /usr/ports/www/mitmproxy =>> Cleaning up wrkdir ===> Cleaning for mitmproxy-6.0.2 build of www/mitmproxy | mitmproxy-6.0.2 ended at Tue Sep 14 10:00:53 CEST 2021 build time: 00:00:07 !!! build failure encountered !!! A patch exists: Hung-Yi Chen 2021-07-10 21:01:36 UTC A commit never happened. Upstream moved to 7.0.2 (4 August 2021). Work on this bug seam to be stuck. What action has to be taken here? Maintainer created https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=258500 |
Created attachment 226319 [details] poudriere build log file =========================================================================== =======================<phase: run-depends >============================ ===> Installing existing package /packages/All/py38-asgiref-3.4.1.txz [12amd64-default-jails-job-04] Installing py38-asgiref-3.4.1... [12amd64-default-jails-job-04] Extracting py38-asgiref-3.4.1: .......... done *** Error code 1 Stop. =>> Cleaning up wrkdir build time: 00:00:17 !!! build failure encountered !!!