Not only is the Internet dead, it's starting to smell really bad.:2006年02月分

2006/02/01(Wed)

bootstrap-pkgsrc + Cygwin

俺も欲しいと思ったりして、ちょっとだけ作業してみた。
/distfiles/citrus/NetBSD/bootstrap-pkgsrc-cygwin.patch.bz2

compile errorになるところを対策したのと、pkg_add/pkg_deleteで
rootか否かをチェックしてる部分をAdministratorsグループに属してるか否かに変更しただけ。
*.exeとか*.dll問題に関してはノーアイデア。

pkgsrc/bootstrap/以下ののスクリプト修正は手抜き。
なもんでconfigure時にinstallの引数に -o Administrators -g Administrators が
設定されないので、buildしたユーザのownerになってしまうのはご愛嬌。

あとbsd.prefs.mkとか直してないのでまだmake fetchすらできません。
どう見ても先は長そうです、ありがとうございました。

先人達の足跡。
http://mail-index.netbsd.org/netbsd-bugs/2004/03/10/0004.html
http://winsrc.sourceforge.net/

そういやWindows2000にpax.exeって標準で入ってんのね、初めて知った。

2006/02/11(Sat)

近況

納品オワタ、VisualBasicの現場は想像以上の闇だった。

R.I.P

AKAIに続きコニカミノルタのカメラ部門死亡で、押入のα-7700iに合掌してたら
今度はBorlandのIDE部門危篤のお知らせですか。
SourceNextでイチキュッパでもいいからDelphi/C++Builder/VCL/杉本さん残って欲しいな。
実は業務経歴書の結構な部分がDelphiだったりする俺。

2006/02/15(Wed)

NetBSD/hpcarm + HP Jornada 710

@長いこと放置してありましたが

CFスロットにTYPE-IIを挿せるようにするカバーげとズザー。
master-corp.co.jpで注文すると無視されるか500 Internal Server Errorなので
mobileplaza.co.jp経由で注文すればよかったみたい。

@いくつか困ったこと

  • i386やhpcmipsでdisklabelしたディスクが"disklabel corrupted"と表示されてmountできない。
    これはmachine/disklabel.hに定義されているMAXPARTITIONSの値が古いのが原因。
    http://www.netbsd.org/cgi-bin/query-pr-single.pl?number=18256
    のpatchを適用してbuildしたkernelを使うか
    http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/hpcarm/conf/INSTALL_IPAQ
    をベースにJORNADA710/720用のinstall kernelを作ってsysinst経由でdisklabelすることで回避してちょ。

  • 再起動するとHPロゴの初期画面で液晶が真っ白になってハングアップ
    WindowsCEで使ってても時々この状態になるのでハードが腐ってる気がするけど。
    他の個体だとどうなんだろうね。
    この状態になってしまったらリセットボタンも効かないので、バックアップ含めてバッテリを外す。

CP936(GBK) iconv data

0x8180~0xFEFEがごっそり抜けてるので直した。
ついでにGB18030もiconv(3)でまともに使えるようにしたいんだけど
mkcsmapper(1)に喰わせるソースに

SRC_ZONE 0x8181 - 0xFE39FEFE

とlinearで定義するとテーブルが巨大すぎてmalloc(3)コケる件が放置中なんよね。
mkcsmapper(1)のalloc_memあたりを直すつっても、どっちみちlibcの中でも同様に困る予感。

TYPE ROWCOL
SRC_ZONE 0x81-0xFE / 0x40-0xFE / 8

のように区点で宣言してテーブル容量を節約する機能もあるんだけど、CNS11643のような面を持つCCSや
GB18030のような4byteコードの場合には使えない。

以前ISO-2022-CNとEUC_TWをサポートした時は、CNS11643の面毎に別ファイルにして
お茶を濁して逃げたんだけど(citrus_iso2022.cのwctocs/cstowcに手を入れずに済むし)
GB18030の場合はどしたもんかいね。

GB11383(ASCII)、GB2312-80、 GBK、 Unicode BMP + 1~16面にバラしても
まだ将来拡張領域48万字のエリアが残ってるし、Unicode互換領域っても非連続なので
citrus_gbk2k.cのwctocs/cstowcに4byteコードをUnicodeに変換する処理 (テーブル)を積んだらそもそもcsmapperは必要なくなるという罠。