如何用空体定义rpm spec宏?

Dyn*_* Fu 10 specifications rpm

问题很容易展现:

rpm --eval "%define xyz"
error: Macro %xyz has empty body
Run Code Online (Sandbox Code Playgroud)

我想得到patch_level并且echo_dist可以返回sles11或sles11sp1,对于sle1s11我只想让patch_level成为一个空字符串,但这会导致空体错误.

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

我不完全理解rpm规范文件,对问题的任何建议?

use*_*904 20

这可能是您正在寻找的:

%define xyz %{nil}
Run Code Online (Sandbox Code Playgroud)