common: add a setcurrent helper
This commit is contained in:
parent
7b6ec4668c
commit
353f8b9faf
21
common.lua
21
common.lua
@ -2,7 +2,7 @@
|
||||
|
||||
-- Set a spec variable
|
||||
-- Echo the result if verbose
|
||||
local function explicitset(rpmvar,value,verbose)
|
||||
local function explicitset(rpmvar, value, verbose)
|
||||
local value = value
|
||||
if (value == nil) or (value == "") then
|
||||
value = "%{nil}"
|
||||
@ -15,7 +15,7 @@ end
|
||||
|
||||
-- Unset a spec variable if it is defined
|
||||
-- Echo the result if verbose
|
||||
local function explicitunset(rpmvar,verbose)
|
||||
local function explicitunset(rpmvar, verbose)
|
||||
if (rpm.expand("%{" .. rpmvar .. "}") ~= "%{" .. rpmvar .. "}") then
|
||||
rpm.define(rpmvar .. " %{nil}")
|
||||
if verbose then
|
||||
@ -26,7 +26,7 @@ end
|
||||
|
||||
-- Set a spec variable, if not already set
|
||||
-- Echo the result if verbose
|
||||
local function safeset(rpmvar,value,verbose)
|
||||
local function safeset(rpmvar, value, verbose)
|
||||
if (rpm.expand("%{" .. rpmvar .. "}") == "%{" .. rpmvar .. "}") then
|
||||
explicitset(rpmvar,value,verbose)
|
||||
end
|
||||
@ -34,7 +34,7 @@ end
|
||||
|
||||
-- Alias a list of rpm variables to the same variables suffixed with 0 (and vice versa)
|
||||
-- Echo the result if verbose
|
||||
local function zalias(rpmvars,verbose)
|
||||
local function zalias(rpmvars, verbose)
|
||||
for _, sfx in ipairs({{"","0"},{"0",""}}) do
|
||||
for _, rpmvar in ipairs(rpmvars) do
|
||||
local toalias = "%{?" .. rpmvar .. sfx[1] .. "}"
|
||||
@ -45,6 +45,18 @@ local function zalias(rpmvars,verbose)
|
||||
end
|
||||
end
|
||||
|
||||
-- Takes a list of rpm variable roots and a suffix and alias current<root> to
|
||||
-- <root><suffix> if it resolves to something not empty
|
||||
local function setcurrent(rpmvars, suffix, verbose)
|
||||
for _, rpmvar in ipairs(rpmvars) do
|
||||
if (rpm.expand("%{?" .. rpmvar .. suffix .. "}") ~= "") then
|
||||
explicitset( "current" .. rpmvar, "%{" .. rpmvar .. suffix .. "}", verbose)
|
||||
else
|
||||
explicitunset("current" .. rpmvar, verbose)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Echo the list of rpm variables, with suffix, if set
|
||||
local function echovars(rpmvars, suffix)
|
||||
for _, rpmvar in ipairs(rpmvars) do
|
||||
@ -106,6 +118,7 @@ return {
|
||||
explicitunset = explicitunset,
|
||||
safeset = safeset,
|
||||
zalias = zalias,
|
||||
setcurrent = setcurrent,
|
||||
echovars = echovars,
|
||||
getsuffixed = getsuffixed,
|
||||
getsuffixes = getsuffixes,
|
||||
|
@ -66,7 +66,7 @@ end
|
||||
-- The forgemeta macro main processing function
|
||||
-- See the documentation in the macros.forge file for argument description
|
||||
-- Also called directly by gometa
|
||||
local function forgemeta(suffix, verbose, informative, silent)
|
||||
local function meta(suffix, verbose, informative, silent)
|
||||
local fedora = require "fedora.common"
|
||||
local ismain = (suffix == "") or (suffix == "0")
|
||||
if ismain then
|
||||
@ -250,6 +250,6 @@ local function forgemeta(suffix, verbose, informative, silent)
|
||||
end
|
||||
|
||||
return {
|
||||
forgemeta = forgemeta,
|
||||
meta = meta,
|
||||
}
|
||||
|
||||
|
@ -53,10 +53,10 @@ local silent = rpm.expand("%{-s}") ~= ""
|
||||
local processall = (rpm.expand("%{-a}") ~= "") and (rpm.expand("%{-z}") == "")
|
||||
if processall then
|
||||
for _,s in pairs(fedora.getsuffixes("forgeurl")) do
|
||||
forge.forgemeta(s,verbose,informative,silent)
|
||||
forge.meta(s,verbose,informative,silent)
|
||||
end
|
||||
else
|
||||
forge.forgemeta(rpm.expand("%{-z*}"),verbose,informative,silent)
|
||||
forge.meta(rpm.expand("%{-z*}"),verbose,informative,silent)
|
||||
end
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user