[Freewnn-users 116] Re: uum を UNIX 98 pseudoterminal に対応していただきたい

Tomoki AONO aono****@cc*****
2013年 7月 24日 (水) 06:07:25 JST


1xxさま(とお呼びしてよろしいでしょうか)

青野と申します。

FreeWnnに興味を持っていただきありがとうございます。XEmacsの
件は自己解決できたようで何よりです。

<CANW2+ivrM9Bv-HS7BKF7=OkZWX****@mail*****>の記事において
itsan****@gmail*****さんは書きました。

>> openSUSE上でFreeWnnをtestしている内に、
>> uumが起動しないことに気が付きました。
>> http://lists.opensuse.org/opensuse-ja/2013-07/msg00135.html
>> https://bugzilla.novell.com/show_bug.cgi?id=830533
>> 
>> 調べてみると現状uumはBSD pseudoterminalにのみ対応しており、
>> UNIX 98 pseudoterminalには対応していないことが判りました。
>> 
>> そこでお願いなのですが
>> uumをUNIX 98 pseudoterminalに対応していただけないでしょうか?

実は、開発中(?)のソースツリーでは既に対応しています。
1.1.1-a021からは変更点が大きいのでパッチの形で提示すること
は難しいですが、可能ならばそちらをベースに試していただける
とありがたいです。Anonymous CVSで取得するか
http://sourceforge.jp/cvs/view/freewnn/FreeWnn/ 内にある
「Download GNU tarball」リンクでダウンロードするかはお任せ
します。

#パッケージ化に当たり、snapshotをベースにして作成するのが
#難しい場合はこちらで次のalpha版(a022?)を出すことも考えま
#すのでお知らせ下さい。

configureオプションでuumをsetuidするかも制御できるようにし
ているので、OpenSUSEの実態に合わせて適宜調節して下さい。
(--enable-client-set[ug]idオプションで調節します。最悪の場
合、--disable-client-utmpを指定すればwhoコマンドでttyの取得
状況は見られなくなりますが、多分setuidは不要になるはずです。)

ただ、現状ではFreeWnn(についている各種コマンド)が
Unicode(UTF-8)での表示に対応してませんが、大丈夫なんでしょ
うか。

>> 既に
>> http://www15.big.or.jp/~yamamori/sun/misc/
>> で、山森丈範様がFreeWnn-1.1.1-a020に対して
>> UNIX 98 pseudoterminalに対するpatchを書かれています。

実際のコードでは直接参考にはしていませんが、山森氏のページ
も見せていただいていました。この場を借りてお礼申し上げます。

>> FreeWnn-1.1.1-a021のソースに対しても
>> patchが適用できることを確認しました。
(略)
>> (但しlinkに失敗してuumの動作確認はできていませんが…)
>> ~/src/FreeWnn-1.1.1-a021/Wnn/uum> make uum
(略)
>> gcc -o .libs/uum -Dlinux -D_GNU_SOURCE -D_POSIX_SOURCE -D_BSD_SOURCE
>> epilogue.o header.o kensaku.o kuten.o jis_in.o prologue.o touroku.o
>> jikouho.o jutil.o w_string.o printf.o termio.o hinsi.o termcap.o
>> ttyfdslot.o setutmp.o redraw.o history.o key_bind.o screen.o
>> basic_op.o uif.o cursor.o jhlp.o select_ele.o inspect.o wnnrc_op.o
>> functions.o bcopy.o xutoj.o server_env.o sstrings.o
>> ../..//Wnn/jlib/.libs/libwnn.so ../..//Wnn/conv/libconvkey.a -lnsl
>> -lcrypt -lutil -ltermcap -Wl,--rpath -Wl,/usr/local/lib64
>> /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld:
>> cannot find -ltermcap
>> collect2: error: ld returned 1 exit status
>> make: *** [uum] エラー 1

このパッチベースで対応するのであれば適切なライブラリを選ぶ
必要があると思います(-DTERMINFO相当の変更も必要かも)。おそ
らく最近のLinuxにはlibtermcapなどないと思うので、
ncurses(w?)辺りをリンクするように変更すればよろしいのではな
いかと思います。
----
青野智樹	(aono****@cc*****)
Personal opinion only...




freewnn-users メーリングリストの案内