我正在尝试在Cent OS 6.5上创建二进制RPM文件,但在准备阶段遇到错误。我的spec文件在准备部分中有以下命令:
%prep
%setup -q
wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
yum -y install python-pip
pip install ws4py request
但是当我跑步时:
rpmbuild -v -bb --clean SPECS/ttsdk.spec
我得到以下输出:
Preparing... ########################################### [100%]
package epel-release-6-8.noarch is already installed
error: Bad exit status from /var/tmp/rpm-tmp.Kkbk09 (%prep)
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.Kkbk09 (%prep
似乎它失败了因为已经安装了包,这不是我期望的行为。我忽略了什么吗?也许一种方法可以使rpm命令在安装时没有失败,或者让spec文件忽略错误的退出代码?如果需要完整日志或更多spec文件,请告诉我。
答案 0 :(得分:1)
尝试使用-U
代替-i
?
尝试使用yum install ...
代替rpm
?
如果所有其他方法都失败,请将|| :
添加到该行的末尾,以使其始终返回true。
所有人都说这对于我在%prep
期间要做的spec文件似乎是件坏事(并且需要以root身份构建,而这通常是不鼓励的。)