2

我对 rpmbuild 中的一些目录感到困惑。

1:buildroot:它应该用于存储最终用户安装二进制包时应该安装的文件。

问题:如何控制这个目录?BuildRoot 是什么意思?

 $ cat 3.spec
 ..
 BuildRoot: /opt/abc
 ..
 %prep
 echo %{buildroot}
 echo  $RPM_BUILD_ROOT   

无论我将 BuildRoot 设置为什么,我都会得到在/usr/lib/rpm/macros. 如果我定义%buildrootin ~/.rpmmacros,我会从中得到结果。

2:我们安装rpm包时如何控制目的地?例如:rpm -ivh xxx.rpm,文件将安装在哪里?

4

1 回答 1

7

%install您自己在其中或任何地方创建子目录。

示例:您想安装所有文件,/opt/mypkg/但还需要一个配置文件/etc/mypkg.conf。因此,在您的%install部分中:

mkdir -p %{buildroot}/opt/mypkg
mkdir -p %{buildroot}/etc

因此,您正在重新创建要安装的树,所有这些都与%{buildroot}目标的/.

于 2013-04-18T12:26:10.513 回答