[PHP-users 1767] Re: PEAR and portble library

TAKAHASHI Masayoshi php-users@php.gr.jp
Tue, 04 Sep 2001 12:30:02 +0900


高橋征義です。

# そっか、digest配送だとメールのMessage-ID:も分からないんですね。
# スレッドにならなかったらごめんなさい。というかサブジェクトの
# スペルを間違えてるよ(汗

堂前さん、お返事ありがとうございます。まとめてお返事します。

[PHP-users 1761]にて、
"Kiyotaka Doumae" <don-recv@don.am> wrote:
> きっちり試したわけではありませんが、一応現在の4.0.6でも動作するようです。
> 基本的にpearライブラリの中味はphpのスクリプトだけで、実行バイナリを
> 生成するようなものは無いようですので。

なるほど、そうなんですか。
でも、CVS版の /php4/pear ではファイルの中身が結構変わってるし、
/pearの方はCになっているし(! これが「インストーラーをバイナリ
形式で書き直すとかいう話」からの成果物なんでしょうかね)で、
どれをどうすればよいのやら、という気分です。

> では、package.xmlはどうやって書くのかというと、これが資料が見当たりま
> せん(T_T)

本家のpear-dev ML で探してみました。すると、

[PEAR-DEV] [HowTo] Pear Installer
http://marc.theaimsgroup.com/?l=pear-dev&m=99554792312670&w=2

というのが投稿されてました。これによれば、

http://php.net/pear/package.dtd

にあるDTDに従って書けばいいようです。……が、CVS の php4/pear/package.dtd
よりもバージョンが古いみたいですね。上記URLのDTDには「version 1.0」
と書かれていますが、CVSの方は「version 1.1b1」となっています。

# DTDのバージョン番号が変わるなら、ふつう package.xml に
# その番号を入れる場所を作っておくんじゃないのか??


[PHP-users 1762]にて、
"Kiyotaka Doumae" <don-recv@don.am> wrote:
> ただし、インストールしたパッケージの登録がうまくいかないとか、微妙に
> 怪しい挙動をしています。

うーん、こちらでは、pear package <どこぞのpackage.xml> というのが
成功しません(;_;)

PEAR_Packager の function Package の中で、

        $pkginfofile = $this->tmpdir . DIRECTORY_SEPARATOR . "package.xml";
        $fp = fopen($pkginfofile, "w");

とやっているところがありますが、この $this->tmpdir が空なので、
/ 直下にファイルを作ろうとし、その結果エラーになります。

なんとなく $this->tmpdir の値をセットするところがないような気が
します。実際、CVS版の方にはこの部分がかなり変わっていますし。

高橋征義 (TAKAHASHI Masayoshi)       Email:maki@inac.co.jp