【发布时间】:2023-03-24 13:57:01
【问题描述】:
也许这是一个非常愚蠢的问题,但我找不到答案。
直到今天,我才尝试为 rpm 包编写规范文件。我找到了一个规范示例,我在%install 部分看到了很多%{__install} 的想法。据我理解的语法,它是makros之王。但是在规范文件中没有定义它。在我的示例中,它看起来像这样:
%install
%{__install} -pD -m 644 $RPM_BUILD_DIR/my-project-%{version}/deploy/my-project.service $RPM_BUILD_ROOT/usr/lib/systemd/system/my_project-emperor.service
我还在我发现的其他规范中看到了很多使用此宏的示例。喜欢 this 或 that。它们具有相同的语法:
%{__install} -s %{name} %{buildroot}%{_sbindir}/
%{__install} -c -m 644 examples/acl-content-sw.cfg %{buildroot}%{_sysconfdir}/%{name}/%{name}-acl-content-sw.cfg.example
%{__install} -c -m 644 examples/auth.cfg %{buildroot}%{_sysconfdir}/%{name}/%{name}-auth.cfg.example
但%{__install} 实际上是什么? rpm builder的某种内置宏? google 一下或在官方文档中都很难找到,但看起来这是一种常见的东西。
【问题讨论】:
标签: linux rpm rpmbuild rpm-spec