rpmbuild:如何在没有%install的情况下构建软件包?

时间:2010-11-09 09:50:10

标签: linux rpm rpmbuild

我正在尝试构建rpm但不幸的是在我的构建机器中我只有限制权限,这意味着%install中的操作无法在构建机器内完成。如何在不运行%install部分的情况下构建软件包(.rpm文件)?看起来没有可用于此目的的选项:

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

1 个答案:

答案 0 :(得分:2)

首先,设置buildroot并在安装中使用它,例如:

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

其次,确保你可以在不moving the RPM build area的情况下构建。

我还建议指定一个实际的文件列表(而不是让RPM提取一个tgz文件),这样可以使包完全可移除。