Упаковка скомпилированная бинарная / ва Ruby Gem

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

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

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

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

1 ответ

Вот гем, который упаковывает двоичный файл pdftk.

https://github.com/charliemaffitt/pdftk-heroku

Другие вопросы по тегам