demo.spec
Name: demo
Version: 1
Release: 0
Summary: demo apss
Group: Applications/Archiving
License: GPLv2+
URL: http://xyz.co.in
Source0: %{name}-%{version}.%{release}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: tar
%description
%prep
%setup -q
%build
%configure
make %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
%doc
/demo/
%changelog
输出错误:
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.IEtaZH
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd /root/rpmbuild/BUILD
+ rm -rf demo-1
+ /bin/tar -xf -
+ /usr/bin/gzip -dc /root/rpmbuild/SOURCES/demo-1.0.tar.gz
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd demo-1
/var/tmp/rpm-tmp.IEtaZH: line 34: cd: demo-1: No such file or directory
**error: Bad exit status from /var/tmp/rpm-tmp.IEtaZH (%prep)**
RPM构建错误:
`Bad exit status from /var/tmp/rpm-tmp.IEtaZH (%prep)`
请帮我解决这个问题
答案 0 :(得分:1)
由于tarball的结构如何,您可能遇到了问题。本节是相关领域:
+ /usr/bin/gzip -dc /root/rpmbuild/SOURCES/demo-1.0.tar.gz
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd demo-1
所以失败是当你尝试使用setup进入该目录时,它希望你的tarball中存在该目录(demo-1)。您提供的spec文件不完整,即使解决了这个问题,也会继续提供错误。在尝试再次构建此文档之前,您应该查看TLDP和Fedora文档。
先前有一个类似的问题on Stack Overflow。