大里です。 > From: arima > Subject: [vine-users:071289] Re: dialogがおかしな動作 > Date: Wed, 30 Mar 2005 14:32:05 +0900 時間がなくて、gpm のソースの他の部分は殆ど読んでいません。ですから このやり方が最適なのかどうかは分りません。 もっと、正しいやりかたがあるような気が、なんとなくするのですが、最 近の gpm の拡張をぜんぜん追っていないので、gpm-1.19 から gom-1.20 で なんでこの部分が変ったのか、実はよく分っていなかったり(^^;。 なので、取りあえずの場当りなパッチの域を出ていませんし、副作用の検 証も十分にはしていませんが、このスレッドで出て来た問題に関しては対応 できそうです。 > source fileは見付かって、rpm -i ... をやって、SOUSOURCES/にtar ballを > 含むsourceが展開されるところまではやりました。 > > このdirectoryにはすでにいくつもpatch fileがあるので、ここに大里さんの > patchを追加して、spec fileを書き直せばよさそうだということまではわかり > ました。 > > でもなにしろrpmのrebuildははじめてだし、かりにうまくいって、installを > $HOME以下でやっても、gpmは沢山のcommand群やlibrary群からできているので、 > testも簡単にはゆかないだろうし、とても初心者の手には負えないようだとい > うことがわかりました。 Vine のサイト(jaist, ring 等のミラー)からgpm-1.20.1-35vl2.src.rpm を入手し、${HOME}/rpm/ にインストールします。 以下のパッチを gpm-1.20.1-miscterm.patch という名前で、 ${HOME}/rpm/SOURCES/ に置きます。 --- gpm-1.20.1/src/lib/liblow.c.term 2005-03-30 15:12:36.000000000 +0900 +++ gpm-1.20.1/src/lib/liblow.c 2005-03-30 15:15:38.000000000 +0900 @@ -207,7 +207,15 @@ /*....................................... First of all, check xterm */ - if ((term=(char *)getenv("TERM")) && (!strncmp(term,"xterm",5) || !strncmp(term,"kterm",5))) { + if ((term=(char *)getenv("TERM")) && + (!strncmp(term,"xterm",5) || + !strncmp(term,"kterm",5) || + !strncmp(term,"rxvt",4) || + !strncmp(term,"linux",5) || + !strncmp(term,"screen",6) + ) + ) + { if(gpm_tried) return gpm_fd; /* no stack */ gpm_fd=-2; GPM_XTERM_ON; 次に、以下のパッチを ${HOME}/rpm/SPECS/gpm.spec-1.20.1-35vl2a.patch として作ります。 --- SPECS/gpm.spec 2004-07-07 15:19:04.000000000 +0900 +++ SPECS/gpm.spec-1.20.1-35vl2a 2005-03-29 17:46:44.000000000 +0900 @@ -1,7 +1,7 @@ Summary: A mouse server for the Linux console. Name: gpm Version: 1.20.1 -Release: 35vl2 +Release: 35vl2a License: GPL Group: System Environment/Daemons Source: ftp://ftp.systemy.it/pub/develop/%{name}-%{version}.tar.gz @@ -14,6 +14,7 @@ Patch13: gpm-1.20.1-nodebug.patch Patch20: gpm-1.20.1-idie.patch Patch100: gpm-1.20.1-kterm.patch +Patch101: gpm-1.20.1-miscterm.patch Prereq: /sbin/chkconfig /sbin/ldconfig /sbin/install-info Requires: bash >= 2.0 # this defines the library version that this package builds. @@ -53,6 +54,7 @@ %patch13 -p1 -b .nodebug %patch20 -p1 -b .idie %patch100 -p1 -b .kterm +%patch101 -p1 -b .miscterm %build autoconf spec にパッチをあてます。 $ cd rpm/SPECS $ patch -p1 < gpm.spec-1.20.1-35vl2a.patch build します。 $ rpmbuild -ba gpm.spec rpm/RPMS/i386/gpm-1.20.1-35vl2a.i386.rpm と rpm/SRPMS/gpm-1.20.1-35vl2a.src.rpm ができます。 ご自分で build されるのがいいと思いますが、赤の他人の野良 build でも平気だよというのであれば、以下に置いておきます。 ftp.oosato.org/pub/Vine/3.1/packages/RPMS/gpm-1.20.1-35vl2a.i386.rpm ftp.oosato.org/pub/Vine/3.1/packages/SRPMS/gpm-1.20.1-35vl2a.src.rpm -- kazz