gpt4 book ai didi

rpm - 为什么 rpmbuild(1) 会忽略 RPM "Source:"文件中以 "spec"标记命名的压缩 tar(1) 文件?

转载 作者:行者123 更新时间:2023-12-04 11:59:26 25 4
gpt4 key购买 nike

文件ldm.spec包含该行

Source:         /web/ftp/pub/ldm/%{name}-%{version}.tar.gz

在它的第一部分。 %{name} 和 %{version} 设置正确。给定的文件确实存在。

命令 rpmbuild --nobuild ldm.spec错误退出消息
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 宏在默认位置查找文件,但没有看到它。

解决方案是将文件复制(或创建符号链接(symbolic link))到您的 rpmbuild/SOURCES 目录。

如果您出于某种原因不想将该文件复制到用户的 SOURCES 目录,您可以使用 %setup mecro 的 -T 选项,它会告诉它“不执行默认存档解包”:
%setup -T

如果你选择走这条路,你必须自己在 %prep 部分解压文件。

关于rpm - 为什么 rpmbuild(1) 会忽略 RPM "Source:"文件中以 "spec"标记命名的压缩 tar(1) 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6460955/

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