制作一个设置POSIX文件function的RPM

如何创build一个RPM来设置文件的POSIXfunction ? 如果我尝试以非root用户身份执行rpmbuild ,那么当我的makefile的安装钩子尝试运行setcap时会出现错误,但是如果我不运行setcaprpmbuild将如何复制这些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