開発版セットアップ-Linux

【注記】
  • 日本版ブランチは現在メンテナンスが行われていません。
  • 開発に参加される場合は、Sahana Software Foundation の開発者ドキュメント http://eden.sahanafoundation.org/wiki/Develop をご参照ください。
以下の情報は2011年当時の古い情報です。



開発環境のセットアップ

Sahana EDENの開発に参加する場合、以下の手順に従って、Launchpad上の日本版ブランチを基にした構築を行ってください。
Pythonのモジュールなどは、安定版のインストール手順を参照してインストールします。


Launchpad/bzrについての参考サイト

Sahana EDEN日本語版の開発は、Launchpad、およびBazaarで行っています。

LaunchpadとBazaarについては、以下を参考にしてください。

補足情報として、以下もたいへん有用です。



bazaar/sshまわりのインストールと設定

まずはLinux Boxに、Bazzarをインストールします。

$ sudo aptitude install bzr bzrtools


Bazaarで使用する名前と、メールアドレスを登録します。

$ bzr whoami "Foo Example <fooexample@example.com>"

Launchpadとの間でセキュアな通信を行うため、SSH鍵を作成します。(SSHの鍵を登録しないと後述のLaunchpadは使えません)
$ ssh-keygen -f ~/.ssh/launchpad


~/.ssh/config に以下のように記載します。(Launchpadのアカウント名については登録し終わってから)

$ cat ~/.ssh/config
Compression yes
CompressionLevel 9
ForwardX11 yes

Host bazaar.launchpad.net
IdentityFile ~/.ssh/launchpad
User (launchpadアカウント名)

Launchpadにアカウントを作成

Sahana EDEN日本語版のTrunk、および、web2pyのTrunkは、Launchpadで管理されています。
Launchpadからソースコードをダウンロードする必要があるので、まずはLaunchpadのアカウントを作成します。

https://launchpad.net/

アカウント作成後、アカウントページから、SSH鍵を登録します。

  1. https://launchpad.net/people/+me/+editsshkeys にアクセスします。
  2. 「Add an SSH key」のテキストフィールドに、~/.ssh/launchpad.pub の中身をコピペしてください。

ローカルのBazaarにLaunchpadアカウントを登録

bzrコマンドを使い、launchpadアカウントを登録します。

$ bzr lp-login [Launchpadアカウント名]

Launchpadにある web2pyブランチを、ローカルにコピーします。

$ mkdir -p ~/src/sahana/
$ cd ~/src/sahana/
$ bzr branch lp:~mdipierro/web2py/devel

同様に、Sahana Japan Teamのブランチをローカルにコピーします。

$ bzr branch lp:~sahana-eden-jp/sahana-eden/japan


自分の作業ブランチを作る

コピーしたブランチから自分の作業ブランチを作成します。

japan.sahanafoundation.orgはweb2pyリビジョン3089でセットアップしていますので、「-r 3089」を指定します。(日本ブランチはweb2pyは固定、Sahana Edenは日本ブランチの最新版をを使っています)

$ cd ~/
$ bzr branch -r 3089 ~/src/sahana/devel/ web2py
$ cd ~/web2py/applications/
$ bzr branch ~/src/sahana/japan/

この状態でjapan.sahanafoundation.orgと同じ環境になります。

開発用ディレクトリ(上記設定のとおりであれば ~/src/sahana/japan)に配置されているファイルを更新し、開発を行ってください。

Sahana Eden開発版初回起動時の注意

web2pyを起動し、Sahana Eden開発版にアクセスすると、以下のメッセージが表示され、models/000_config.pyと cronの設定を促されます。

The following files were copied from templates and should be edited: models/000_config.py, cron/crontab


ローカルで動かす場合、cronは必要ないので、models/000_config.pyを編集します。

最低限動かすだけなら15行目にある FINISHED_EDITING_CONFIG_FILEFalse から True にします。

変更前

FINISHED_EDITING_CONFIG_FILE = False # change to True after you finish editing this file

変更後

FINISHED_EDITING_CONFIG_FILE = True # change to True after you finish editing this file



修正したコードをLaunchpadへ送信する

ローカルブランチでの基本作業


$ cd [自分の作業用ブランチディレクトリ(~/src/sahana/japan/ など)]

Launchpad上の日本ブランチで行われたアップデートをローカルへ取り込む。


$ bzr pull

上のように日本ブランチを手元に用意して、さらにブランチを切った場合は、手元のブランチをpullして、さらに作業ブランチをpullする。


(ブランチのコード修正を行う)

変更部分を確認


$ bzr diff
問題がなければaddとcommit

$ bzr add .
$ bzr commit
(修正した部分のコメントを書く)

コミッターの場合

そのままpushできます。


$ bzr push lp:~sahana-eden-jp/sahana-eden/japan

launchpadにブランチを作成する場合

launchpadに自分の修正したブランチをpushします。

~USER_NAMEBRANCH_NAMEは、それぞれlaunchpadユーザー名とブランチ名に置き換えてください。

$ bzr push lp:~USER_NAME/sahana-eden/BRANCH_NAME

パッチを作成する場合

修正部を送るためのパッチを作るには以下のコマンドで作成することができます。


$ bzr send -o (ファイル名).patch

できたパッチをMLまで投げてください。

Comments