【spec】字段%bcond_with(out)

发布时间 2023-09-11 11:15:12作者: 苏格拉底的落泪

字段%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 否则会执行。

 

参考资料

1. 字段%bcond_with(out)