CMSIS?

ARM社が CMSIS という規格で Cortex-M3 の Peripheral library に整合性を持たせようとしているようだ。
(ここ)

ライブラリのみ配ってるみたいなので
RTOSで使用するサンプルは?」
と探していたら、酔漢さんが TOPPERS/ASP 用にBug-fixした上で公開されていた。
(これ)

多謝! ここは、ありがたく利用させていただきましょう。

ubuntu上でtrac-0.11と0.12を共存させる(その3)

〜Errors〜

$ sudo tail -f /var/log/apache2/error.log

しながら、0.11と0.12を交互にFirefoxでアクセスしてみたが

[Mon Feb 28 12:30:05 2011] [notice] child pid 6962 exit signal Segmentation fault (11)

不安定。

mod_python だとダメかな?

ubuntu上でtrac-0.11と0.12を共存させる(その2)

〜0.11側の再構築〜

  • 再インストール先
    • /srv/Trac-0.11_system
      • trac-0.11.7-ja1 を使用していたらしい。
  • 再インストール必要plugin
    • IniAdmin
    • TracCustomFieldAdmin
    • TracMercurial
    • TraM 0.3
Re-Install trac-0.11.7
$ unzip Trac-0.11.7.ja1.zip
$ cd Trac-0.11.7.ja1
$ sudo python setup.py install --root /srv/Trac-0.11_system
$
Re-Install IniAdmin
$ cd ~/workspace/iniadminplugin/0.11
$ sudo python setup.py install --root /srv/Trac-0.11_system
$
Re-Install TracCustomFileAdmin
$ cd ~/workspace/customfieldadminplugin/0.11
$ sudo python setup.py install --root /srv/Trac-0.11_system
$
Re-Install TracMercurial
$ cd ~/workspace/mercurial-plugin
$ sudo python setup.py install --root /srv/Trac-0.11_system
$
Re-Install TraM plugin
$ cd ~/workspace/TraM-genshi-ja
$ sudo python setup.py install --root /srv/Trac-0.11_system
$
Remove Old Trac-0.11 global modules
$ cd /usr/lib/python2.5/site-packages
$ sudo rm Trac-0.11.7.ja1-py2.5.egg TracCustomFieldAdmin-0.2.3-py2.5.egg TracMercurial-0.11.0.10-py2.5.egg TraM-0.3-py2.5.egg IniAdmin-0.2-py2.5.egg
Tune apache2 setting

設定ファイル更新

       <Location /trac-0.11>
               SetHandler mod_python
               PythonPath "['/srv/Trac-0.11_system/usr/lib/python2.5/site-packages'] + sys.path"
               PythonInterpreter trac-0.11.proj.interpreter
               PythonHandler trac.web.modpython_frontend
               PythonOption PYTHON_EGG_CACHE /tmp/.trac-0.11.egg-cache
               PythonOption TracLocale ja_JP.UTF8
               PythonOption TracEnvParentDir /srv/Trac-0.11_projects
               PythonOption TracUriRoot /trac-0.11
       </Location>

Restert

$ sudo /etc/init.d/apache2 restart

〜Result〜

よし、0.11側 plug-in module は、0.12側から見えなくなった。

ubuntu上でtrac-0.11と0.12を共存させる

1. 前置き

目的
  • trac 0.11 を動かしたまま、trac 0.12 を試したいっ!。
    • マルチレポジトリってどう動くん?
    • 0.11と0.12を比較しながら違いを見たい。
前提条件(というか私の環境)
  • なるべく本番に近い環境でテストしたいので、稼働中の trac-0.11.7用 ubuntu server上に構築・共存させる
    • ubuntu 8.04LTS server i386 : ちと古いが。
    • sqlite3
    • python 2.5
      • easy_install, Genshi 等々は trac-0.11.7 導入時に入れた・・・と思う
    • apache2 + mod-python
  • Trac配置
    • /srv/Trac-0.12_system/ 以下にTrac-0.12本体をおく
    • ttp://oresama.oreore.net/trac-0.12/ が parent directory になるようにweb配置
    • マルチレポジトリテストのため、mercurial のレポジトリを2つ配置してある
      • /srv/hg-repo/hg-sandbox01
      • /srv/hg-repo/hg-sandbox02

2. Trac 0.12.2 を配置

Trac-0.12.2の入手
$ cd ~/workspace
$ wget http://ftp.edgewall.com/pub/trac/Trac-0.12.2.tar.gz
$ tar -xzf Trac-0.12.2.tar.gz
$ cd Trac-0.12.2
$ sudo python setup.py install --root /srv/Trac-0.12_system
$

OK。配置完了。

permission調整は割愛。

3. Trac site の配置と調整

trac-admin wrapper(trac-admin-012)の準備

そのままやると、trac-0.11.7 のツールが動いてしまうので、
http://d.hatena.ne.jp/tomo_snowbug/20100613/1276365386
と同じようにWrapper-Scriptを用意

↓/usr/bin/trac-admin-012 の中身↓

#!/bin/sh
export PYTHONPATH=/srv/Trac-0.12_system/lib/python2.5/site-packages
/srv/Trac-0.12_system/bin/trac-admin $@

tracdは使わないから放置。

Site Initialize
$ sudo mkdir /srv/Trac-0.12_projects/TestSite.trac-0.12
$ sudo chown www-data /srv/Trac-0.12_projects/TestSite.trac-0.12
$ sudo trac-admin-012 /srv/Trac-0.12_projects/TestSite.trac-0.12 initenv

        ・・・・・(中略)・・・・・

Congratulations!

$ sudo chown -R www-data /srv/Trac-0.12_projects/TestSite.trac-0.12
$ 

とりあえず、自分にネ申権限を設定。

$ sudo -u www-data trac-admin-012 /srv/Trac-0.12_projects/TestSite.trac-0.12 permission add o-taki TRAC_ADMIN
apache2 設定

下記のようなものを "/etc/apache2-sites-enabled/$(your_site_setting)" に書き込む。

        <Location /trac-0.12>
                SetHandler mod_python
                PythonPath "['/srv/Trac-0.12_system/usr/lib/python2.5/site-packages'] + sys.path"
                PythonInterpreter main_interpreter
                PythonHandler trac.web.modpython_frontend
                PythonOption PYTHON_EGG_CACHE /tmp/.trac-0.12.egg-cache
                PythonOption TracEnvParentDir /srv/Trac-0.12_projects
                PythonOption TracUriRoot /trac-0.12
        </Location>
        <LocationMatch "/trac-0.12/[^/]+/login">
                AuthType Basic
                AuthName "linuxdev web accont"
                AuthUserFile $(REPLACE_YOUR_ENV)/.passwd
                Require valid-user
        </LocationMatch>
起動テスト

起動した。

  • admin→plugin で確認すると 0.12.2 が読み込まれている。
  • が、下のほうに行くと、0.11でinstall した plug-in が表示されてしまう。
    • つうことは、混じって読んでるのね・・・
  • 全部の 0.11 plug-in ではない
    • global install したものだけ?っぽい。
  • orz Orz ORZ

(screen shot を後で貼ろう)

〜閉幕〜

今回のまとめ
  1. trac-0.12 を非標準ディレクトリに配置し、起動はできた。
  2. trac-0.11 用にglobal install された plug-in が shareされてしまう。
次の作戦
  1. trac-0.11 側も非標準ディレクトリにして干渉しないようにすれば・・・いけるか?