rpmbuild - 新手 rpmbuild 错误

标签 rpmbuild

我正在尝试构建我的第一个 RPM,但出现错误。我的 .rpmmarcos 文件如下所示:

%packager Your Name  
%_topdir /home/snort/test  
%_tmppath /home/snort/test/tmp  
%_smp_mflags  -j3  
%__arch_install_post   /usr/lib/rpm/check-rpaths   /usr/lib/rpm/check-buildroot  

当我运行:“rpmbuild -v -bb SPECS/test.spec”时,我收到此错误:
+ 状态=0
+ '[' 0 -ne 0 ']'
+ cd 测试-1
/home/snort/test/tmp/rpm-tmp.55712: line 36: cd: test-1: 没有那个文件或目录
错误:来自/home/snort/test/tmp/rpm-tmp.55712 (%prep) 的错误退出状态

文件 rpm-tmp.55712 以这个结尾:
cd '/home/snort/test/BUILD'
rm -rf 'test-1'  
/bin/gzip -dc '/home/snort/test/SOURCES/test-1.c55.tar.gz' | tar -xvvf -  
STATUS=$?
if [ $STATUS -ne 0 ]; then
  exit $STATUS
fi  
cd 'test-1'

我猜 rpmbuild 执行“rm -rf 'test-1'”来删除任何旧的/不需要的目录,然后解压缩 test-1.c55.tar.gz 文件,然后尝试“cd test-1” "但是 untar 命令不会创建目录,因此脚本会出错。我不知道现在该怎么办。

我的规范文件:更多 SPECS/test.spec
Name:           test  
Version:        1  
Release:        .c55  
Summary:        Just a Test  

Group:          MyJunk  
License:        GPL  
URL:            http://www.somesite.com  
Source0:        test-1.c55.tar.gz  
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)  

%description  
This is just a test  
<br>
%prep  
%setup BUILD     


%build<br>
%configure<br>
make %{?_smp_mflags}<br>


%install<br>
rm -rf $RPM_BUILD_ROOT<br>
make install DESTDIR=$RPM_BUILD_ROOT
<br>

%clean<br>
rm -rf $RPM_BUILD_ROOT<br>


%files  
%defattr(-,root,root,-)  
%doc  

%changelog  

有任何想法吗?
谢谢您的帮助
加里

最佳答案

RPM(或者,确切地说,%setup 宏)期望您的源 tarbal test-1.c55.... 包含目录 test-1。

如果目录不同,您可以使用

%setup -n yourdir

http://www.rpm.org/max-rpm/s1-rpm-inside-macros.html更多细节。

关于rpmbuild - 新手 rpmbuild 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4261565/

相关文章:

linux - 如何在 RPM 规范文件中创建额外的 README %doc 文件?

linux - rpmbuild 和签名的可执行文件

c++ - rpmbuild check-rpath错误报告路径不是绝对路径

python - 如何修复 "python does not have .gnu.prelink_undo section"

带有可执行文件的 RPMbuild

linux - 如何从多个项目构建 rpm

linux - 安装 MUNGE 时找不到 rpmbuild 错误文件

linux - 构建 rpm - glob 找不到文件 :

centos - Linux rpmbuild 临时文件错误

linux - 在 RPM 规范文件中使用 Jenkins BUILD NUMBER