Blob Blame History Raw
%__pythonname_provides() %{lua:
    local python = require 'fedora.srpm.python'
    -- this macro is called for each file in a package, the path being in %1
    -- but we don't need to know the path, so we would get for each file: Macro %1 defined but not used within scope
    -- in here, we expand %name conditionally on %1 to suppress the warning
    local name = rpm.expand('%{?1:%{name}}')
    local evr = rpm.expand('%{?epoch:%{epoch}:}%{version}-%{release}')
    local provides = python.python_altprovides_once(name, evr)
    -- provides is either an array/table or nil
    -- nil means the function was already called with the same arguments:
    --   either with another file in %1 or manually via %py_provides
    if provides then
      for i, provide in ipairs(provides) do
          print(provide .. ' ')
        end
    end
}

%__pythonname_obsoletes() %{?rhel:%{lua:
    -- On CentOS/RHEL we automatically generate Obsoletes tags in the form:
    --   package python3-foo -> Obsoletes: python3.XY-foo
    -- This provides a clean upgrade path between major versions of CentOS/RHEL.
    -- In Fedora this is not needed as we don't ship ecosystem packages
    -- for alternative Python interpreters.
    local python = require 'fedora.srpm.python'
    -- this macro is called for each file in a package, the path being in %1
    -- but we don't need to know the path, so we would get for each file: Macro %1 defined but not used within scope
    -- in here, we expand %name conditionally on %1 to suppress the warning
    local name = rpm.expand('%{?1:%{name}}')
    local evr = rpm.expand('%{?epoch:%{epoch}:}%{version}-%{release}')
    local obsoletes = python.python_altobsoletes_once(name, evr)
    -- obsoletes is either an array/table or nil
    -- nil means the function was already called with the same arguments:
    --   either with another file in %1 or manually via %py_provides
    if obsoletes then
      for i, obsolete in ipairs(obsoletes) do
          print(obsolete .. ' ')
        end
    end
}}

%__pythonname_path ^/