Add common Lua functions, use a Lua function in %python_provide

This commit is contained in:
Miro Hrončok 2020-04-28 15:31:23 +02:00
commit b314efc5a7
3 changed files with 51 additions and 25 deletions

View file

@ -53,43 +53,32 @@
}
%python_provide() %{lua:
local python = require "fedora.srpm.python"
function string.starts(String,Start)
return string.sub(String,1,string.len(Start))==Start
end
package = rpm.expand("%{?1}")
vr = rpm.expand("%{?epoch:%{epoch}:}%{version}-%{release}")
local package = rpm.expand("%{?1}")
local vr = rpm.expand("%{?epoch:%{epoch}:}%{version}-%{release}")
local altnames = python.python_altnames(package)
if (string.starts(package, "python3-")) then
print("\\nProvides: python-")
print(string.sub(package,9,string.len(package)))
print(" = ")
print(vr)
print("\\nProvides: python" .. rpm.expand("%{__default_python3_pkgversion}") .. "-")
print(string.sub(package,9,string.len(package)))
print(" = ")
print(vr)
for i, altname in ipairs(altnames) do
print("\\nProvides: " .. altname .. " = " .. vr)
end
--Obsoleting the previous default python package (if it doesn't have isa)
if (string.sub(package, "-1") ~= ")") then
print("\\nObsoletes: python-")
print(string.sub(package,9,string.len(package)))
print(" < ")
print(vr)
print(" < " .. vr)
end
elseif (string.starts(package, "python" .. rpm.expand("%{__default_python3_pkgversion}") .. "-")) then
print("\\nProvides: python-")
l = 8 + string.len(rpm.expand("%{__default_python3_pkgversion}"))
print(string.sub(package,l,string.len(package)))
print(" = ")
print(vr)
print("\\nProvides: python3-")
print(string.sub(package,l,string.len(package)))
print(" = ")
print(vr)
for i, altname in ipairs(altnames) do
print("\\nProvides: " .. altname .. " = " .. vr)
end
--Obsoleting the previous default python package (if it doesn't have isa)
if (string.sub(package, "-1") ~= ")") then
print("\\nObsoletes: python-")
print(string.sub(package,l,string.len(package)))
print(" < ")
print(vr)
print(string.sub(package,10,string.len(package)))
print(" < " .. vr)
end
elseif (string.starts(package, "python")) then
--No unversioned provides as other python3 cases are not the default