この日記にはツッコミを入れられます。 ツッコミを入れたい日付をクリックすると、フォームが現れます。
xreaでtDiaryを使う方法はxrea.com で tDiary を使う方法やインストールメモやXREA + tDiary + Namazuをどうぞ。
chkbuild の deb パッケージを作って http://chkbuild.deb.n-z.jp/ においてみた。
パッケージの構成としては、基本的には rubygems を参考にして /var/lib/chkbuild に http://cvs.m17n.org/viewcvs/ruby/chkbuild/ の内容をおいているだけ。
他には chkbuild ユーザを追加したり、サンプルの cron.d ファイルを /etc/cron.d/chkbuild においたりしている。
Ruby の chkbuild を動かすには「sudo aptitude install '~RRecommends:chkbuild'」などで Recommends に指定しているパッケージをインストールする必要がある。 さらに psych や fiddle などの拡張ライブラリもビルドする場合は「sudo aptitude install '~RSuggests:chkbuild'」のように Suggests に指定しているパッケージもインストールすれば良いはず。
カスタマイズする場合は /var/lib/chkbuild/start-build や /var/lib/chkbuild/sample/build-ruby を直接書き換えても良いが、パッケージの更新の時にどうなるのかがよくわかってないので、後で調べるかも。
tig.rb はドキュメントがなくて普通に発言する以外の使い方がよくわからなくて、コメントやRTなどをしたいときはwebからやっていたけど、atig.rbはちゃんとドキュメントがあって使い方がわかりそうだったので、OAuth 対応のついでに http://github.com/cho45/net-irc から fork していた http://github.com/znz/net-irc をやめて http://mzp.github.com/atig/ に乗り換えてみた。
今のところの問題点。
atig.rb 使い方のメモを書こうと思ったら runit の方を詳しく書いてしまったので分離。
まず「git clone git://github.com/mzp/atig.git」でとってきた。
runit で起動する設定。 djb's daemontools ではなく runit なのは、過去のライセンスが DFSG free じゃなくて面倒だったのと、runit の方が sv コマンド (daemontools の svc コマンド) の引数とかがわかりやすかったから。
run-atigrb.sh 経由になっていたり、ログが /home/svlogger/var/log/ 以下なのは権限分離や過去の試行錯誤の影響なので深い意味はない。
supervise のリンク先が /var/run/sv.hoge の形式になっているのは /etc/sv/getty-5/supervise にあわせた。このやり方はおすすめ。/var/run/sv.hoge はなければ勝手に作ってくれるので、起動前はリンク切れで放置しておけば良い。 log があれば勝手に起動してくれるので +t しておく必要はないのも deaemontools と比べてわかりやすい、と思ったら deamontools も 0.70 to 0.75 or 0.76 の変更で +t が必要なくなっているみたい。
% cat run-atigrb.sh #!/bin/sh HOME=/home/kazu export HOME cd $HOME/wc/atig exec /opt/ruby-enterprise/bin/ruby atig.rb -d % cat /etc/sv/atigrb/run #!/bin/sh exec 2>&1 logger -s -t runsv -- start "$(basename $(pwd))" USER=kazu cd "/home/$USER" exec chpst -u "$USER" ./run-atigrb.sh % ll /etc/sv/atigrb/ total 2 drwxr-xr-x 2 root root 1024 2010-06-17 07:11 log/ -rwxr-xr-x 1 root root 134 2010-06-17 07:11 run* lrwxrwxrwx 1 root root 18 2010-06-17 07:11 supervise -> /var/run/sv.atigrb/ % ll /etc/sv/atigrb/log/ total 0 lrwxrwxrwx 1 root root 13 2010-06-17 07:11 run -> ../../log-run* lrwxrwxrwx 1 root root 22 2010-06-17 07:11 supervise -> /var/run/sv.atigrb.log/ % cat /etc/sv/log-run #!/bin/sh logdir="/home/svlogger/var/log/$(basename $(dirname $(pwd)))" umask 027 chpst -u svlogger mkdir -p "$logdir" cd "$logdir" exec chpst -u svlogger svlogd -tt "$logdir" %
準備ができたら「sudo ln -s /etc/sv/atigrb /etc/service/atigrb」で起動。 「sudo sv status atigrb」とかで確認して、ちゃんと起動できていなかったり、再起動を繰り返しているようだったら「tail -f $logdir/current」のようにログを確認する。
nadoka 経由で接続しているので、 nadokarc を atigrb.rc にコピーして「/opt/ruby-enterprise/bin/ruby -vd $HOME/wc/nadoka-trunk/nadoka.rb --rc $HOME/nadoka/atigrb.rc」のように起動。 実際には runit 経由にしているけど、詳細は atig.rb と同様なので省略。
nadokarc の設定としては以下のあたりを変えた気がする。実際には tig.rb 用のものを流用したのでもうちょっと変えたかも。
bitlify のところは spec をみて確認したのでドキュメントの「bitlify=api_key:password:size」は間違いで「bitlify=username:api_key:size」が正しい。(api_key のようなものがあるのにパスワードも必要というのはおかしいのでソースを確認した。)
Client_server_po