当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《什么是RPM包中的SPEC文件中的1%{?dist}》经验,为你挑选了1个好方法。

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}

Etan Reisner.. 10

问号用于条件评估.当宏没有值时,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和链接的手册页.



1> Etan Reisner..:

问号用于条件评估.当宏没有值时,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和链接的手册页.

推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有