Trac0.11.2インストールメモ

久しぶりにTracのインストールをした。easy_installが便利だったのと、忘れがちなので、メモ

easy_installはpythonのモジュールのインストールを簡単にしてくれるコマンド

easy_install --prefix=~/code/python --install-dir=~/code/python http://svn.edgewall.org/repos/trac/tags/trac-0.11.2.1

引数に"-n"をつけておくと、実際にインストールしないでどうなるか、一応確認ができる。(でも実際にインストールしないので、モジュールがねぇって起こられました。)SVNリポジトリパスを指定するとそこからダウンロードしてきてインスコできるとか、いいよね。

で、--install-dirや--prefixを指定しているのは、インスコする環境をバージョンごとに別にしようかと画策してたため。環境変数PYTHONPATHにさっきのパスが含まれるように、Shellの起動時に読み込まれる.bashrc(でよかったか。)にこんな風に書いておいてます。

if [ $PYTHONPATH ]; then
  export PYTHONPATH=$PYTHONPATH:~/code/python
else
  export PYTHONPATH=~/code/python
fi

実際、自分であおる時は実プロジェクトではなく、試すためのプロジェクトなので、trac-adminで適当なところにprojectを作り、Apacheなんか立ち上げるのも面倒なので、tracdで1025番以降のポート(1024番以下はroot権限がないと起動できない)で起動します。こんな風に

tracd -p 10080 -s test

さて。あおろう。

XmlRpcPluginってまだ0.11に対応してない?もしかして。trunkを使えってことか。

今月はリリースラッシュだ0.11リリースだ。

つーことで、長い間BetaだったTrac0.11が正式にリリースされた模様。一応MLを見ていたんですが、「リリースしたよ!」みたいなお知らせはまだ流れていませんでした。気づくとSubversionも1.5になっていたり、今月はもうお祭りだね。
みんな一気にバージョンアップするのかな。地雷踏んだらどしどしブログに上げてくれると屍を超えていこうとする人たちの役に立とうぜぃ。

assemblaを使いはじめました。

無料のTrac&Subversion or Git or Mercurialホスティングサイト、assemblaを使い始めました。目的はTracを使って自分のプロジェクト運営を楽にしたかったのと、TracXML-RPCプラグインを使ったMylynでのチケット管理です。CodeReposではXML-RPCプラグインが使えないような様子なので、assemblaを使い始めました。もしかすると使えるのかな?とりあえずハンドラが登録されてなさげだったので、XML-RPCはきっと使えないんだろうと勝手に判断しました。
チケットのインポート/エクスポートもできるので、他サイトのTracからの移行も容易そうです。ただし、TracのAdmin画面からPluginのインストールができそうな感じに見受けられますが、実際にアップロードしてもインストールできないようです。あしからず。
TracXML-RPCプラグインはチケットが一件もない場合は動作しません。最初/xmlrpcにアクセスしてもエラーが表示されて焦りましたが、チケットを登録したら動作するようになりました。無料でTrac+Mylynが使えるサイトはなかなかないので結構お勧めです。

かっとなってWiki編集用ブックマークレットを作ってみた。(アクセスキーについて追記したよ)

TracWikiを編集するのに画面の一番下まで行って編集ボタンを押すのがあまりにもたるいので、ヵっとなってブックマークレットを作った。後悔はしていない。

Tracを編集する

javascript:window.location=window.location+'?action=edit'

Tracの編集結果をコミット

javascript:window.document.getElementsByName('save')[0].click()

マウスジェスチャと組み合わせて幸せになりました。はてブボタンみたいにブックマークするボタンがあったら共有に便利だろうけど、それは後でね。
多分追加していくんだろうね。このエントリも。

21:00杉に追記
コメントでTracにはアクセスキーがあるよーと教えていただいた。ざっと調べてみた。Firefoxの場合はAlt+Shift+アクセスキー、それ以外はAlt+アクセスキーでショートカットできる。

アクセスキー どこをさしてる?
f 右上の検索フォーム入力欄
6 Help/Guide
1 wiki top
2 Timeline
3 Road map
7 New Ticket
4 Search
4 Search
e Edit This Page

distutilsの使い方Tips

