Blob Blame History Raw
%__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:]]+))$