字段%bcond_with(out)
在编写rpm包的spec文件过程中,我们通常会遇到如下字段:
%bcond_without tests
这类定义一般出现在spec文件的开头,通常在后文中还会有引用,作为某个判断的标准,来确定是否执行这个if block,如
%if %{with tests}
如果按如上方式编写,会不会执行呢?
如果单从字面意思来看,开头定义without,后面判断是否with tests,当然是没有!所以这个if block不会执行。恰恰相反,这个block是会执行的。
可以理解为 %bcond_with 需要显示声明 with 否则不会执行。同样 %bcond_without 需要显示声明 without 否则会执行。