きのうのつづき

まず,なにがうまく行かないかというと,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を削除しましょう。とりあえず動くし,これでいいんじゃんー。