tags:

views:

70

answers:

2

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?

+1  A: 

Try

%define xyz %100

supposed to expand to the 100's parameter to the macro which will be empty.

m1tk4
+1  A: 

This might be what you are looking for:

%define xyz %{nil}
i think this should be the answer. althou not test by myself yet.
Dyno Fu