Please branch and build python-zeep in epel9
Any chance you could branch it ? Do you need help ? It seems we are still missing few dependencies, I'll try to create a request for each missing Buildrequires: in the meanwhile.
I've requested a branch: https://pagure.io/releng/fedora-scm-requests/issue/45626
Ok, branch is available now and I've merged rawhide into it. First build failed because of missing dependencies: DEBUG util.py:443: No matches found for the following disable plugin patterns: local, spacewalk, versionlock DEBUG util.py:443: No matching package to install: 'python3-aioresponses' DEBUG util.py:443: No matching package to install: 'python3-mock' DEBUG util.py:443: No matching package to install: 'python3-pretend' DEBUG util.py:443: No matching package to install: 'python3-pytest-httpx' DEBUG util.py:443: No matching package to install: 'python3-requests-mock' DEBUG util.py:443: No matching package to install: 'python3-xmlsec' DEBUG util.py:443: Not all dependencies satisfied DEBUG util.py:443: Error: Some packages could not be found. https://kojipkgs.fedoraproject.org//work/tasks/6498/89316498/root.log Of course, python3-aioresponses is expected since it's only available as a dependency when it's marked as stable. Can you take care of the other dependencies? Or perhaps you already did - could you reference these other bug reports as bug dependencies then?
FYI, python-mock won't be branched for EPEL 9 because it's deprecated. See bug 2029156 (and all it's duplicates) for more details. Also, the mock dependency was dropped upstream in version 4.2.0, so as long as the epel9 build targets at least that version it won't need python-mock. https://github.com/mvantellingen/python-zeep/commit/1ddd118956870f9c68a24c9494207dc17441b416 I strongly encourage that python-zeep be ported to the new pyproject macros with automatically generated build dependencies, to avoid incorrect build requirements like this being carried forward after they are no longer needed. https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/
I'll look into the opt-in build-time dependency generator. However, that setup.py perhaps lists the dependencies in a challenging way. For example, in version 4.1, it lists under `tests_requires` a bunch of linting packages which aren't actually required for executing the _test_ suite. Also, tests do require python3-aioresponses which isn't listed in setup.py. So it looks like using the generator would require patching upstream, unless 4.2 already improved this. I'll have a look. FWIW, in the past I manually inspected setup.py dependencies on package upgrades to spot removed ones.
Ok, I looked a bit closer and indeed, in the 4.2 updated I missed the removal of python3-mock and python3-aioresponses. I just tested the build-time dependency generator locally and it seem to catch all the dependencies now. Also, it correctly excluded python3-cached_property since its a conditional dependency just needed for older Python versions. Two things that might need work: The auto-generator also adds python3-devel which seems superfluous because I still have `BuildRequires: python3-devel` to get all the python rpm macros. Thus: ``` $ rpm -qpR /home/juser/rpmbuild/SRPMS/python-zeep-4.2.0-2.fc37.src.rpm | sort | uniq -c | awk '$1 > 1' 2 python3-devel ``` Probably doesn't hurt in practice, because rpm/dnf hopefully deduplicate the dependencies lists before working on them. Also, the auto-generator includes all the version constraints from setup.py, e.g.: python3dist(requests-file) >= 1.5.1 python3dist(requests-toolbelt) >= 0.7.1 IIRC, at some point some Fedora packaging policy discouraged this? However, currently the packaging policy states the following, which seem to cover this: > Packages MAY make full use of the rich (or Boolean) dependency feature supported in RPM. https://docs.fedoraproject.org/en-US/packaging-guidelines/#_richboolean_dependencies Btw, the normal dependency python generator seems to be enabled, by default, nowadays. Thus, I can also remove this line: ``` %{?python_enable_dependency_generator} ```
I pushed an 4.2.1 update to rawhide which uses the new built-time dependency generator and thus doesn't depend on python-mock anymore: https://bodhi.fedoraproject.org/updates/FEDORA-2023-f965dc13a2
Hi, any news on this? We would need it in EPEL 9 too...
Hm, you can check out the list of issues this issue depends on (cf. the `Depends On:` at the top). Right now 2 open issues there block a python3-zeep build in EPEL 9.