我正在尝试使用SPEC文件创建自定义RPM。

时间:2012-11-30 05:18:59

标签: linux rpm rpmbuild rpm-spec

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)`

请帮我解决这个问题

1 个答案:

答案 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文件不完整,即使解决了这个问题,也会继续提供错​​误。在尝试再次构建此文档之前,您应该查看TLDPFedora文档。

先前有一个类似的问题on Stack Overflow