✘✘ GRAYBYTE WORDPRESS FILE MANAGER ✘✘

​🇳​​🇦​​🇲​​🇪♯➤ server.blackpussy.asia ​🇻​♯➤ 5.14.0-611.20.1.el9_7.x86_64 #1 SMP 🇾​♯➤ 2026

𝗛𝗢𝗠𝗘 𝗜𝗗 ♯➤ 163.245.207.76 ♯➤ 𝗔𝗗𝗠𝗜𝗡 𝗜𝗗 216.73.216.243
𝗢𝗣𝗧𝗜𝗢𝗡𝗦 ♯ CRL ♯➤ 𝗢𝗞 ┃ WGT ♯➤ 𝗢𝗞 ┃ SDO ♯➤ 𝗢𝗞 ┃ PKEX ♯➤ 𝗢𝗙𝗙
𝗗𝗘𝗔𝗖𝗧𝗜𝗩𝗔𝗧𝗘𝗗 ♯➤ mail,mb_send_mail
𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /usr/lib/rpm/lua/fedora/srpm//python.lua
-- Convenience Lua functions that can be used within Python srpm/rpm macros

-- Determine alternate names provided from the given name.
-- Used in pythonname provides generator, python_provide and py_provides.
-- If only_3_to_3_X is false/nil/unused there are 2 rules:
--  python3-foo  -> python-foo, python3.X-foo
--  python3.X-foo -> python-foo, python3-foo
-- If only_3_to_3_X is true there is only 1 rule:
--  python3-foo  -> python3X-foo
-- There is no python-foo -> rule, python-foo packages are version agnostic.
-- Returns a table/array with strings. Empty when no rule matched.
local function python_altnames(name, only_3_to_3_X)
  local xy
  if only_3_to_3_X then
    -- Here we hardcode the xy prefix we want to obsolete to "39", because:
    -- 1. Python 3.9 will remain the main Python version in RHEL 9
    -- 2. python39 in RHEL 8 is still using the dotless naming (as opposed to
    --    python3.9)
    xy = "39"
  else
    xy = rpm.expand('%{__default_python3_pkgversion}')
  end
  local altnames = {}
  local replaced
  -- NB: dash needs to be escaped!
  if name:match('^python3%-') then
    local prefixes = only_3_to_3_X and {} or {'python-'}
    for i, prefix in ipairs({'python' .. xy .. '-', table.unpack(prefixes)}) do
      replaced = name:gsub('^python3%-', prefix)
      table.insert(altnames, replaced)
    end
  elseif name:match('^python' .. xy .. '%-') and not only_3_to_3_X then
    for i, prefix in ipairs({'python-', 'python3-'}) do
      replaced = name:gsub('^python' .. xy .. '%-', prefix)
      table.insert(altnames, replaced)
    end
  end
  return altnames
end


local function __python_alttags(name, evr, tag_type)
  -- for the "provides" tag_type we want also unversioned provides
  local only_3_to_3_X = tag_type ~= "provides"
  local operator = tag_type == "provides" and ' = ' or ' < '

  -- global cache that tells what package NEVRs were already processed for the
  -- given tag type
  if __python_alttags_beenthere == nil then
    __python_alttags_beenthere = {}
  end
  if __python_alttags_beenthere[tag_type] == nil then
    __python_alttags_beenthere[tag_type] = {}
  end
  __python_alttags_beenthere[tag_type][name .. ' ' .. evr] = true
  local alttags = {}
  for i, altname in ipairs(python_altnames(name, only_3_to_3_X)) do
    table.insert(alttags, altname .. operator .. evr)
  end
  return alttags
end

-- For any given name and epoch-version-release, return provides except self.
-- Uses python_altnames under the hood
-- Returns a table/array with strings.
local function python_altprovides(name, evr)
  return __python_alttags(name, evr, "provides")
end

-- For any given name and epoch-version-release, return versioned obsoletes except self.
-- Uses python_altnames under the hood
-- Returns a table/array with strings.
local function python_altobsoletes(name, evr)
  return __python_alttags(name, evr, "obsoletes")
end


local function __python_alttags_once(name, evr, tag_type)
  -- global cache that tells what provides were already processed
  if __python_alttags_beenthere == nil
      or __python_alttags_beenthere[tag_type] == nil
      or __python_alttags_beenthere[tag_type][name .. ' ' .. evr] == nil then
    return __python_alttags(name, evr, tag_type)
  else
    return nil
  end
end

-- Like python_altprovides but only return something once.
-- For each argument can only be used once, returns nil otherwise.
-- Previous usage of python_altprovides counts as well.
local function python_altprovides_once(name, evr)
  return __python_alttags_once(name, evr, "provides")
end

-- Like python_altobsoletes but only return something once.
-- For each argument can only be used once, returns nil otherwise.
-- Previous usage of python_altobsoletes counts as well.
local function python_altobsoletes_once(name, evr)
  return __python_alttags_once(name, evr, "obsoletes")
end


return {
  python_altnames = python_altnames,
  python_altprovides = python_altprovides,
  python_altobsoletes = python_altobsoletes,
  python_altprovides_once = python_altprovides_once,
  python_altobsoletes_once = python_altobsoletes_once,
}

Current_dir [ 𝗡𝗢𝗧 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]

Current_dir [ 𝗡𝗢𝗧 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
17 Jan 2026 3.14 PM
root / root
0755
fonts.lua
8.516 KB
2 Apr 2020 10.55 PM
root / root
0644
forge.lua
15.256 KB
17 Sep 2025 7.15 AM
root / root
0644
go.lua
16.021 KB
31 Mar 2026 6.33 PM
root / root
0644
python.lua
3.997 KB
1 Oct 2024 12.15 PM
root / root
0644

✘✘ GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME ✘✘
Static GIF Static GIF