我正在创建一个用 Ruby 编写的小型守护程序,它部分依赖于从 C 代码编译的小型二进制实用程序。我想把它打包成一个 gem 并包含这个依赖项。
本质上,这个守护进程将需要运行命令,例如ip addr add ...
不需要 sudo,所以我创建了一个小型 C 程序来代理那些必须编译的命令,chown toroot
并setuid
设置位。
我想让 gem 与守护进程一起编译和安装这个依赖项,但我不确定该怎么做。我知道扩展可以通过 编译extconf.rb
,但这专门用于管理 Ruby 扩展,对吧?让它编译并安装二进制文件/usr/local/bin
或类似文件会是一个丑陋的黑客吗?
有谁知道现有的 gem 可以做类似的事情,我可以研究一下吗?