加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-14 01:26:39 所属栏目:Linux 来源:网络整理
导读:1%{?dist}是什么意思? 这是什么意思? 我没有在任何地方找到这个意思 Name: helloVersion: 2.8Release: 1%{?dist}Summary: The "Hello World" program from GNULicense: GPLv3+URL: http://ftp.gnu.org/gnu/%{name}Source0: http://ftp.gnu.org/gnu/%{nam
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和链接的手册页.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读