Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to define a rpm spec macro with empty body?

the problem is quite easy to exhibit:

rpm --eval "%define xyz"
error: Macro %xyz has empty body

i want to get the patch_level and echo_dist may return sles11 or sles11sp1, for sle1s11 i just want the patch_level to be an empty string, but that leads to the empty body error.

rpm --eval "%{expand: %%define patch_level %(echo_dist | sed -e "s/sles11//")}

i am not fully understand the rpm spec file, any suggestion to the problem?

like image 674
Dyno Fu Avatar asked Aug 13 '10 07:08

Dyno Fu


People also ask

Where are RPM macros defined?

There is a macros file (among many others) in /usr/lib/rpm (usually): the definition can be found in there.


1 Answers

This might be what you are looking for:

%define xyz %{nil}
like image 136
user318904 Avatar answered Sep 28 '22 10:09

user318904