読者です 読者をやめる 読者になる 読者になる

書きためたパッチのまとめ

書いたパッチがたまっているので, ここにまとめておく.

avfs

gistaecf835f94404da8842b

avfs で zip 内のファイル名の文字コードを変換する. CP932=>UTF-8 決め打ち. 読むほうしか書いてないので書き込みはたぶん上手くいかない.

gist272347ff4ac44d088a8d

avfs で rar の unicode なファイル名に対応する. ヘッダにも書いたが, デコード部分は unrarsrc からコピペしている. avfs は GPLv2 で, unrarsrc は acknow.txt によれば GPL で配布できるとあるので, このパッチのライセンスは GPLv2 とした.

gist57bbcb68a7a4aaef3d00

avfs は rar 内のファイルリストを作る処理は自前で実装しているが, 格納されているファイルを読む処理は rar ないし unrar コマンドを叩いてパイプで読んでいる. Gentoo に入っている avfs-1.0.1 ではリードオンリーで open() したファイルディスクリプタを stderr に貼り付けているせいで unrar が SEGV って read() が失敗するバグがあって, それを直すパッチ.

pam_encfs

gistc64565058669b9148415

EncFS という FUSE の暗号化ファイルシステムがあって, こいつをログイン時にマウントする PAM プラグインpam_encfs というのがあるのだが, ユーザにつき一個しかマウントできない問題があって(バグではなく実装がしょぼい), それをなんとかするパッチ. とりあえず最大 10 個にした. 増やしたり N 個対応は簡単にできる.

wxMaxima

gist03e7a72ff93cee44d507

やはり Emacs で imaxima より wxMaxima のほうが使い勝手が良いので, wxMaxima でキーバインドを適当にいじるやつ. このパッチのキーバインドEmacs 風ではなく我流である.