我尝试构建一个rpm包,它给了我以下错误
答案 0 :(得分:6)
尝试在spec文件中定义BuildRoot
变量。 find-debuginfo脚本多次查看该目录,没有它就会死掉。
这通常类似于:BuildRoot: %{_tmpdir}/%{name}-%{version}-%{release}
关于你的第二个问题,我不能不直接看到规范文件和来源,我绝不是RPM专家。我将向您推荐最大RPM的第13章(可在线免费获得副本),以及Tom Callaway在How to make good RPM packages上的演示中的注释 - 我发现这里的规范示例在过去非常有用。 / p>
答案 1 :(得分:5)
在您的规范中,您可以在顶部执行此操作:
%define debug_package %{nil}
这应该绕过这个问题
答案 2 :(得分:1)
尝试在RedHat 5.3服务器上构建时,我遇到了同样的问题。这是我发现的。该错误似乎是由空RPM_BUILD_ROOT
变量引起的。以下是一个违规行:
find "$RPM_BUILD_ROOT" ! -path "${debugdir}/*.debug" -type f \
\( -perm -0100 -or -perm -0010 -or -perm -0001 \) \
-print |
如果尚未定义RPM_BUILD_ROOT
,则查找的第一个参数是空字符串“”,这会导致此错误。有趣的是,如果从$RPM_BUILD_ROOT
左右删除引号,那么命令工作正常,因为第一个参数将成为“!”。由于不需要在spec文件中定义“BuildRoot
:”,这对我来说当然是个错误。