まず,なにがうまく行かないかというと,pear.example.comの画面から "upload a release" をして,うまく保存できたといっているのに,pear remote-list -c exampleとすると,
Notice: Undefined index: _content in PEAR/REST/11.php on line 64 (no packages available yet)
となって反映されません。
他の様子を調べる
とりあえずは,うまくうごいているchannelを眺めることにする。
Channel pear.php.net Information: ================================= Name and Server pear.php.net Alias pear Summary PHP Extension and Application Repository Validation Package Name PEAR_Validate Validation Package default Version Server Capabilities =================== Type Version/REST type Function Name/REST base xmlrpc 1.0 logintest xmlrpc 1.0 package.listLatestReleases xmlrpc 1.0 package.listAll xmlrpc 1.0 package.info xmlrpc 1.0 package.getDownloadURL xmlrpc 1.1 package.getDownloadURL xmlrpc 1.0 package.getDepDownloadURL xmlrpc 1.1 package.getDepDownloadURL xmlrpc 1.0 package.search xmlrpc 1.0 channel.listAll rest REST1.0 http://pear.php.net/rest/ rest REST1.1 http://pear.php.net/rest/
Channel pear.symfony-project.com Information: ============================================= Name and Server pear.symfony-project.com Alias symfony Summary symfony project PEAR channel Validation Package Name PEAR_Validate Validation Package default Version Server Capabilities =================== Type Version/REST type Function Name/REST base rest REST1.0 http://pear.symfony-project.com/Chiara_PEAR_Server_REST/ rest REST1.1 http://pear.symfony-project.com/Chiara_PEAR_Server_REST/
- chiara
Channel pear.chiaraquartet.net Information: =========================================== Name and Server pear.chiaraquartet.net Alias chiara Summary Chiara Testing Channel Validation Package Name PEAR_Validate Validation Package default Version Server Capabilities =================== Type Version/REST type Function Name/REST base rest REST1.0 http://pear.chiaraquartet.net/Chiara_PEAR_Server_REST/ rest REST1.1 http://pear.chiaraquartet.net/Chiara_PEAR_Server_REST/
Channel pear.ethna.jp Information: ================================== Name and Server pear.ethna.jp Alias ethna Summary Ethna PEAR Channel Validation Package Name PEAR_Validate Validation Package default Version Server Capabilities =================== Type Version/REST type Function Name/REST base rest REST1.0 http://pear.ethna.jp/Chiara_PEAR_Server_REST/
と,だらだらとコピペしてみたわけですが,確実にわかることは,pearとchiaraのサーバを使ったのとは明らかに違うってこと。あと,ethnaはREST1.1が表示されてない。
REST1.1削除
じゃあ,ということでchannel.xmlからREST1.1の記述を削除してみたところ,なんかうまく行きました。これについては, http://blog.poyo.jp/archives.php/categ-1/year-2006/month-5/id-1148188775 に書いてある話の通りなんでしょう。ということはカテゴリを追加すればいいのかな。
ちなみに,My Accountをクリックすると
Error Maintainer "Array" does not exist, cannot update
と表示されるのはBTSに上がっていました。やっぱalphaなんだよね。
もう一度やってみる
で,mysqlに入っているデータと,/home/apache/htdocs/pearに作られたファイルと,いろいろ不整合を起こしている可能性があるので,いったん全部drop/rm -rfしてからもう一度チャレンジ。
run-scriptsして,まずはchannel-infoしてみる。symfonyと同じ表示になる。つづいてカテゴリとパッケージを追加する。package.xmlに書いていたのとおなじ記述をして,maintainerに自分を追加。
ここでいったんremote-listしてみました。うあー,最初と同じエラーだorz。
結論
REST1.1を削除しましょう。とりあえず動くし,これでいいんじゃんー。