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