akaDAV verup!

さすがにそろそろ試さなくちゃと思って環境を確認する。
ubuntu だと cjkcodecs がない以外は完全に動作環境が揃っている。足りないのはdebianから拝借。
http://ftp.debian.org/pool/main/p/python-cjkcodecs/python2.3-cjkcodecs_1.1.1-1_i386.deb
問題なく入った(files見たらファイル置いてあるだけだし当然か)。
だめだ、もう眠い。朝になったら休日出勤で出社しなくてはいけないので、今日はそろそろ帰らせてくださいませ。
うまく行ったら、今やっているののDAV部分に取り込んでもいいかもしれない。今回は外注費ないので、実績を積んでふつーの製品に搭載するようになるといいな。そしたら改造リクエスト出せるものな。

といいつつ、気晴しにやってたりして...

# python setup.py install
Traceback (most recent call last):
File "setup.py", line 20, in ?
from distutils.core import setup
ImportError: No module named distutils.core

これは帰れということだな。

# adduser akadav
ユーザ akadav を追加しています…
新しいグループ akadav (1001) を追加しています。
グループ akadav に新しいユーザ 1001 (akadav) を追加しています。
ホームディレクトリ /home/akadav を作成しています。
/etc/skel からファイルをコピーしています
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
akadav のユーザ情報を変更中
新しい値を入力してください。標準設定値を利用するならリターンを押してください。
フルネーム : akaDAV
部屋番号
:
職場電話番号 :
自宅電話番号
:
その他 []:
以上で正しいですか? [y/N] y
# mkdir /home/akadav/htdocs
mkdir: ディレクトリ `/home/akadav/htdocs' を作成できません: ファイルが存在します
ということで、これもいらない。chown -R akadav:akadav /home/akadav
# mkdir /home/akadav/dav
# mkdir /var/log/akadav

準備はできたよん。あとインストーラーなんとかならないとダメだけど。
どうやら、Debianでは、distutils は python2.*-dev に入っているようだ。
python2.3-devを入れる。
こんどはインストールもうまくいった。
起動してみる。

# twistd --logfile=/var/log/akadav/error.log --pidfile=/var/run/akadav.pid -oy /home/akadav/akadavsvr.py
Failed to load application: [Errno 2] No such file or directory: '/home/akadav/akadavsvr.py'

をいをい、ほんとに帰れということか。
ファイルを家探ししてみる。

# find / | grep akadavsvr.py
/home/kinneko/akaDAV/akadav1-0.6.2/application/akadavsvr.py

たぶん、インストーラーでコピーされていないに違いない。
それともあれか、READMEの順序通りに実行しなかった私がいけないのか...
もうほんと帰るもんね。
その前に、インストーラーの出力も貼っておきます。

root@ubuntu:/home/kinneko/akaDAV/akadav1-0.6.2 # python setup.py install running install
running build
running build_py
creating build
creating build/lib
creating build/lib/akadav
copying akadav/davutil.py -> build/lib/akadav
copying akadav/propfind.py -> build/lib/akadav
copying akadav/davdistrib.py -> build/lib/akadav
copying akadav/daverror.py -> build/lib/akadav
copying akadav/tap.py -> build/lib/akadav
copying akadav/test.py -> build/lib/akadav
copying akadav/fileutil.py -> build/lib/akadav
copying akadav/authutil.py -> build/lib/akadav
copying akadav/movecopy.py -> build/lib/akadav
copying akadav/__init__.py -> build/lib/akadav
copying akadav/davserver.py -> build/lib/akadav
copying akadav/copyinfo.py -> build/lib/akadav
copying akadav/davresource.py -> build/lib/akadav
running build_scripts
creating build/scripts-2.3
copying and adjusting bin/akpasswd -> build/scripts-2.3
changing mode of build/scripts-2.3/akpasswd from 644 to 755
running install_lib
creating /usr/lib/python2.3/site-packages/akadav
copying build/lib/akadav/davutil.py -> /usr/lib/python2.3/site-packages/akadav
copying build/lib/akadav/propfind.py -> /usr/lib/python2.3/site-packages/akadav
copying build/lib/akadav/davdistrib.py -> /usr/lib/python2.3/site-packages/akadav
copying build/lib/akadav/daverror.py -> /usr/lib/python2.3/site-packages/akadav
copying build/lib/akadav/tap.py -> /usr/lib/python2.3/site-packages/akadav
copying build/lib/akadav/test.py -> /usr/lib/python2.3/site-packages/akadav
copying build/lib/akadav/fileutil.py -> /usr/lib/python2.3/site-packages/akadav
copying build/lib/akadav/authutil.py -> /usr/lib/python2.3/site-packages/akadav
copying build/lib/akadav/movecopy.py -> /usr/lib/python2.3/site-packages/akadav
copying build/lib/akadav/__init__.py -> /usr/lib/python2.3/site-packages/akadav
copying build/lib/akadav/davserver.py -> /usr/lib/python2.3/site-packages/akadavcopying build/lib/akadav/copyinfo.py -> /usr/lib/python2.3/site-packages/akadav
copying build/lib/akadav/davresource.py -> /usr/lib/python2.3/site-packages/akadav
byte-compiling /usr/lib/python2.3/site-packages/akadav/davutil.py to davutil.pycbyte-compiling /usr/lib/python2.3/site-packages/akadav/propfind.py to propfind.pyc
byte-compiling /usr/lib/python2.3/site-packages/akadav/davdistrib.py to davdistrib.pyc
byte-compiling /usr/lib/python2.3/site-packages/akadav/daverror.py to daverror.pyc
byte-compiling /usr/lib/python2.3/site-packages/akadav/tap.py to tap.pyc
byte-compiling /usr/lib/python2.3/site-packages/akadav/test.py to test.pyc
byte-compiling /usr/lib/python2.3/site-packages/akadav/fileutil.py to fileutil.pyc
byte-compiling /usr/lib/python2.3/site-packages/akadav/authutil.py to authutil.pyc
byte-compiling /usr/lib/python2.3/site-packages/akadav/movecopy.py to movecopy.pyc
byte-compiling /usr/lib/python2.3/site-packages/akadav/__init__.py to __init__.pyc
byte-compiling /usr/lib/python2.3/site-packages/akadav/davserver.py to davserver.pyc
byte-compiling /usr/lib/python2.3/site-packages/akadav/copyinfo.py to copyinfo.pyc
byte-compiling /usr/lib/python2.3/site-packages/akadav/davresource.py to davresource.pyc
running install_scripts
copying build/scripts-2.3/akpasswd -> /usr/bin
changing mode of /usr/bin/akpasswd to 755
running install_data
copying akadav/plugins.tml -> /usr/lib/python2.3/site-packages/akadav

えっと、成功したとかいうメッセージは出してくれないものか... それとも失敗してる?
どうもログを見るに該当ファイルはコピーされてないみたいね。
# cp application/akadavsvr.py /home/akadav/
んで起動。
Failed to load application: 2
もう帰りますってば...
もぉ、トラックバック送信しちゃるけんね。
帰ろ。
おっと、これを忘れた。

# cat /var/log/akadav/error.log
2005/01/21 23:43 JST [-] Log opened.
2005/01/21 23:43 JST [-] twistd 1.3.0rc1 (/usr/bin/python2.3 2.3.4) starting up
2005/01/21 23:43 JST [-] reactor class: twisted.internet.default.SelectReactor
2005/01/21 23:43 JST [-] Loading /home/akadav/akadavsvr.py...
2005/01/21 23:43 JST [-] Traceback (most recent call last):
2005/01/21 23:43 JST [-] File "/usr/lib/python2.3/site-packages/twisted/application/app.py", line 118, in getApplication
2005/01/21 23:43 JST [-] application = service.loadApplication(filename, style, passphrase)
2005/01/21 23:43 JST [-] File "/usr/lib/python2.3/site-packages/twisted/application/service.py", line 319, in loadApplication
2005/01/21 23:43 JST [-] application = sob.loadValueFromFile(filename, 'application', passphrase)
2005/01/21 23:43 JST [-] File "/usr/lib/python2.3/site-packages/twisted/persisted/sob.py", line 209, in loadValueFromFile
2005/01/21 23:43 JST [-] data = open(filename, mode).read()
2005/01/21 23:43 JST [-] IOError: [Errno 2] No such file or directory: '/home/akadav/akadavsvr.py'
2005/01/21 23:43 JST [-] Failed to load application: [Errno 2] No such file or directory: '/home/akadav/akadavsvr.py'
2005/01/21 23:43 JST [-] Traceback (most recent call last):
File "/usr/bin/twistd", line 36, in ?
run()
File "/usr/lib/python2.3/site-packages/twisted/scripts/twistd.py", line 184, in run
app.run(runApp, ServerOptions)
File "/usr/lib/python2.3/site-packages/twisted/application/app.py", line 205, in run
runApp(config)
File "/usr/lib/python2.3/site-packages/twisted/scripts/twistd.py", line 174, in runApp
application = app.getApplication(config, passphrase)
--- ---
File "/usr/lib/python2.3/site-packages/twisted/application/app.py", line 118, in getApplication
application = service.loadApplication(filename, style, passphrase)
File "/usr/lib/python2.3/site-packages/twisted/application/service.py", line 319, in loadApplication
application = sob.loadValueFromFile(filename, 'application', passphrase)
File "/usr/lib/python2.3/site-packages/twisted/persisted/sob.py", line 209, in loadValueFromFile
data = open(filename, mode).read()
exceptions.IOError: [Errno 2] No such file or directory: '/home/akadav/akadavsvr.py'

2005/01/21 23:43 JST [-]
2005/01/21 23:50 JST [-] Log opened.
2005/01/21 23:50 JST [-] twistd 1.3.0rc1 (/usr/bin/python2.3 2.3.4) starting up
2005/01/21 23:50 JST [-] reactor class: twisted.internet.default.SelectReactor
2005/01/21 23:50 JST [-] Loading /home/akadav/akadavsvr.py...
2005/01/21 23:50 JST [-] [Errno 2] No such file or directory: '/home/akadav/users'
2005/01/21 23:50 JST [-] Traceback (most recent call last):
2005/01/21 23:50 JST [-] File "/usr/lib/python2.3/site-packages/twisted/application/app.py", line 118, in getApplication
2005/01/21 23:50 JST [-] application = service.loadApplication(filename, style, passphrase)
2005/01/21 23:50 JST [-] File "/usr/lib/python2.3/site-packages/twisted/application/service.py", line 319, in loadApplication
2005/01/21 23:50 JST [-] application = sob.loadValueFromFile(filename, 'application', passphrase)
2005/01/21 23:50 JST [-] File "/usr/lib/python2.3/site-packages/twisted/persisted/sob.py", line 213, in loadValueFromFile
2005/01/21 23:50 JST [-] exec data in d, d
2005/01/21 23:50 JST [-] File "", line 90, in ?
2005/01/21 23:50 JST [-] SystemExit: 2
2005/01/21 23:50 JST [-] Failed to load application: 2
2005/01/21 23:50 JST [-] Traceback (most recent call last):
File "/usr/bin/twistd", line 36, in ?
run()
File "/usr/lib/python2.3/site-packages/twisted/scripts/twistd.py", line 184, in run
app.run(runApp, ServerOptions)
File "/usr/lib/python2.3/site-packages/twisted/application/app.py", line 205, in run
runApp(config)
File "/usr/lib/python2.3/site-packages/twisted/scripts/twistd.py", line 174, in runApp
application = app.getApplication(config, passphrase)
--- ---
File "/usr/lib/python2.3/site-packages/twisted/application/app.py", line 118, in getApplication
application = service.loadApplication(filename, style, passphrase)
File "/usr/lib/python2.3/site-packages/twisted/application/service.py", line 319, in loadApplication
application = sob.loadValueFromFile(filename, 'application', passphrase)
File "/usr/lib/python2.3/site-packages/twisted/persisted/sob.py", line 213, in loadValueFromFile
exec data in d, d
File "", line 90, in ?

exceptions.SystemExit: 2

2005/01/21 23:50 JST [-]

んじゃ、後よろしく。> yasusiiさめ
# No such file or directory: '/home/akadav/users' のせいかな?
# akaDAVはライブラリ集なので、サンプルアプリがインストーラーでコピーされないのは正常なのかな。