安装系统服务作为Ruby gem实现的方法

在离开Ruby几年之后,我又回来了,刚刚削减了我的第一个包含可执行文件的gem。 一切都像一个魅力。

但是,我面临的问题是,我也有一个启动脚本(不是gem istelf的一部分),它将守护程序守护进程。 另外,我还想让启动脚本将configuration文件指向/ var /

据我所知,rubygems,gemspec等没有办法指定文件在安装过程中被烧毁到系统的其他部分(例如启动脚本到/etc/init.d,configuration到/ var / )。 如果你可以做到这一点,这当然是没有意义的。

所以…我的问题是…什么是适当的程序自动安装这样的东西。 我正在使用RHEL,想知道是不是也许是时候让我的第一个RPM成为我的脚了。

有什么想法吗?

Solutions Collecting From Web of "安装系统服务作为Ruby gem实现的方法"

可以做到。 但是,这可能不是推荐的方法。 但是是的,可以使用extensions选项在gem安装期间运行任意代码。

从RubyGems手册 :

 Usage spec.extensions << 'ext/rmagic/extconf.rb' Notes These files will be run when the gem is installed, causing the C (or whatever) code to be compiled on the user's machine. 

只需将所需的任何ruby代码放入extconf.rb (或等效)文件中。

从RubyGems指南构建C-extensions的示例:
http://guides.rubygems.org/c-extensions/