%{lua: function source_macros(file) local macro = nil for line in io.lines(file) do if not macro and line:match("^%%") then macro = line:match("^%%(.*)$") line = nil end if macro then if line and macro:match("^.-%s*\\%s*$") then macro = macro .. '\n' .. line end if not macro:match("^.-%s*\\%s*$") then rpm.define(macro) macro = nil end end end end } # Include the constants defined in macros files. Could be dropped as soon as # RPM supports the %%load macro (RPM 4.12+ probably). # http://lists.rpm.org/pipermail/rpm-maint/2014-February/003659.html %define load() %{lua:source_macros(rpm.expand("%1"))}