%__python_provides() %{lua: -- Match buildroot/payload paths of the form -- /PATH/OF/BUILDROOT/usr/bin/pythonMAJOR.MINOR -- generating a line of the form -- python(abi) = MAJOR.MINOR -- (Don't match against -config tools e.g. /usr/bin/python2.6-config) local path = rpm.expand('%1') -- Use /usr prefix by default, and /app for flatpak builds local prefix = rpm.expand('%{?!flatpak:/usr}%{?flatpak:/app}') if path:match(prefix .. '/bin/python%d+%.%d+$') then local provides = path:gsub('.*' .. prefix .. '/bin/python(%d+%.%d+)', 'python(abi) = %1') print(provides) end } %__python_requires() %{lua: -- Match buildroot paths of the form -- /PATH/OF/BUILDROOT/usr/lib/pythonMAJOR.MINOR/ and -- /PATH/OF/BUILDROOT/usr/lib64/pythonMAJOR.MINOR/ -- generating a line of the form: -- python(abi) = MAJOR.MINOR local path = rpm.expand('%1') -- Use /usr prefix by default, and /app for flatpak builds local prefix = rpm.expand('%{?!flatpak:/usr}%{?flatpak:/app}') if path:match(prefix .. '/lib%d*/python%d+%.%d+/.*') then local requires = path:gsub('.*' .. prefix .. '/lib%d*/python(%d+%.%d+)/.*', 'python(abi) = %1') print(requires) end } %__python_path ^((%{?!flatpak:/usr}%{?flatpak:/app}/lib(64)?/python[[:digit:]]+\\.[[:digit:]]+/.*\\.(py[oc]?|so))|(%{_bindir}/python[[:digit:]]+\\.[[:digit:]]+))$