Sphinx 自作拡張移植

新サーバ上で Sphinx の挙動がおかしいことに気付いて、 よくよく考えたら自作拡張を作った時に Sphinx 本体のコードに 手を加えたことを思い出した。

virtualenv で隔離環境を作ることにしよう。

# pkg install py27-virtualenv
# pip install sphinx

旧サーバと新サーバで Sphinx のバージョンが異なる (1.2.3 -> 1.3) ので 自作拡張用パッチが一部 rej された。マニュアルで修正。

libxml2 が pip でも easy_install でも入らないので、実環境のファイルを 隔離環境に無理矢理持ってくることにした。

# ln -s /usr/local/lib/python2.7/site-packages/libxml2mod.s
# ln -s /usr/local/lib/python2.7/site-packages/libxml2.py

これで以前と同じ挙動になった。

なお、easy_install で SSL 関係のエラーが出て中断する問題は、

# pkg install ca_root_nss-3.17.3_1
# ln -s /usr/local/share/certs/ca-root-nss.crt /etc/ssl/cert.pem

で回避できるようだ。 https://nixbsd.wordpress.com/2015/01/02/freebsd-ssl-certificate_verify_failed/