#odstudyに参加してからずっと気になっていたblockdiagをインストールしました。
やっぱり、ドキュメントを蓄積するシステムと組み合わせたほうが真価が発揮されると思ったので、Tracです。
mediawikiもあるんですが、今は比較的スタティックな構築情報をwikiにして、作業途中のメモなどはTracという位置づけです。
Rapidな図はやはり、Rapidな情報記録を主目的に設置したシステムへと思いまして。
Tracとの連携
参考にしたのはこのサイト。
Tracのwikiに図面を入れる(BlockDiag編)
インストールが簡単に紹介されていて、サンプルもあるのでさくっと試せます。
Tracのpluginは下記のようにして入れました。
■ダウンロード、解凍
# cd /usr/local/src # wget -O tracblockdiagplugin.zip '<a href="http://trac-hacks.org/changeset/latest/tracblockdiagplugin?old_path=/&filename=tracblockdiagplugin&format=zip"> http://trac-hacks.org/changeset/latest/tracblockdiagplugin?old_path=/&filename=tracblockdiagplugin&format=zip</a>' # unzip tracblockdiagplugin.zip |
■移動
# cd /usr/local/src/tracblockdiagplugin/tracblockdiagplugin/0.12 # python ./setup.py install |
0.11と0.12とcurrentとかでディレクトリが分かれているので、現在使用しているTracのバージョンである0.12のディレクトリに移動して、インストール。
■Apache再起動
# /etc/init.d/httpd restart |
追記(2011/12/28)
blockdiag作者の@tk0miyaさんがインストール方法書いてるじゃないすか。
(18日目) blockdiag を Trac wiki で使ってみよう
Trac は Debian パッケージになっていますが、最新版の 0.12 が強くおすすめとのことなので、
easy_install でインストールすることにします。
TracBlockDiagPlugin も URL を指定することで easy_install 経由でインストールできます。$ sudo easy_install trac $ sudo easy_install http://trac-hacks.org/svn/tracblockdiagplugin/0.12
Pluginはこっちのほうがインストールがスマートですね!勉強になるなぁ
日本語の問題
でも、日本語のLabelを張れないかな?と試したら、途端に画像が生成されなくなったので、他のサイトを探しました。
blockdiag でいろいろ書いてみる
デフォルトのフォントの位置が書いてあるので助かりました。
でも、CentOSのデフォルトってこんな感じなんですよねー。
[root@redalarm blockdiag]# ls -lha /usr/share/fonts/ja/TrueType/kochi- kochi-gothic-subst.ttf kochi-mincho-subst.ttf [root@redalarm blockdiag]# ls -lha /usr/share/fonts/japanese/TrueType/ fonts.alias fonts.scale sazanami-mincho.ttf fonts.dir sazanami-gothic.ttf |
念のために、インストールされているプログラムがどんな定義か確認。
[root@redalarm blockdiag]# cd /usr/lib/python2.4/site-packages/blockdiag-1.1.0-py2.4.egg/blockdiag [root@redalarm blockdiag]# fgrep -R fonts ./* ./command.py: fonts = ['c:/windows/fonts/VL-Gothic-Regular.ttf', # for Windows |
fonts = ['c:/windows/fonts/VL-Gothic-Regular.ttf', # for Windows 'c:/windows/fonts/msmincho.ttf', # for Windows '/usr/share/fonts/truetype/ipafont/ipagp.ttf', # for Debian '/usr/local/share/font-ipa/ipagp.otf', # for FreeBSD '/Library/Fonts/Hiragino Sans GB W3.otf', # for MacOS '/System/Library/Fonts/AppleGothic.ttf'] # for MacOS |
なるほど。本当はTracの設定ファイルでfontを指定出来るらしいんだけれど、同じサーバにいくつもプロジェクトが走っていて、
それをすべて変更するのは面倒だったので、シンボリックリンクを張っちゃうことにしたり。(IPAフォントのインストールは割愛) 参考はここです。
日本語フォントのインストール
# mkdir -p /usr/share/fonts/truetype/ipafont/ # ln -s /usr/share/fonts/japanese/TrueType/ipagp.ttf /usr/share/fonts/truetype/ipafont/ipagp.ttf |
でも、シンボリックリンクを張ると、日本語を使っていない単純な図でもエラーになってしまいました。
こんな時にはコマンドラインからエラーを見てみようと思って実行したら下記の通り。
[root@redalarm src]# blockdiag -f /usr/share/fonts/truetype/ipafont/ipagp.ttf /home/rebine/sample.diag ERROR: The _imagingft C module is not installed |
このエラーでググるとPILというPython-Imagingというライブラリがうまくいっていないときに出るものらしい。
[root@redalarm src]# easy_install pil Searching for pil Best match: PIL 1.1.7 Processing PIL-1.1.7-py2.4-linux-i686.egg PIL 1.1.7 is already the active version in easy-install.pth Installing pilconvert.py script to /usr/bin Installing pilfile.py script to /usr/bin Installing pilfont.py script to /usr/bin Installing pildriver.py script to /usr/bin Installing pilprint.py script to /usr/bin Using /usr/lib/python2.4/site-packages/PIL-1.1.7-py2.4-linux-i686.egg Processing dependencies for pil |
でも、すでにインストール済みっていう形で返ってくるのでおかしいなと…
CentOS 5.5/5.6 の場合
公式に情報が載っていました。(自分、見るのが遅いなぁ…)Centosの付属PILは問題あるってことですね。
とはいえ、touchの意味を知らなかったので、PILをダウンロードしてインストールする方法を調べちゃいました。
Installing PIL (Python Image Library) on CentOS 4.7
# cd /usr/local/src # wget -O PIL-1.1.7.tar.gz 'http://effbot.org/media/downloads/PIL-1.1.7.tar.gz' # tar xvzf PIL-1.1.7.tar.gz # cd PIL-1.1.7 |
# python setup.py build_ext -i
-------------------------------------------------------------------- *** TKINTER support not available *** JPEG support not available --- ZLIB (PNG/ZIP) support available *** FREETYPE2 support not available *** LITTLECMS support not available -------------------------------------------------------------------- |
インストール前に調べてみたら、FREETYPE2のところがnot available でした。日本語はTruetype fontだったので、これではまずいと
調べると、単純にRPM不足していたようで。
# yum install freetype freetype-devel
# python ./setup.py install
-------------------------------------------------------------------- PIL 1.1.7 SETUP SUMMARY -------------------------------------------------------------------- version 1.1.7 platform linux2 2.4.3 (#1, Nov 11 2010, 13:34:43) [GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] -------------------------------------------------------------------- *** TKINTER support not available *** JPEG support not available --- ZLIB (PNG/ZIP) support available --- FREETYPE2 support available *** LITTLECMS support not available -------------------------------------------------------------------- To check the build, run the selftest.py script. running build_scripts running install_lib copying build/lib.linux-i686-2.4/_imagingft.so -> /usr/lib/python2.4/site-packages/PIL running install_scripts changing mode of /usr/bin/pilconvert.py to 755 changing mode of /usr/bin/pilfile.py to 755 changing mode of /usr/bin/pilfont.py to 755 changing mode of /usr/bin/pildriver.py to 755 changing mode of /usr/bin/pilprint.py to 755 creating /usr/lib/python2.4/site-packages/PIL.pth |
こんな感じでインストールしてうまく日本語のラベルを張ることに成功しました。