首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“要求”.spec文件中的条目不起作用

“要求”.spec文件中的条目不起作用
EN

Stack Overflow用户
提问于 2014-04-25 14:04:44
回答 1查看 2.1K关注 0票数 2

我正在为一个rpm包编写一个.spec文件,我遇到了一个问题。我需要用另一个软件包的一个特定版本来安装这个软件包。让我们以python包为例。所以,我写到:

代码语言:javascript
复制
Requires        : bash, grep, python >= 2.6.7-4b

但是,即使python包在2.6.6版本中,也会安装这个包。如果删除python包,系统将显示我的包需要python 2.6.7。

有什么问题吗?

来自rpm -q --provides python的输出

代码语言:javascript
复制
Distutils
python(abi) = 2.6
python-abi = 2.6
python-ctypes = 1.0.1
python-hashlib = 20081120
python-sqlite = 2.3.2
python-uuid = 1.31
python-x86_64 = 2.6.6-52.el6
python2 = 2.6.6
python = 2.6.6-52.el6
python(x86-64) = 2.6.6-52.el6

来自rpm -qpR $yourpackage.rpm的输出

代码语言:javascript
复制
/bin/sh
python >= 2.6.7-4b
bash
grep
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PartialHardlinkSets) <= 4.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1
EN

回答 1

Stack Overflow用户

发布于 2014-09-05 13:02:37

除非添加“Autoreq:no”,否则将忽略“”要求:“”标记。

新版本的rpmbuild自动计算需求,忽略“要求:”,除非关闭该功能。

我已经多次遇到这个问题,值得注意的是,您应该首先运行rpmbuild ,而不是 ''Autoreq: no‘,注意自动检测到的依赖项,并在最后运行之前添加它们到’Autoreq:no‘的“必需:”标记中。

还值得注意的是,依赖项的自动检测有点错误,并且有一些注释方面的问题。我用一个注释打包了一个perl脚本,其中包含“.然后使用一个模块.”不久前。Autoreq检测到它是perl模块"perl“,并将其添加到依赖项中,使我的rpm毫无用处。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23295429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档