rpmbuild:如何在不安装%install的情况下构建软件包?

问题描述:

我想构建一个rpm,但不幸在我的构建机器中,我只有限制权限,这意味着%安装的操作不能在构建机器内完成。如何在不运行%install部分的情况下构建包(.rpm文件)?它看起来像没有选项可用于这一目的:rpmbuild:如何在不安装%install的情况下构建软件包?

http://www.rpm.org/max-rpm-snapshot/ch-rpm-b-command.html

我bu.spec文件:

Summary: xxxx 
Name: xx 
Version: 1.0 
Release: 1 
Group: Applications/Sound 
License: Share 

%description 

%prep 
echo "prep" 

%build 

%install 
echo "install" 
mkdir -p /opt/xcp_src/ 
cp scripts.tgz /opt/xcp_src/ 

%files 
/tmp/xcp_src/scripts.tgz 

%post 
cd /opt/xcp_src/ 
tar zxvf scripts.tgz 
+0

您提供的代码是代码规范文件的代码? – 2010-11-09 09:57:25

+0

这是你自己的程序,还是你只是想打包一些东西?如果是后者,那么它不是编程相关的。 – leppie 2010-11-09 10:11:37

首先,设置一个buildroot和使用,在安装,如:

BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root 
... 
%install 
mkdir -p %{buildroot}/opt/xcp_src 

其次,确保你可以在没有根的情况下建立moving the RPM build area

我也建议指定一个实际的文件列表(而不是让RPM提取一个tgz文件),因为这样会使软件包干净地移除。

+0

...这就是buildroot的用途 – user318904 2011-08-23 20:46:25