CentOS上的rpmbuild问题 - 来自/home/me/rpmbuild/tmp/rpm-tmp.58942的错误退出状态

Cod*_*er1 9 rpm rpmbuild

我正在尝试创建一个只更新系统上文件的软件包,但是在运行rpmbuild时我一直遇到错误.该错误表示文件丢失.

我在CentOS 5和6上尝试过这个,结果相同.

我曾经rpmdev-setuptree设置过文件系统,也就是设置~/.rpmmacros文件.然后我用来rpmdev-newspec初始化spec文件.

我作为非root用户运行.

我有spec文件~/rpmbuild/SPECS/test.spec,我的来源是:~/rpmbuild/SOURCES/test-1.tar.gz.提取此文件会创建一个以test-12个文件命名的目录.我已经确认~/rpmbuild/BUILD/test-1在我尝试构建软件包时它会被提取出来.

我跑: rpmbuild -ba ~/rpmbuild/SPECS/test.spec

然后我收到这个错误:

  • ./configure --build = x86_64-redhat-linux-gnu --host = x86_64-redhat-linux-gnu --target = x86_64-redhat-linux-gnu --program-prefix = --prefix =/usr - exec-prefix =/usr --bindir =/usr/bin --sbindir =/usr/sbin --sysconfdir =/etc --datadir =/usr/share --includedir =/usr/include --libdir =/usr/lib64 --libexecdir =/usr/libexec --localstatedir =/var --sharedstatedir =/usr/com --mandir =/usr/share/man --infodir =/usr/share/info/home/me/rpmbuild /tmp/rpm-tmp.58942:line 37:./ configure:没有这样的文件或目录错误:/home/me/rpmbuild/tmp/rpm-tmp.58942(%build)的退出状态错误

RPM构建错误:/home/me/rpmbuild/tmp/rpm-tmp.58942(%build)的退出状态错误

这是我的spec文件:

Name:           test
Version:        1
Release:        1%{?dist}
Summary:        Test

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

#BuildRequires:  
#Requires:       

%description
This is a test to push files.

%prep
%setup -q

%build
#%configure
#make %{?_smp_mflags}

%install
rm -rf $RPM_BUILD_ROOT
#make install DESTDIR=$RPM_BUILD_ROOT
install -m 0755 -d $RPM_BUILD_ROOT/opt/test

%clean
rm -rf $RPM_BUILD_ROOT

%files
%dir /opt/test
%defattr(-,root,root,-)
%doc
Run Code Online (Sandbox Code Playgroud)

关于我可能做错的任何想法?

Aar*_*sco 8

看起来默认的GNU" ./configure"脚本不存在,所以你不能%setup在spec文件中使用默认宏,并且需要一个自定义%prep部分...... (一个来源) (镜像)

  • 对不起 - 我应该仔细看看!RPM的一个着名的PITA"功能"是你不能像上面那样注释掉一个宏.你必须把`#%% configure`或它只注释掉宏的第一行*!(第一个'%`逃脱了第二个.) (4认同)