[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Update inputmethod/canna{,-server,-lib} 3.6 to 3.7



I wrote:

> I also pull libspt (required by cannaumm in 3.7) from pkgsrc-wip:
>  http://www.j10n.org/libspt/
>  https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=tree;f=libspt;hb=HEAD
> "make package" just works, but I have not tested binaries.

Today I tested the canuum binary but it didn't work at all.
(Immediately dumps core in reset_shell_mode() curses function)

Note canuum in Canna 3.6pl4 didn't work either. This is due to
pty(4) changes (traditional /dev/pty?? nodes have been removed)
in recent NetBSD.  Even after commenting out reset_shell_mode() calls
in canuum from Canna3.7, a libspt function fails to open ptys.

It looks the reason why libspt was introduced in Canna 3.7 is
to avoid setuid(2) root only for chmod/chown tty device nodes.
On the other hand, nowadays we can avoid it by using modern
openpty(3) or posix_openpt(3) interfaces.

Actually the original uum in FreeWnn introduced them in configure:
 https://osdn.jp/cvs/view/freewnn/FreeWnn/Wnn/uum/

Anyway, I've put updated package files which almost work:
 https://gist.github.com/tsutsui/f36d746779b9fef9751d/427a41e65893269c0ea6d0557d96780ffe17bc99
 http://www.ceres.dti.ne.jp/tsutsui/netbsd/pkgsrc-wip-canna37pl3.tar.gz

This version includes the following changes:
 - drop libspt support in canuum
 - pull posix_openpt(3) (and optional untested openpty(3) with libutil)
   suppoprt from FreeWnn (mostly in canuum/jhlp.c)
 - replace setupterm(3) terminfo calls with one newterm(3) initialization
   to avoid coredump in reset_shell_mode(3) calls
   (I'm not sure if it's correct or not though)

canuum in this version can start Japanese conversion
but sometimes shell process invoked by canuum hangs on
exit of canuum command.
(I have not investigated why)

---
Izumi Tsutsui