Linux 如何解决无此类文件或目录错误:生成RPM时(%prep)的退出状态不正确?

Linux 如何解决无此类文件或目录错误:生成RPM时(%prep)的退出状态不正确?,linux,rpmbuild,Linux,Rpmbuild,我正在建立一个rpm,请告诉我哪里出了问题 我的规范文件是rpms.spec,内容如下: Summary: GNU indent Name: rpms Version: 1 Release: 1 Source0: %{name}-%{version}.tar.gz License: GPL Group: Development/Tools %description The GNU indent program reformats C code to any of a variety of for

我正在建立一个rpm,请告诉我哪里出了问题

我的规范文件是rpms.spec,内容如下:

Summary: GNU indent
Name: rpms
Version: 1
Release: 1
Source0: %{name}-%{version}.tar.gz
License: GPL
Group: Development/Tools
%description
The GNU indent program reformats C code to any of a variety of
formatting standards, or you can define your own.
%prep
%setup -q
%build
./configure
make
%install
make install
%files
%defattr(-,root,root)
/usr/local/bin/indent
%doc /usr/local/info/indent.info
%doc %attr(0444,root,root) /usr/local/man/man1/indent.1
%doc COPYING AUTHORS README NEWS
我已经将tar文件复制到/usr/src/redhat/SOURCES/all 然后当我执行rpmbuild-ba rpms.spec时,我得到以下错误

rpmbuild -ba rpms.spec  Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.87218
+ umask 022
+ cd /usr/src/redhat/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ cd /usr/src/redhat/BUILD
+ rm -rf rpms-1
+ /bin/gzip -dc /usr/src/redhat/SOURCES/rpms-1.tar.gz
+ tar -xf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd rpms-1 /var/tmp/rpm-tmp.87218: line 35: cd: rpms-1: No such file or directory error: Bad exit status from /var/tmp/rpm-tmp.87218 (%prep)
RPM生成错误: /var/tmp/rpm-tmp.87218(%prep)的退出状态不正确


没有rpms-1目录。我尝试在生成目录中创建该目录,但它不起作用。

您已将名称设置为rpms,将版本设置为1

因此,rpmbuild将假定解包rpms-1.tar.gz会产生一个名为rpms-1的目录,在该目录中,应该进行构建

如果要覆盖该设置,请将%设置更改为

%设置-n yourdir


其中yourdir是源代码打包到的任何目录,在tar.gz文件中,您已经将Name设置为rpms,version设置为1

因此,rpmbuild将假定解包rpms-1.tar.gz会产生一个名为rpms-1的目录,在该目录中,应该进行构建

如果要覆盖该设置,请将%设置更改为

%设置-n yourdir


其中yourdir是源代码打包到的任何目录,在tar.gz文件中,这应该在serverfault上。这应该在serverfault上。