我正在创建一个用Ruby编写的小守护进程,它部分依赖于从C代码编译的小型二进制实用程序。我想把它打包成一个gem并包含这个依赖项。
本质上,这个守护进程需要运行ip addr add ...
之类的命令而不需要sudo,所以我创建了一个小的C程序来代理那些必须编译的命令,对root
所有权,并拥有setuid
位设置。
我想让gem编译并安装这个依赖项和守护进程,但我不确定如何这样做。我理解扩展可以通过extconf.rb
编译,但这是专门用于管理Ruby扩展的,对吧?将这个编译并安装到/usr/local/bin
或类似的二进制文件?
有没有人知道现有的宝石做了类似的事情我可以作为一个例子来学习?