Hi,
I wanted to compile a very simple python package, producing a single python executable:
BuildRequires: python-rpm-macros
BuildRequires: python3-devel
...
%build
%python_build
...
[ 4s] cycle: libpython3_10-1_0 -> python310-base
[ 4s] breaking dependency python310-base -> libpython3_10-1_0
...
[ 9s] [7/138] cumulate python-rpm-macros-20220618.1ed0055-1.1
...
[ 9s] [105/138] cumulate python310-base-3.10.5-2.1
[ 9s] [108/138] cumulate libpython3_10-1_0-3.10.5-2.1
[ 9s] [125/138] cumulate python310-devel-3.10.5-2.1
...
[ 19s] ++ '[' -f _current_flavor ']'
[ 19s] ++ true
[ 19s] + last_flavor=
[ 19s] + '[' -z '' ']'
[ 19s] + last_flavor=tmp
[ 19s] + '[' tmp '!=' python38 ']'
[ 19s] + '[' -d build ']'
[ 19s] + '[' -d _build.python38 ']'
[ 19s] + echo python38
[ 19s] + python_flavor=python38
[ 19s] + /usr/bin/python3.8 setup.py build '--executable=/usr/bin/python3.8 -s'
[ 19s] /var/tmp/rpm-tmp.tD3Phe: line 44: /usr/bin/python3.8: No such file or directory
[ 19s] error: Bad exit status from /var/tmp/rpm-tmp.tD3Phe (%build)
However, when using %python3_build things start to work:
BuildRequires: python-rpm-macros
BuildRequires: python3-devel
...
%build
%python3_build
...
[ 4s] cycle: libpython3_10-1_0 -> python310-base
[ 4s] breaking dependency python310-base -> libpython3_10-1_0
...
[ 9s] [7/138] cumulate python-rpm-macros-20220618.1ed0055-1.1
...
[ 9s] [105/138] cumulate python310-base-3.10.5-2.1
[ 9s] [108/138] cumulate libpython3_10-1_0-3.10.5-2.1
[ 9s] [125/138] cumulate python310-devel-3.10.5-2.1
...
[ 18s] ++ '[' -f _current_flavor ']'
[ 18s] ++ true
[ 18s] + last_flavor=
[ 18s] + '[' -z '' ']'
[ 18s] + last_flavor=tmp
[ 18s] + '[' tmp '!=' python3 ']'
[ 18s] + '[' -d build ']'
[ 18s] + '[' -d _build.python3 ']'
[ 18s] + echo python3
[ 18s] + python_flavor=python3
[ 18s] + /usr/bin/python3 setup.py build '--executable=/usr/bin/python3 -s'
But all wiki documentation suggests to use %python_build.
Shouldn't all this work automagically?
Confused,
Manfred