jwm-493-i18n

5.X系に関する開発話題です

モデレータ: 暇人, YoN, nyu

返信する
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

jwm-493-i18n

投稿記事 by シノバー »

Quirky, Lupu ではウインドウマネージャとして jwm-492 が使われていますが、国際化されていません。

さきに jwm-460 や 469(+新谷さんパッチ)が国際化されています。
viewtopic.php?t=1647
これでもいちおう動くように見えますが、libc の相違による不具合が出ることがあります(Quirky, Lupu で nvidiaドライバを使ったときなど)。そこで jwm-492 を国際化したうえで Quirky, Lupu上でコンパイルしました。

EDIT 2010-09-14: jwm-493 を国際化しました。
作成したバイナリはこちら
  • Puppy/Pupplet-4.x用: jwm-493-i18np4
  • Quirky-1.2用: jwm-493-i18nq
  • Lupu-5.x用: jwm-493-i18nl
  • Warry-0.7用: jwm-493-i18nw
492:
作成したバイナリこちら
  • Puppy/Pupplet-4.x用: jwm-492-i18np4
  • Quirky-1.2用: jwm-492-i18nq
  • Lupu-5.0.1用: jwm-492-i18nl
それぞれ /usr/bin/jwmと置き換えて使用します。もとの jwm を jwm.org などと書き換えて新しいものを置き、 実行属性を付けたうえでそのリンクを jwm とするのが良いでしょう。動かなかった場合、 /usr/bin に入って ln -sf jwm.org jwm などとリンクを張り直せば戻せます。

以下は作り方の覚え書き。上記バイナリを利用する場合は読まなくて可。
開発環境:
Quirky-1.2 では qrky_devx_120.sfs, Lupu-5.0.1 では lupu_devx_501.sfs を使用しますが、 Lupu-5.0.1 では binutils を binutils_2.20.1 に更新しておきます。

ソースの入手:
  1. jwm-492.tar.bz2 をjwmのホームページから http://www.joewing.net/programs/jwm/
  2. 国際化パッチ jwm-464-i18n.patch.gz は http://shino.pos.to/linux/puppy/
ソースの変更:
jwm-492.tar.bz2、jwm-464-i18n.patch.gz を作業場所に置き、それぞれ展開。configure ファイルのパッチに失敗するので、 autoconf で再生成。
EDIT 2010-09-14: autoconf は Puppy Linux-431JPqs3 上で実行。Puppy 5.x系の autoconf は nlsの扱いに問題がありそう?

コード: 全て選択

gunzip jwm-464-i18n.patch.gz
tar -xjf jwm-460.tar.bz2
cd jwm-492
patch -p1 < ../jwm-464-i18n.patch
autoconf
パッチ済みのものが http://shino.pos.to/linux/puppy/ に jwm-source-492-i18n-patched.tar.gz として置いてあります。

Quirky, Lupuの fribidi のバージョンの問題で、 src/jwm.h を一部修正します。102行目あたりの <fribidi/fribidi_char_sets.h> を <fribidi/fribidi-char-sets.h> へと、'_'(アンダーバー)を'-'(マイナス符号)に書き換えます。

コード: 全て選択

#  ifdef USE_FRIBIDI
#     include <fribidi/fribidi.h>
#     include <fribidi/fribidi-char-sets.h>
#  endif
コンパイルとストリップ
.

コード: 全て選択

./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=i486-t2-linux-gnu
make
strip src/jwm
最後に編集したユーザー シノバー [ 10/09/14(火) 12:00 ], 累計 3 回
The bar master, Shino's Bar
http://shinobar.net/
アバター
みのむし
記事: 1164
登録日時: 08/09/10(水) 13:56
お住まい: 福岡市中央区草香江1-2-40-101号
連絡する:

Re: jwm-492-i18n

投稿記事 by みのむし »

>それぞれ /usr/bin/jwmと置き換えて使用します。もとの jwm を jwm.org などと書き換えて新しいものを置き、
>そのリンクを jwm とするのが良いでしょう。動かなかった場合、 /usr/bin に入って ln -sf jwm.org jwm などとリンクを張り直せば戻せます。

Quirkyで作業しました。

コード: 全て選択

# cd /usr/bin
# ls -l jwm
lrwxrwxrwx 1 root root 21 2010-06-09 03:31 jwm -> /usr/bin/L10nSwitcher
となっていますので、ダウンロードしたものをリネームして /usr/bin/ja/jwm として置きました。
なお、ファイルのパーミッションに実行属性を与えておかなければいけません。
みのむし
Notebook PC HP G62
CPU: Intel(R) Core(TM)i5 M450 @ 2.40GHz
MEM: 4GB
Puppy Linux Quickset 5.1.1 JP
PC内蔵無線LANデバイス RTL8171(r8192se_pci)
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

