为什么无法在 ebuilds 中为二进制文件指定安装选项?

Why is there no way to specify install options for binaries in ebuilds?

Gentoo 的 ebuild 机制带有几个内置的 eclasses/commands 来管理(除其他外)库、二进制文件、可执行文件等...其中一些在安装阶段非常有用,比如设置权限,修改默认安装目录等...

关于库的安装,ebuild documentation说:

dolib [list of more libraries]

Installs a library or a list of libraries into DESTTREE/lib. Creates all necessary dirs.

libopts [options for install(1)]

Can be used to define options for the install function used in the dolib functions. The default is -m0644.

同样适用于“可执行文件”:exeoptsdoexe 一起使用。

问题

我真的不明白的是为什么dobindosbin存在而binoptssbinopts?

是否可能有 liboptsexeopts 等同于 dobindosbin,在安装阶段管理权限?

因为dobindosbindoexe的特例,它们有预定义的选项;如果您需要特殊权限(例如 suid),您可以根据需要使用 doexe

实际上 (/usr)/bin(/usr)/sbin 应该对所有用户都可执行,除非需要一些特殊的东西(比如限制对有权访问硬件的组的访问)。

(我可能也赞成删除 libopts,但我想那是另外一回事了。)