zabbixのパッケージの作成

いつもお世話になっています。

zabbixではないのかもしれないのですが、
zabbix-1.8.3-1.el5.JP.src.rpmからコンパイルを行い、rpmパッケージを作成しようとしています。

ソースインストール後、
rpmbuild -ba /usr/src/redhat/SPECS/zabbix.spec
でコンパイルするのですが、
/usr/src/redhat/RPMS/に作成されるパッケージは、

zabbix-server-1.8.3-1.el5.JP.x86_64.rpmではなく、
zabbix-server-1.8.3-1.x86_64.rpmになります。

zabbix-server-1.8.3-1.el5.JP.x86_64.rpmで作成する方法は
ありますでしょうか?

よろしくお願いいたします。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー kodai の写真

~/.rpmmacroファイルに以下を指定してみてください。

%dist .el5.JP

ユーザー tthogho1 の写真

いつもありがとうございます。

作成されました。

ユーザー tthogho1 の写真

お世話になっています。

src/zabbix_server配下のコードを修正した場合、zabbix_server_mysqlに取り込まれるのでしょうか?
(作成したパッケージを入れ替える場合は、zabbi-server-mysqlを使用する。)

よろしくお願いいたします。

ユーザー TNK の写真

src/zabbix_server以下ならDBMS依存はなかったはずですが、他の
部分も修正されていた場合は、修正した箇所がdefineなどでの条件
分岐でMySQL利用時に有効なソースの部分が修正されている必要が
ありますのでご注意下さい。

また、その修正したソースをどのように配置してビルドされている
かによっては反映されない場合が考えられます。

少し詳細に書かせて頂くと、ZABBIX-JPのSRPMを元に利用されてい
るのであれば、ビルドする際に、デフォルトのtarボール(tar.gzフ
ァイル)を展開して、その展開したソースにパッチを適用してビル
ドを行うようになっていたと思います。

ビルドするたびに毎回デフォルトのtarボールを展開しますので、
例えば、/usr/src/redhatディレクトリ以下でビルドを行っている
場合、BUILDディレクトリ以下に展開されているソースを直しても
次のrpmbuildコマンド実行時に削除されますので、できあがった
RPMには反映されません。

独自の修正を反映させる方法としては、

 ・標準のtarボールと修正したソースを固めたtar.gzファイルと
  を入れ替える
 ・修正内容をパッチファイルにして、SPECファイルでそのパッチ
  ファイルを適用するように修正する

のどちらかの方法になると思います。

ただし、独自に修正されたものとZABBIX-JPで用意しているパッチ
ファイルとの競合が発生してしまう可能性が考えられますので、後
者の方法を選択されたほうが安全でしょう。

パッチファイルの作成方法としては、オリジナルのtarボールを展
開したディレクトリにSPEC内で指定されているパッチを適用し、そ
のディレクトリを修正前の基準となるディレクトリとします。
その修正前のディレクトリをコピーした作業用ディレクトリでソー
スを修正し、修正が終了したら修正前のディレクトリと修正後のデ
ィレクトリを指定して、以下のコマンドを利用します。
<code>
$ diff -urN 修正前ディレクトリ 修正後ディレクトリ > パッチファイル名
</code>

あとは、SPECファイルの内容を確認して同じように作成されたパッ
チファイルを追加してみて下さい。

ユーザー tthogho1 の写真

回答ありがとうございます。

現在は、以下の方法で修正しています。
 ・修正内容をパッチファイルにして、SPECファイルでそのパッチ
  ファイルを適用するように修正する

変な質問になるのですが、
zabbix-jpのrpmのバイナリ(こちらの修正なし)をインストールした後、、
ls -l /usr/sbin/zabbix_serverを見ると、

lrwxrwxrwx 1 root root 19 11月 1 2010 /usr/sbin/zabbix_server -> zabbix_server_mysql

zabbix_server_mysqlへのシンボリックリンクが張られています。

これは、問題ないのでしょうか?
(zabbix_serverのバイナリが置かれるわけではない。)

ユーザー TNK の写真

問題ありません。
実際に稼動するモジュールは、zabbix_server_mysqlです。

ユーザー tthogho1 の写真

早速の回答ありがとうございます。

了解いたしました。