PEAR パッケージの作り方

| | コメント(0)
すごいいまさらなんだけど、やったらすごい簡単だったのでメモ。 (昔やろうとしてめんどくさくて投げ出した気がする)

■ (1) PEAR_PackageFileManager をインストール

$ sudo pear install PEAR_PackageFileManager
 :
install ok: channel://pear.php.net/PEAR_PackageFileManager-1.6.1

■ (2) テスト用に適当にパッケージしたいファイルを作る

$ mkdir ~/work/pear_services_hoge
$ cd ~/work/pear_services_hoge
$ vi Hoge.php
<?php

class Services_Hoge
{
    function Services_Hoge()
    {
        echo "Hoge!¥n";
    }
}

■ (3) package.xml を作るためのスクリプトを作成

パッケージを定義するxmlを生成するためのスクリプトを書くという、なんとも言えぬ作業。 (XMLを手で書けばこの作業はいらないんだろうけど...) $ vi generatePackage.xml.php
<?php

require_once 'PEAR/PackageFileManager.php';
PEAR::setErrorHandling(PEAR_ERROR_DIE);

$pm = new PEAR_PackageFileManager();
$pm->setOptions(array(
    'package'           => 'Services_Hoge',
    'summary'           => '**summary**',
    'description'       => '**desc**',
    'baseinstalldir'    => 'Services',
    'version'           => '0.0.1',
    'packagedirectory'  => dirname(__FILE__),
    'state'             => 'alpha',
    'filelistgenerator' => 'file',
    'notes'             => '** release note **',
    'ignore'            => array('package.xml', basename(__FILE__))
    ));

$pm->addDependency('PEAR', '1.1');
$pm->addDependency('XML_Serializer', '0.10.0');
$pm->addMaintainer('**nickname**', 'lead', '**Your Name**', '**you@example.com**');
$pm->writePackageFile();

■ (4) package.xml を生成

さっきのスクリプトを実行してxmlを生成する。
$ php generatePackage.xml.php
$ ls
Hoge.php  generatePackage.xml.php  package.xml

■ (5) package作成

pearコマンドをつかってパッケージを生成。
$ pear package
Analyzing Hoge.php
Package Services_Hoge-0.0.1.tgz done
Services_Hoge-0.0.1.tgz とかいうファイルがでけた。
$ ls
Hoge.php  Services_Hoge-0.0.1.tgz  generatePackage.xml.php package.xml

■ (6) インストールしてみる

$ sudo pear install Services_Hoge-0.0.1.tgz
install ok: channel://pear.php.net/Services_Hoge-0.0.1
$ ls -l  /usr/local/lib/php/Services/Hoge.php
-rw-r--r--   1 root  admin  95 10  1 22:38 /usr/local/lib/php/Services/Hoge.php
インストールできた。 ところで、PEAR_PackageFileManager2 ってどこにあるんだ? pear.php.net を探したけど、みつからず。

カテゴリ

,
 

コメントする

このブログ記事について

このページは、が2007年10月 1日 22:07に書いたブログ記事です。

ひとつ前のブログ記事は「SWEET LOVE SHOWER 2007」です。

次のブログ記事は「MT4へのアップグレードで Can't call method "archive_type" 」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。