3

Ruby から何年も離れていた後、私は全力で戻ってきて、実行可能ファイルを含む最初の gem を作成しました。すべてが魅力のように機能します。

ただし、私が直面している問題は、実行可能ファイルをデーモン化する起動スクリプト (gem istelf の一部ではない) も持っていることです。さらに、起動スクリプトが /var/ のような場所の構成で実行可能ファイルを指すようにしたいと思います

私の知る限り、rubygems や gemspec などでは、インストール中にシステムの他の部分に吹き飛ばされるファイルを指定する方法はありません (たとえば、起動スクリプトを /etc/init.d に、config を /var/ に) )。あなたがそれを行うことができれば、それは確かに意味がありません.

だから...私の質問は...このようなもののインストールを自動化するための適切な手順は何ですか. 私は RHEL を使用していますが、最初の RPM の作成に取り掛かるときが来たのではないかと考えています。

何かご意見は?

4

1 に答える 1

2

あなたはそれを行うことができます。ただし、これはおそらく推奨されるアプローチではありません。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 拡張機能を構築する例:
http://guides.rubygems.org/c-extensions/

于 2012-05-16T19:49:06.493 に答える