2010-11-09 141 views
2

我想構建一個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

回答

2

首先,設置一個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

相關問題