2014-12-02 2 views
2

Я создаю небольшой демон, написанный на Ruby, который частично основан на небольшой двоичной утилите, скомпилированной из кода C. Я хочу упаковать это как драгоценный камень и включить эту зависимость вместе с ней.Packaging Compiled Binary/w a Ruby Gem

По существу, этот демон нужно будет выполнять команды, такие как ip addr add ..., не требуя Sudo, поэтому я создал небольшую программу C, чтобы прокси те команды, которые должны быть скомпилированы, chowned к root и имеют setuid набор битов.

Я хотел бы, чтобы gem скомпилировал и установил эту зависимость вместе с демоном, но я не уверен, как это сделать. Я понимаю, что расширения могут быть скомпилированы через extconf.rb, но это специально предназначено для управления расширениями Ruby, не так ли? Было бы уродливо взломать эту компиляцию и установить двоичный код на /usr/local/bin или аналогичный?

Кто-нибудь знает о существующем драгоценном камне, который делает аналогичную вещь, которую я могу изучить в качестве примера?

ответ