如何解决为什么rpmbuild1忽略RPM“ spec”文件中“ Source:”标签命名的压缩tar1文件?
| 文件“ 0”包含以下行Source: /web/ftp/pub/ldm/%{name}-%{version}.tar.gz
在第一部分中。 %{name}和%{version}的设置正确。给定的文件确实存在。
消息中出现命令“ 2”错误退出
error: File /home/steve/rpmbuild/SOURCES/ldm-6.9.8.tar.gz: No such file or directory
要使它正常工作必须做什么?
附加信息:
$ uname -a
Linux gilda.unidata.ucar.edu 2.6.27.41-170.2.117.fc10.x86_64 #1 SMP Thu Dec 10 10:36:29 EST 2009 x86_64 x86_64 x86_64 GNU/Linux
$ rpmbuild --version
RPM version 4.6.1
解决方法
默认情况下,rpmbuild期望源文件的basename()存在于%_topdir / SOURCES目录中,无论它在何处声明。在规格文件中,您通常会看到一个URL(wget.spec):
Source: ftp://ftp.gnu.org/gnu/wget/wget-%{version}.tar.bz2
即使在您自己的文件系统上,它也不会在构建时获取。 \“没有这样的文件或目录\”错误来自%setup宏,该宏在默认位置中查找文件,但看不到它。
解决方案是将文件复制(或建立符号链接)到rpmbuild / SOURCES目录。
如果您由于某种原因不想将文件复制到用户的SOURCES目录,则可以将-T选项用于%setup mecro,它告诉它“不执行默认”存档解压\“:
%setup -T
如果您选择采用这种方法,则必须在%prep部分中自己解压缩归档文件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。