PEARパッケージの作り方
MoonyをPEARのパッケージにしてみるテスト。
まず、PEAR::PEAR_PackageFileManagerを利用してpackage.xmlを作成する。
まだalphaバージョンの1.6.0a6をインストール。
$ pear config-set preferred-state alpha $ pear install --alldeps PEAR/PEAR_PackageFileManager
PEAR_PackageFileManager2を利用してpackage.xmlを作成するスクリプト(gen_package.xml.php):
<?php require_once 'PEAR/PackageFileManager2.php'; PEAR::setErrorHandling(PEAR_ERROR_DIE); $pkg = new PEAR_PackageFileManager2; $opts = array( 'baseinstalldir' => 'Moony', 'packagedirectory' => '/path/to/Moony/', 'filelistgenerator' => 'file', 'exceptions' => array('CHANGELOG' => 'doc', 'LICENSE' => 'doc') ); $pkg->setOptions($opts); $pkg->setPackage('Moony'); $pkg->setSummary('The web application framework'); $pkg->setDescription('The web application framework (using Smarty for the template engine)'); $pkg->setLicense('The BSD License', 'http://www.opensource.org/licenses/bsd-license.php'); $pkg->setReleaseVersion('0.7.0'); $pkg->setAPIVersion('0.7.0'); $pkg->setReleaseStability('beta'); $pkg->setAPIStability('beta'); $pkg->setPackageType('php'); $pkg->setPhpDep('4.3.0'); $pkg->setPearinstallerDep('1.3.5'); $pkg->setUri('http://moony.sourceforge.jp/'); $pkg->addIgnore('*CVS*'); $pkg->addMaintainer('lead', 'hiro_y', 'YAMAOKA Hiroyuki', 'yamaoka@catwalker.jp'); $pkg->addRelease(); $pkg->setNotes('Moony'); $pkg->generateContents(); if (isset($argv[1]) && $argv[1] == 'make') { $pkg->writePackageFile(); } else { $pkg->debugPackageFile(); } ?>
以下のようにスクリプトを実行すると、packagedirectoryに指定したディレクトリにpackage.xmlが作成される。
$ php /path/to/gen_package.xml.php make
あとは作成されたpackage.xmlとpackagedirectoryのディレクトリをまとめてtar.gzに固めてしまえばOK。例えば、Moony-0.7.0.tar.gzというファイル名にした場合、以下のコマンドでインストールできる。
$ pear install /path/to/Moony-0.7.0.tar.gz
アンインストールする場合は以下のコマンドを実行。
$ pear uninstall __uri/Moony