gpt4 book ai didi

linux - RPM 包中 SPEC 文件中 1%{?dist} 的含义是什么

转载 作者:IT王子 更新时间:2023-10-29 00:50:49 24 4
gpt4 key购买 nike

1%{?dist} 是什么意思?这是什么意思?我在任何地方都找不到这个的意思

Name:           hello
Version: 2.8
Release: 1%{?dist}
Summary: The "Hello World" program from GNU
License: GPLv3+
URL: http://ftp.gnu.org/gnu/%{name}
Source0: http://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz
BuildRequires: gettext
Requires(post): info
Requires(preun): info
%description

“Hello World”程序,使用适当的 FOSS 的所有功能完成项目,包括配置、构建、国际化、帮助文件等。

%prep
%autosetup
%build
%configure
make %{?_smp_mflags}

最佳答案

问号用于条件评估。当宏没有值时,rpm 默认保留宏标记。 ? 告诉 rpm 在没有值的情况下删除宏标记,如果有则替换宏的值:

$ rpm -E 'foo:%{foo}'$'\n''bar:%{?bar}'
foo:%{foo}
bar:

$ rpm -D'foo foov' -E 'foo:%{foo}'$'\n''bar:%{?bar}'
foo:foov
bar:

$ rpm -D'foo foov' -D'bar barv' -E 'foo:%{foo}'$'\n''bar:%{?bar}'
foo:foov
bar:barv

所以,正如 RahulKrishnanRA 所说,%{?dist} 说使用分发标签 (rh, el5, rf 等)存在时为空字符串,不存在时为空字符串。

不幸的是,我仅有的关于此的文档链接并不是特别好。 http://www.rpm.org/wiki/PackagerDocs/ConditionalBuilds以及链接的手册页。

关于linux - RPM 包中 SPEC 文件中 1%{?dist} 的含义是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25508687/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com