jwm-493-i18n

投稿記事 by シノバー »

jwm-493というのができて、これまで同様にi18n化しようとしたところ、不思議な現象にぶつかっています。
Puppy Linux-431JPqs3 で作業したものは、ちゃんと動作しました。
ところが同じ作業を LupQ-508、Wary-0.7、Quirky-1.2 など Puppy 5.x系のいずれにおいても、コンパイルは正常に終わり、JWMも動作するのですが、肝心の i18nが動作しません(jwm.moを読まない)。

以前コンパイルした jwm-492-i18n はいずれの環境の下でも動作するので(Waryは未テスト)、実行環境には問題がない。
jwm-492493 の変更は些細で、i18n化部分に影響はないはず。現に431JPqs3上では jwm-492-i18n もjwm-493-i18n も同様に動作する。
で、LupQ-508上で jwm-492-i18n をコンパイルしてみたのですが、i18nの部分が動きません。以前コンパイルした同じ(はずの)jwm-492-i18nは正常動作するので開発環境が疑われます。
そこで Lupu-501、Wary-0.7、Quirky-1.2 と試してみたのですが、全滅。少なくとも Quirky-1.2 は 以前のコンパイルと環境は変わっていないはずなのだが……。

どこに落とし穴があるのでしょう? :cry:

Barry's blog: http://bkhome.org/blog/?viewDetailed=01805
本家フォーラム: http://murga-linux.com/puppy/viewtopic. ... 387#450387

EDIT: 以前のパッチ済みソース jwm-source-492-i18n-patched.tar.gz があったので、これを Quirky-1.2 で再コンパイルしてみました。結果、正常に動きました。したがって少なくとも Quirky-1.2 上で以前の 492 の開発環境、実行環境は再現されました。

で、jwm-source-492-i18n-patched とオリジナル jwm-492 のソースから diff を作成。ただし configure は外しています。後から autoconfで作成するので。
この diff = パッチを jwm-493 のソースに適用、 autoconf、configure の後コンパイル …… NG。 jwm.mo を読みません。 :cry:

ちょっと進みましたかね。493で追加した fullscreen パッチの副作用か、それとも 492 -> 493 で i18n を阻害する変更を見落としてるのか。
しかし、 431JPqs3 で 493-i18n は動いてるんだよなあ… 8)
The bar master, Shino's Bar
http://shinobar.net/
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

Re: jwm-493-i18n

投稿記事 by シノバー »

シノバー さんが書きました:jwm-493というのができて、これまで同様にi18n化しようとしたところ、不思議な現象にぶつかっています。
…中略…
しかし、 431JPqs3 で 493-i18n は動いてるんだよなあ… 8)
分かりました。 :D

configure ファイルを作成するのに autoconfを使うのですが、このバージョンが Puppy 4.x系と 5.x系とが異なっていて、Puppy 5.xの autoconfには nlsの扱いに問題があるみたいです。

したがってi18nパッチを当てるのと autoconf で configureファイルを作成するところまで Puppy 4.x上で作業、
その後 Puppy 5.x系の当該ターゲット上で cofigureの実行とコンパイルをするとうまくいきます。
The bar master, Shino's Bar
http://shinobar.net/
アバター
みのむし
記事: 1164
登録日時: 08/09/10(水) 13:56
お住まい: 福岡市中央区草香江1-2-40-101号
連絡する:

Re: jwm-493-i18n

投稿記事 by みのむし »

シノバー さんが書きました:
シノバー さんが書きました:jwm-493というのができて、これまで同様にi18n化しようとしたところ、不思議な現象にぶつかっています。
…中略…
しかし、 431JPqs3 で 493-i18n は動いてるんだよなあ… 8)
分かりました。 :D

configure ファイルを作成するのに autoconfを使うのですが、このバージョンが Puppy 4.x系と 5.x系とが異なっていて、Puppy 5.xの autoconfには nlsの扱いに問題があるみたいです。

したがってi18nパッチを当てるのと autoconf で configureファイルを作成するところまで Puppy 4.x上で作業、
その後 Puppy 5.x系の当該ターゲット上で cofigureの実行とコンパイルをするとうまくいきます。
シノバーさん、作業ご苦労様です。
なお、パピーHDDは明日9月15日(水)夕方に発送します。
みのむし
Notebook PC HP G62
CPU: Intel(R) Core(TM)i5 M450 @ 2.40GHz
MEM: 4GB
Puppy Linux Quickset 5.1.1 JP
PC内蔵無線LANデバイス RTL8171(r8192se_pci)
返信する