如何创build一个RPM来设置文件的POSIXfunction ? 如果我尝试以非root用户身份执行rpmbuild
,那么当我的makefile的安装钩子尝试运行setcap
时会出现错误,但是如果我不运行setcap
, rpmbuild
将如何复制这些function? 似乎没有任何方法可以从RPM spec文件中设置function。
有一个spec文件宏用于设置功能, %caps
; 出于某种原因,这似乎主要记录在发行说明和更新日志中,所以我花了一段时间才找到它。
它在spec文件中是这样使用的:
%caps(cap_net_admin=pe) %{_sbindir}/foobar
为了使make install
只在被root调用时使用setcap
,你可以这样做:
@if test `id -u` -eq 0; then \ setcap cap_net_admin=pe $(DEST_SBINDIR)/foobar ; \ fi