vine-users ML アーカイブ



[vine-users:071296] Re: dialog がおかしな動作

  • From: "OOSATO,Kazzrou" <kazz@xxxxxxxxxxxxxx>
  • Subject: [vine-users:071296] Re: dialog がおかしな動作
  • Date: Wed, 30 Mar 2005 18:31:28 +0900
大里です。

> 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