Pythonのドキュメントを良く読んできたわけではないのですが(ぉぃ)、Webをぶらついていたら見つけました。別にPYTHONPATHが通っているパスであれば伝家の宝刀

setup.py install 

が使えるんですね。オプションで使える--homeなどを使えば指定した場所へのインストールが完了します。注意しなければならないのが、あらかじめインストールされる先のHOME/lib/pythonなどのフォルダは作成しておいて、PYTHONPATHに通しておく必要があります。これでbata版やらtrunkのpythonものを追いかやすくなりましたとさ。

Python モジュールの別の場所へのインストール方法

Trac0.11b1をUbuntuに入れてShibuya.tracに臨んでみた

今日はShibuya.trac meeting 1.0が豊洲で行われることをすっかり忘れてて、慌ててTrac 0.11bを試してみた。

Ubuntuへのインストール

やってみた感想はPYTHONPATH激しく便利だー。JavaでもJRE/ext以下にjarを配置すればおんなじ様なことを実現できるんだろうけど、あんまりやられないように思う。Javaの場合仮想マシンの上で動かすアプリケーションみたいな考えがあるからかですかね。

今回のインストールに対する基本的な考え

Tracと言えどもベータ版のパッケージなので、基本的に自分のホームディレクトリにソースを配置して、そこを環境変数PYTHONPATHで設定する。と言う方針なので、基本はUbuntuのパッケージを使わずに手でパッケージをインストールしてみた。

Ubuntuなパッケージ(ubuntu上でのパッケージ名)

  • python2.5-setuptools
    • たぶんeasy_installがないとTracのPluginがインストールできないだろうから、Python2.5のシステム上{{/usr/lib/python2.5/site-packages}}に入れてみた。
  • python-pysqlite2
    • Ubuntuなパッケージですが、Unstableなバージョンらしい。まぁ、site-packagesから消してしまえばいいのではないだろうかと言うことで導入してみました。
  • Genshi-0.4.0
    • 間違えてUbuntuなパッケージを指定してしまった。orz

ソースで用意したもの

  • Trac-0.11b1
    • まぁ、とりあえずソースで用意

Trac-0.11b1をダウンロード後、解凍し、解凍したディレクトリパス($TRAC_HOME)とでもしましょうか。)をPYTHONPATHに含めまして

$TRAC_HOME/trac/admin/console.py Tracのプロジェクトパス

とかやると

trac-admin Tracのプロジェクトパス

と同じようにtrac-adminが起動し、

$TRAC_HOME/trac/web/standalone.py --port 8000 TRACのプロジェクトパス

とやると

tracd --port 8000 TRACのプロジェクトパス

と同じようにtracdが起動されます。まぁ僕は知らなかったんですが、easy_installは設定ファイルで書かれたpythonのクラスをコマンドとしてPATHの通ったところに配置してくれるみたいですね。要するに、上記のtrac-adminやtracdはpythonスクリプトを呼び出しているだけだったんですよ。えぇ。tracdを使っているときは認証とかどうするのか、わかんなかったんで、anonymousにTRAC_ADMIN権限与えていじってみました。

使用感

  • 注目のワークフロー周りは全く触ってません。
  • wikiの入力フォームで前回との差分を確認するRecent Changesボタンが追加されてた
  • 個人設定のページが充実してます。アクセスキーを有効にするかどうかの設定とかできるようでございます。
  • XML-RPCプラグインは0.11に入んないのかな。0.11b1にはなかったよ。
  • Genshiのおかげでhtdocsとかtemplates辺りの知識に関しては再学習必要

一応インストールしてないものについて触れてみる

Tracを試すためだけに上二つのパッケージを入れるのはイケテないと判断。0.9時代には考えられないほど、インストールが簡単になっている気がするのはおいらの気のせいか。

まとめると0.11b1を動作させる上で必須のものは

こんな感じで、SQLiteブリッジやsetuptoolsに関してはPythonを使っていると普通に入れてるんじゃないの?的なものなので、特筆すべき事項ではないし、ClearSilverがなくてもよくなったから、Cで書かれた環境依存なパッケージもない。もちろんneonとか、subversionとの連携に起因するパッケージも要らない。ってすごい時代になったもんだよ。最近話題のMercurialPythonで書かれたSCMなので、Pythonだけ入っていればTracのシステムが一応作れちゃったりするんではなかろうか。