1

我正在构建一个 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/ 然后当我执行 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。我尝试在 BUILd 目录中创建目录,但它不起作用。

4

1 回答 1

6

您已将 Name 设置为 rpms 并将 version 设置为 1

因此,rpmbuild 将假定解压缩 rpms-1.tar.gz 会生成一个名为 rpms-1 的目录,应该进入该目录进行构建。

如果要覆盖它,请将 %setup 更改为

%setup -n 你的目录

其中 yourdir 是您的源代码所在的任何目录,在您的 tar.gz 文件中

于 2009-12-04T15:47:14.877 回答