[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:10327] Re: canuum (was Re: rxvt で kinput2 が使いたいのですが)
こんにちは。松田陽一@PAL-NET三鷹です。
[Q]
canuum をdeb 化させたい場合、ソースパッケージとパッチの扱いはどのよう
にすれば良いのでしょうか?
[説明]
かなり以前のネタですが、
From: MATSUDA Yoh-ichi / 松田陽一 <matsuda@xxxxxxxxxxxx>
Subject: [debian-users:02924] canuum (was Re: rxvt で kinput2 が使いたいのですが)
Date: Wed, 19 Nov 1997 22:46:45 +0900
> 私は自宅ではLinux を主に非X 環境で使っていまして、canuum+lynx
> を常用しています。
> 過去ログを検索しました所、
>
> From: Susumu OSAWA <susumu-o@xxxxxxxxxxxxxxx>
> Subject: [debian-users:02302] Re: rxvt で kinput2 が使いたいのですが
> Date: 16 Oct 1997 02:57:28 +0900
>
> > 大沢です。
> (中略)
> > > canuumはどうでしょう、...と自分でやってみようと思ったら、ない。
> > > Debianのcannaパッケージ(3.5b2-2)にcanuumは入ってない?
> >
> > これはcanuumがuumへのパッチで提供されているから、パッケージに含めて
> > いなのかなと思ってるんですが、どうなんでしょうね?
>
> Debianのパッケージにcanuumがないようなのですが、canuumは需要の
> 少ない物なのでしょうか…。
> canna のソースからmakeして、deb 化すれば良いのでしょうか。
上記投稿から反応が無く、諦めていました。
先日、とある方から質問を頂きまして、 canuum の必要性を再認識し、
無謀にも make に挑戦してみました。
以下、私が行った事を記します。
(1) wnn_4.2.orig.tar.gz 及び canna_3.5b2.orig.tar.gz を夫々入手
する。
ftp://ftp.debian.or.jp/pub/Linux/debian-jp/dists/unstable/main/source/utils/canna_3.5b2.orig.tar.gz
ftp://ftp.debian.or.jp/pub/Linux/debian-jp/dists/unstable/main-jp/source/utils/wnn_4.2.orig.tar.gz
(2) 夫々のアーカイヴを展開し、以下を実行。
$ cd canna-3.5b2.orig
$ xmkmf; make Makefile; make canna ←ここでムチャムチャ時間が掛かる^^;
$ cd canuum
$ Bring.sh ../../wnn-4.2.orig/Xsi/Wnn
$ cp -v ../../wnn-4.2.orig/Xsi/Wnn/include/wnn_os.h .
$ patch < Canuum.patch &>patcherr
(3) jhlp.c の reject された patch 部分を手作業で書き直す。
以下の部分だけを修正すれば OK 。
*** 65,77 ****
#ifdef UX386
#include <sys/kdef.h>
#endif
struct passwd *getpwuid();
- #ifdef SYSVR2
# include <setjmp.h>
/* don't define bcopy!!!! */
- #endif /* SYSVR2 */
/* jlib.hの中でsetjmp.hがincludeされている!! */
jmp_buf kk_env;
--- 64,77 ----
#ifdef UX386
#include <sys/kdef.h>
#endif
+ #ifdef __MACHTEN__
+ #include <stdlib.h>
+ #endif
struct passwd *getpwuid();
# include <setjmp.h>
/* don't define bcopy!!!! */
(4) jhlp.c の 57行目に以下を足す。
#include <stdio.h>
#include <signal.h>
#include "commonhd.h"
#include "sdefine.h"
#include "sheader.h"
#include "config.h"
#include "wnn_os.h" ←これ
#include <sys/types.h>
(5) Imakefile の以下の行を変更。
/* $Id: Imakefile,v 1.11 1994/04/19 11:38:45 kon Exp $ */
#include "../Canna.conf"
#if SystemV || SystemV4 ←削除
SYS_LIBRARIES = -lcurses
#else ←削除
SYS_LIBRARIES = -ltermcap ←削除
#endif ←削除
(6) 以下を実行。
$ xmkmf;make Makefile;make depend;make
(7) suになって、以下を実行。
# ln -s /usr/lib/libcanna16.so.1 /usr/lib/libcanna16.so
# ldconfig
# chown root.root canuum
# chmod 4755 canuum
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
(2): jhlp.c 内で wnn_os.h を参照している箇所が幾つか見受けられま
したので、これを取り込みました。
(4): wnn_os.h を参照する #include 文を追加しました。
(5): -ltermcap では何故か make に失敗するので、仕方なく強制的に
-lcurses に書き換えました。
(7): canuum 実行時に 'libcanna16.so がない' と怒られるので、仕方
なくシンボリックリンクを追加しました。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
以上のように、何とか make し、取り敢えず動作する所までこぎ着ける
事ができました。
しかし、かなり強引な点が多々有ります。
特に、 termcap-compat を install 済みなのにもかかわらず、
-ltermcap では正常に make できなかったのが何故なのか、判りません。
「-ltermcap ぅ? そんなファイルはねぇよ」と、ld に怒られました。
Imakefile 辺りのどこかを修正すれば良いのかも知れませんが、私には
判りませんでした。
これをdeb 化させようかと考えているのですが、このように複数の既存
のパッケージのソースを参照して作成されるユーティリティの場合は、
パッケージの作成方法、ソースとの関係の取扱い等をどのようにすれば
良いのでしょうか。
deb 化は未経験で、右も左も判らない状態です。
参照するべきポインタだけでもご教示頂ければ幸いです。
--
松田 陽一(yoh)
mailto:matsuda@xxxxxxxxxxxx
http://www.palnet.or.jp/~matsuda/index.htm