小田急ポイントカードと、ロマンスカー@クラブ
pkgsrc/openssh
OpenSSL 0.9.7g 以前に脆弱性が見つかったということで、NetBSD 上の OpenSSL をアップデートしました。しかしこれにより、何故か OpenSSH が正しく動かなくなってしまいました。そのため OpenSSH もビルドし直したのですが、どうやっても /usr/lib 下の共有ライブラリをリンクしてしまいます。Makefile の CONFIGURE_ARGS で --with-ssl-dir を変更してもダメです。しょうがないので、
- make して configure が走り出したところで強制的に止める。
- configure 中の /usr/local というところを /usr/pkg に書き換える。
- トップディレクトリで make してもやっぱりダメなので、work/openssh-* の下に移って ./configure ... し直す。(config.log の中の configure 引数をチェックして、これを手動で実行する。)
- トップで make しても、まだダメ*1なので、これも work.openssh-* 下で make*2 して、configure の先頭に exit 0 を加えてから、トップディレクトリで make install しました。
ひー。なんで、こうハマるんだろう。
external method について
external method では、明示的に指定した以外にもう一つ引数が渡されるようです。これは、Zope Book では self と記されていて、実行コンテキストを指しているようです。試しに、次のような external method を書いてみました*1。
def foo(self, name="xxx"): return dir(self)
これを実行したら、実行コンテキストに含まれるメンバがたくさん表示されました。
ちなみに、このコンテキストのフォルダに foo_img という画像オブジェクトがあるとき、
def foo(self, name="xxx"): return self.foo_img
のようにすると、
<img ...>
という HTML タグが返ってきます。面白いです。return getattr(self, "foo_img") でも良いのかな?
ちなみに
external merhod の定義された外部ファイルを修正したら、External Method オブジェクトを更新しなくてはいけないのかなあ。これは、メモです。
*1:最初、return self でなくて print self としてしまい、ハマりました。