安装 rpm 包的部分
Install Section of rpm package
我对创建 RPM 包很天真。
我想知道下面命令的含义:
BuildRoot: %{_tmppath}/build-%{name}-%{version}
%install
rm -rf "%{buildroot}"
install -m 0755 -d "%{buildroot}%{_prefix}"
%__install -D -m0644 "%{SOURCE0}" "%{buildroot}%{_prefix}/ROOT.war"
%files
%dir %{_prefix}
%{_prefix}/ROOT.war
在 %install
部分,您应该将所有文件安装在 %{buildroot]
目录中;就像它们在最终系统上的安装方式一样。
rm -rf "%{buildroot}"
他清理了这个目录。我从不使用这个;因为我的 buildroot 对于我的每个包都是唯一的。 (在我的规范文件的开头使用 BuildRoot: %{_tmppath}/%{name}-%{version}-build
)
install -m 0755 -d "%{buildroot}%{_prefix}"
似乎声明了一个 %{_prefix}
变量;他只是创建了那个目录。可能 %{_prefix}
在 %files
部分被重用了。
%__install -D -m0644 "%{SOURCE0}" "%{buildroot}%{_prefix}/ROOT.war"
此处文件 %{SOURCE0}
安装(复制)到 %{buildroot}%{_prefix}
目录。所以在 %files 部分我希望有这样一行:
%files
%{_prefix}/ROOT.war
意味着 ROOT.war 文件将被打包到该 rpm 中。
编辑
%__install -D
命令只是扩展为 /usr/bin/install -D
(参见 defined macros)
安装手册页中解释了 -D
选项:
-D
create all leading components of DEST except the last, then copy SOURCE to DEST
我对创建 RPM 包很天真。
我想知道下面命令的含义:
BuildRoot: %{_tmppath}/build-%{name}-%{version}
%install
rm -rf "%{buildroot}"
install -m 0755 -d "%{buildroot}%{_prefix}"
%__install -D -m0644 "%{SOURCE0}" "%{buildroot}%{_prefix}/ROOT.war"
%files
%dir %{_prefix}
%{_prefix}/ROOT.war
在 %install
部分,您应该将所有文件安装在 %{buildroot]
目录中;就像它们在最终系统上的安装方式一样。
rm -rf "%{buildroot}"
他清理了这个目录。我从不使用这个;因为我的 buildroot 对于我的每个包都是唯一的。 (在我的规范文件的开头使用 BuildRoot: %{_tmppath}/%{name}-%{version}-build
)
install -m 0755 -d "%{buildroot}%{_prefix}"
似乎声明了一个 %{_prefix}
变量;他只是创建了那个目录。可能 %{_prefix}
在 %files
部分被重用了。
%__install -D -m0644 "%{SOURCE0}" "%{buildroot}%{_prefix}/ROOT.war"
此处文件 %{SOURCE0}
安装(复制)到 %{buildroot}%{_prefix}
目录。所以在 %files 部分我希望有这样一行:
%files
%{_prefix}/ROOT.war
意味着 ROOT.war 文件将被打包到该 rpm 中。
编辑
%__install -D
命令只是扩展为 /usr/bin/install -D
(参见 defined macros)
安装手册页中解释了 -D
选项:
-D
create all leading components of DEST except the last, then copy SOURCE to DEST