如何控制rpmbuild buildroot和安装目录

zhi*_*fan 2 macros install rpmbuild buildroot

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

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

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

 $ cat 3.spec
 ..
 BuildRoot: /opt/abc
 ..
 %prep
 echo %{buildroot}
 echo  $RPM_BUILD_ROOT   
Run Code Online (Sandbox Code Playgroud)

无论我将BuildRoot设置为什么,我都会得到定义的结果/usr/lib/rpm/macros.如果我定义%buildroot的~/.rpmmacros,我会从它那里得到的结果.

2:安装rpm包时如何控制目标?例如:rpm -ivh xxx.rpm,将安装文件的位置?

Aar*_*sco 7

您可以自己%install或在任何地方创建子目录.

示例:您希望安装所有文件,/opt/mypkg/但也需要配置文件/etc/mypkg.conf.所以在这%install部分你:

mkdir -p %{buildroot}/opt/mypkg
mkdir -p %{buildroot}/etc
Run Code Online (Sandbox Code Playgroud)

因此,您将重新创建要安装的树,所有树都与%{buildroot}目标的树相当/.

  • `rpmbuild --buildroot ='/ path/to/your/buildroot /'`应该有效.对不起,错过了两个问题. (3认同)