At Thu, 26 Aug 2010 23:06:55 +0900, Satoru Matsumoto wrote:
Takashi Iwai wrote:
At Wed, 25 Aug 2010 15:18:15 +0900, Satoru Matsumoto wrote:
ヘタレな M17N メンテナで申し訳ないのですが、ibus-input-pad をどうやって パッケージ化し、他の iBus コンポーネントと連携できるようにすればいいの か、分かってなくて手が止まってしまっています。
「openSUSE 用のパッケージなら、こうやって作ればいいんだよ」という情報を お持ちの方がいらっしゃいましたら、是非ご協力ください。
うーん、iBusのモジュールでしたら、特にSUSE特有というのはそんなにないは ずですので、とりあえず他のモジュールを参考にしてビルドテストしてみませ んか?
何か問題があるようでしたら連絡下さい。 私自身、今週はかなり手一杯なのですが、来週チェックできますので。
試しに Home リポジトリでパッケージ作ってみました。
input-pad、ibus-input-pad それぞれのソースを取ってきてとりあえずローカル で展開し、
$ ./configure $ make
…すると、ソースに同梱されている *.spec.ini を元に *.spec が生成されるの で、それをほとんどそのまま使って OBS でビルドしてみてます。
https://build.opensuse.org/package/show?package=input-pad&project=home%3AHeliosReds https://build.opensuse.org/package/show?package=ibus-input-pad&project=home%3AHeliosReds
SPEC ファイルを見ていただければ分かると思うのですが、input-pad の方で BuildRequires になっている gettext-devel が openSUSE だと見当たらないの で、根拠なく見当つけて gettext-runtime を代わりに指定してみたのですが、 これでいいのでしょうか…。
大丈夫だと思います。
また、libXtst-devel と eekboard-devel が openSUSE のパッケージには見当た らないので、関連する部分をコメントアウトしてあります。
前者は libxslt-devel を使ってみて下さい。 後者は不明ですのでとりあえず外してみましょう。
問題は、依存関係の問題で 11.1 用の input-pad が、11.1 及び 11.2 用の ibus-input-pad が unresolvable になってしまっていてビルドできていない点 なのですが https://build.opensuse.org/project/monitor?blocked=0&building=0&dispatching=0&finished=0&pkgname=input-pad&project=home%3AHeliosReds&scheduled=0&signing=0&succeeded=0 例えば input-pad が unresolvable になってしまうのは BuildRequires: libxklavier-devel >= 4.0 という要件が満たされていないということのようで # 11.1 の standard にあるバージョンは 3.7 で、 # 4.0 が見つかるのは GNOME:STABLE:2.26/openSUSE_11.1 リポジトリなど http://software.opensuse.org/search?q=libxklavier-devel&baseproject=openSUSE%3A11.1&lang=ja&exclude_filter=home%3A&exclude_debug=true こういう場合どう解決したらいいのか分かってなかったりします。(^ ^;)
こういう場合は、11.1以前のビルドをdisableするのが手っ取り早いかと。 GUIで特定のディストロバージョンに対して指定可能です。
根本的に良く理解できておらず、SPEC ファイルは上記のようにソースに同梱さ れているものをほぼそのまま使ってエラーが出る部分だけちょこちょこいじった だけのもので、ツッコミどころは満載だと思うのですが、とりあえず 11.3 用の パッケージは作ることができて、試した限りでは機能してくれるみたいです。
# インストールすると、iBus の設定から [インプットメソッド] タブ -> [イン # プットメソッドの選択] -> [その他] から Input Pad が選択できるようにな # ります。
とりあえず何とかなった…というレベルなので、時間が取れるようになりました ら SPEC ファイルなどレビューしていただけるとありがたいです。
# で、もろもろ問題解決したあと M17N に入れるにはどういう手順を踏むべき # か (submit-request はどうやって出す?)、実は理解できてなかったりします # ので、そのへんのやり方も教えてください。
今回のように全く新しいパッケージの場合であれば、パッケージをチェックアウトした場所で
% osc sr M17N
を実行して、メッセージを入れるだけです。後はM17Nレポのメンテナが適宜acceptまたは
revokeなどします。
上記のレポを覗いてみましたが、大体そのままでオーケーです。
いくつかSUSE特有の点としては:
- %install の最初の "rm -rf $RPM_BUILD_ROOT" は消して下さい。
- specファイル中の %changelog 以下は消去して、changelogは*.changesファイ
ルに記録して下さい。"osc vc" を実行すると、*.changes ファイルの編集
ができます。後でパッケージ構築時にBuild Serviceが処理します。
--
Takashi Iwai