2006-10-02 Mon
Gateaux de Voyage(ガトー・ド・ボワイヤージュ) とろけるシブースト 白桃
Gateaux de VoyageのシブーストをOさんが買ってきてくれた。
八王子駅構内で売っているらしい。知らなかった。


白桃の入ったカスタードベースのプリンのような生地に、
とろけるような柔らかいクリームをたっぷり重なっている
夢のようなお菓子。
紅茶と一緒にいただきました。


一口食べたら、おお、と声を出してしまった。
生クリームとカスタードの組み合わせは最強だなぁ。
とっても旨い。ちょうど良い甘さ。
夢中になっていたら紅茶無しでほとんど食べてしまった。
めちゃくちゃ幸せだな。
ごちそうさまでした。
trac+subversionを使い始めた
trac+subversionな環境を整えたので、まとめメモを書くことにします。
まだ不十分ですが、あとは徐々に改善。

trac+subversionなサーバを作っておきたい。
さらに、リポジトリ全体も定期的にバックアップをとりたい。
と思ったんですよ。
今は、個人のソースはかなりアバウトなバックアップをしていて
突然自分のPCが壊れてしまったとき、昨日とかおとといのソースが
無くなってしまうような状態なのです。
何もしてないわけではなく、CVSとSubversionは使っていますよ。
でもソースの差分をみて何か発見するとか、
タスクとかバグとかをメモしておいてほにゃほにゃとか、
するわけではないので、頻繁にコミットするのが億劫なんですよ。
ホントに駄目人間です。
そういうところをtracや影舞を使って矯正しようかなと思っていて、
なかなか手が付かなかったのです。
でも、いよいよ危険を感じたので週末にやりました。
# 身近で事件が起こるまえに何かするのが理想なのですが。
余計なコメントはこれ位で以下は自分用メモ。
多分抜けてるところが沢山あるだろうな。
●OS : Debian Sarge linux
●目標 : ソースをコンパイル&インストールしたApache2でtrac
以下に作業を依存関係を考慮しつつ列挙する。
●Perl5.8.8をインストール
/etc/apt/sources.listに以下のような記述を加えて
apt-get updateして、apt-get install perlする。それで十分。
インストールが終わったら、即、以下のラインを#でコメントアウトする。
そんで、apt-get updateしておく。
deb http://ring.asahi-net.or.jp/archives/linux/debian/debian/ sid main non-free contrib
●Apache2とmod_perl2をコンパイルしてインストール
自分はmod_perl2用のApache2を過去にインストール済み。確かこんな感じ
だった。
# cd /tmpとかする # Apache2とmod_perl2のソースをダウンロード&解凍 # mod_perl2のディレクトリにcd # perl Makefile.PL MP_USE_STATIC=1 MP_AP_PREFIX=../httpd-2.2.2 MP_AP_CONFIGURE="--prefix=/usr/local/httpd_mp2 --with-mpm=prefork"
●subversionのインストール
以前インストールした。ついでにsvkも
apt-get install subversion svk
●tracの最新版のtar.gzファイルを取得
trac配布ページで配布している、最新安定版っぽいのを取得。
英語版で十分だし。
●tracのインストールの前に
tracのドキュメントとにらめっこ。
どうやら先に、ClearSilverの最近のやつとSQLiteの3系とPySQLiteの2系が必要。
●Pythonなどのインストール
最新版っぽいtracを使いたかったので、tracはソースから。
だけど他のものは極力apt-getすることにした。
# apt-get install trac # apt-get install python-devel python-xml # apt-get install python2.3-japanese-codecs # apt-get install sqlite3
●ClearSilverのインストール
なんとなくClearSilverのソースをダウンロード。
自分は0.10.3をインストールした。
どうせmod_pythonを使うので、エラーが出たものは切ってしまった。
# 解凍して、解凍したディレクトリにcdする # ./configure --with-python=/usr/bin/python --disable-ruby # make # make install
●pysqliteとsqlite
なんか、こんな感じだった気がする
# apt-get install sqlite3 python-sqlite
●mod_python
mod_pythonもソースから入れた。
# ダウンロードして解凍して、そのディレクトリに入る # ./configure --with-apxs=/usr/local/httpd_mp2/bin/apxs
httpd.confに以下を追記した。
LoadModule python_module modules/mod_python.so
●tracをインストール
aptで入れたtracを無視して上書きすることにした。
# tracのソースをダウンロードして、解凍して、ディレクトリ移動 # python setup.py install
●tracユーザ用の認証に使うファイルを作る
パスワードファイルをどこに保存するか悩んだけど適当なところに配置
# mkdir /usr/local/httpd_mp2/password/ # /usr/local/httpd_mp2/bin/htpasswd -mc /usr/local/httpd_mp2/password/trac.passwd overlast # ほげほげ
●httpd.confにtrac関連の設定を書き込み
httpd.confに以下を追記した。
以下のようにするとtrac上でoverlastユーザによるログインが可能。
<Location /trac> SetEnv PYTHON_EGG_CACHE /tmp/python_egg_cache SetHandler mod_python PythonHandler trac.web.modpython_frontend PythonOption TracEnvParentDir /root/trac PythonOption TracUriRoot /trac PythonDebug On </Location> <LocationMatch /trac/[[:alnum:]_]+/login> AuthType Basic AuthName "Trac Project" AuthUserFile /usr/local/httpd_mp2/password/trac.passwd Require valid-user </Location>
●datefmt.py
自分はDebianの言語設定がeucJPなので、このままでは動かなかった。
File "/usr/lib/python2.3/site-packages/trac/web/main.py", line 356, in dispatch_request
dispatcher.dispatch(req)
File "/usr/lib/python2.3/site-packages/trac/web/main.py", line 206, in dispatch
populate_hdf(req.hdf, self.env, req)
File "/usr/lib/python2.3/site-packages/trac/web/main.py", line 74, in populate_hdf
hdf['trac'] = {
File "/usr/lib/python2.3/site-packages/trac/util/datefmt.py", line 65, in format_datetime
return unicode(text, encoding, 'replace')
LookupError: unknown encoding: eucJP
なので/usr/lib/python2.3/site-packages/trac/util/datefmt.pyをいじっ
た。
姑息。
def format_datetime(t=None, format='%x %X', gmt=False):
if t is None:
t = time.time()
if not isinstance(t, (list, tuple, time.struct_time)):
if gmt:
t = time.gmtime(float(t))
else:
t = time.localtime(float(t))
text = time.strftime(format, t)
encoding = locale.getpreferredencoding()
if sys.platform != 'win32':
+ #encoding = locale.getlocale(locale.LC_TIME)[1] or encoding
+ encoding = 'euc_jp'
●util.py
これもいじっていた。こんな感じにした。どこ変えたか忘れたので見比べ
てください。
def to_utf8(text, charset='iso-8859-15'):
"""Convert a string to utf-8, assume the encoding is either
utf-8 or latin1"""
try:
# Do nothing if it's already utf-8
u = unicode(text, 'utf-8')
return text
except UnicodeError:
try:
# Use the user supplied charset if possible
u = unicode(text, charset)
except UnicodeError:
# This should always work
# u = unicode(text, 'iso-8859-15')
try:
u = unicode(text, 'japanese.euc-jp')
except UnicodeError:
#This should always work
u = unicode(text, 'iso-8859-15')
return u.encode('utf-8')
●subversionをまだ使ってなければ、リポジトリを作る。
tracを使うためには、subversionのリポジトリが何か必要。
すでにあるなら問題なし
# svnadmin create /path/to/repos
このあたりは別のページを読む。
tracの1プロジェクトが、subversionの1リポジトリに対応していて、
subversionの中にいろんなものを入れておく感じにした。
以下はsubversionの中にこんな風にコードを突っ込んだよ的イメージ。
/tmp/repos/以下にディレクトリやファイルを配置して、
reposをインポートしたと思った。
つまり/tmp/repos/overlast/・・などを先に作っておいた、と思う。
/
overlast/
project_a/
trunk/
branches/
tags/
project_b/
trunk/
branches/
tags/
bw/
・・・・
参考文献としてはSubversion メモが好きだな。
●Tracプロジェクトの作成
何かまぁ、ノリで作成。
作成したプロジェクトの権限はhttpd.confに書いてあるapache2を起動す
るユーザに与える。
# mkdir $HOME/trac # cd $HOME/trac # trac-admin myprojects initenv # chown -R www:www $HOME/trac
●trac用のユーザに権限を与える
Basic認証のときに設定したユーザ名に対して、権限を与える。
# trac-admin $HOME/trac/myprojects permission add overlast TRAC_ADMIN
●trac.ini
osの言語設定はeucなのに、ファイルのエンコードはutf-8を使ってる。
だから、このままだとtracに表示される日本語が化ける。
以下のようにして対処。
/root/trac/overlast/conf/trac.iniのdefault_charsetを以下に書き換え。
default_charset = utf-8
●dbファイルの権限関連
tracやsvnのdbファイル関係の権限がうるさいかも。よしなに設定する。
●その他細かい設定
以下を見て、コンポーネントとかマイルストーンを整頓した。
試験管のなかのコード :: Trac にチャレンジ(2)
●その他プラグインなど
以下の説明が丁寧だったなー、と思いました。
ただScrumBurndownPluginの説明は、現状と食い違っていると思うので注意が必要。
やどりぎ@NET: trac + TracBurndownプラグインでスクラム開発のすすめ
●残っている課題
・SVNWEBもやってみたい
・Subversion のコミット時にチケットのデータをフック
・tracやsubversionのログをメールで送る
・Trac のバージョンアップをしてみたよ
・ScrumBurndownの動作確認と運用
・tracとsubversionのディレクトリも自動でバックアップしよう
●参考文献
jigelog ≫ Tracインストール
YappoLogs: tracとsvnwebとapache1.3.*でオープンソース開発環境の構築
メモ/WebDAVでSubversion -SaikyoLine.jp
メモ/Mod_pythonでTrac -SaikyoLine.jp
ひげぽん OSとか作っちゃうかMona- - Subversionを ssh 経由で使おう
Trac(BTS+Wiki+SVN)を試してみる [前編] ? Weboo!Returns.
Trac(BTS+Wiki+SVN)を試してみる [後編] ? Weboo!Returns.
まちゅダイアリー - Subversion環境 (2) , trac の日本語化
粉骨砕身の覚悟でがんばります 2005年06月02日
YEDO.COM - PukiWiki - NetBSD/Tracインストールメモ
かえるの寝言default_charset
Trac で遊んでみたよ その1 - 日本語(コメントも)
試験管のなかのコードtrac
Server/trac/使い方 - www.takebay.net/~nao
長いなぁ。
上記までの流れにうんざりした方は、
tracをインストールするときにdebianの標準のものとか、
日本語化されたtracを使うとか、Windows版を使うとかすると、
もっと簡単にいくと思います。

