Hi Ben, On 07.07.22 at 13:20 Ben Greiner wrote:
Am 07.07.22 um 08:21 schrieb Johannes Kastl:
No, nothing special:
https://build.opensuse.org/projects/home:ojkastl_buildservice:docker_compose...
I checked it. Because python-rpm-macros is not pulled in at all (no requirement on rpm-build-python), the rpmbuild used the prjconf definition from Factory without honoring the switch from python_module_iter to python_modules_lua. A BuildRequires: python-rpm-macros would have resolved it:
https://build.opensuse.org/projects/openSUSE:Factory/prjconf # prjconf definitions for python-rpm-macros # This method for generating python_modules gets too deep to expand for rpm at about 5 python flavors. # Hence, python_module_iter is replaced by python_module_lua in macros.lua. # However, OBS cannot expand lua, but has a much higher expansion depth, so this works fine for the server side resolver. %python_module_iter(a:) %{expand:%%define python %{-a*}} ( %python-%args ) %{expand:%%{?!python_module_iter_%1:%%{python_module_iter -a%*}}%%{?python_module_iter_%1}} # pseudo-undefine for obs: reset for the next expansion within the next call of python_module %python_module_iter_STOP %global python %%%%python %python_module() %{?!python_module_lua:%{expand:%%define args %{**}} %{expand:%%{python_module_iter -a %{pythons} STOP}}}%{?python_module_lua:%python_module_lua %{**}}
Thanks for digging into this and the explanation. Nice to learn something new everyday... :-) Johannes -- Johannes Kastl Linux Consultant & Trainer Tel.: +49 (0) 151 2372 5802 Mail: kastl@b1-systems.de B1 Systems GmbH Osterfeldstraße 7 / 85088 Vohburg http://www.b1-systems.de GF: Ralph Dehner Unternehmenssitz: Vohburg / AG: Ingolstadt,HRB 3537