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