Generate provides for /app-installed flatpak builds
The generator deliberately does not use %{_prefix} in order to avoid
generating provides for packages that set a custom prefix. This is done
to ensure that provides are only generated for paths where the Python
interpreter actually loads modules from.
As we can't use %{_prefix} (which would make it all much simpler), this
commit adds a conditional to look in /app only when the %flatpak macro
is defined, and /usr otherwise.
This should fix provides generation for /app-installed flatpak builds.
This commit is contained in:
parent
d6993270c2
commit
47a0b37ac0
3 changed files with 14 additions and 7 deletions
14
python.attr
14
python.attr
|
|
@ -5,8 +5,10 @@
|
|||
-- python(abi) = MAJOR.MINOR
|
||||
-- (Don't match against -config tools e.g. /usr/bin/python2.6-config)
|
||||
local path = rpm.expand('%1')
|
||||
if path:match('/usr/bin/python%d+%.%d+$') then
|
||||
local provides = path:gsub('.*/usr/bin/python(%d+%.%d+)', 'python(abi) = %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
|
||||
}
|
||||
|
|
@ -18,10 +20,12 @@
|
|||
-- generating a line of the form:
|
||||
-- python(abi) = MAJOR.MINOR
|
||||
local path = rpm.expand('%1')
|
||||
if path:match('/usr/lib%d*/python%d+%.%d+/.*') then
|
||||
local requires = path:gsub('.*/usr/lib%d*/python(%d+%.%d+)/.*', 'python(abi) = %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 ^((%{_prefix}/lib(64)?/python[[:digit:]]+\\.[[:digit:]]+/.*\\.(py[oc]?|so))|(%{_bindir}/python[[:digit:]]+\\.[[:digit:]]+))$
|
||||
%__python_path ^((%{?!flatpak:/usr}%{?flatpak:/app}/lib(64)?/python[[:digit:]]+\\.[[:digit:]]+/.*\\.(py[oc]?|so))|(%{_bindir}/python[[:digit:]]+\\.[[:digit:]]+))$
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue