現在は openpear で公開されている PEAR_PackageProjector 0.1.3 は、PEAR 1.8.0 以降では動かない。PEAR Package バージョン1 向けのメソッドが削除されたためなのだが、作者でありメンテナでもある sakamoto さんと直で連絡をとる方法が openpear 上にもないようなので、この日記を書いた時点での最新のtrunk に対する patch を晒しておく。ダウンロードは上記リンクからどうぞ。
diff -ur /home/mumumu/ppp/src/PEAR/PackageProjector/Derictory.php /usr/local/php5/lib/php/PEAR/PackageProjector/Derictory.php
--- /home/mumumu/ppp/src/PEAR/PackageProjector/Derictory.php 2009-05-16 05:46:37.000000000 +0900
+++ /usr/local/php5/lib/php/PEAR/PackageProjector/Derictory.php 2009-05-16 06:04:22.000000000 +0900
@@ -307,7 +307,7 @@
if (self::isAbsolutePath($path)) {
return $path;
}
- $tmp = (OS_WINDOWS) ? getcwd() :$_ENV['PWD'];
+ $tmp = (OS_WINDOWS) ? getcwd() : getenv('PWD');
return $tmp .DIRECTORY_SEPARATOR.$path;
}
diff -ur /home/mumumu/ppp/src/PEAR/PackageProjector/Package.php /usr/local/php5/lib/php/PEAR/PackageProjector/Package.php
--- /home/mumumu/ppp/src/PEAR/PackageProjector/Package.php 2009-05-16 05:46:37.000000000 +0900
+++ /usr/local/php5/lib/php/PEAR/PackageProjector/Package.php 2009-05-16 06:08:01.000000000 +0900
@@ -44,6 +44,7 @@
$this->pkg = new PEAR_PackageFileManager2();
$this->options = array();
$this->options['filelistgenerator'] = 'file';
+ $this->options['packagefile'] = 'package2.xml';
$this->options['simpleoutput'] = true;
$this->postInstall = null;
$this->Installgroups = array();
@@ -155,9 +156,7 @@
$this->pkg->addReplacement($installer, 'pear-config', '@bin_dir@', 'bin_dir');
$this->pkg->addReplacement($installer, 'pear-config', '@php_dir@', 'php_dir');
}
- //
- $this->pkg->exportCompatiblePackageFile1();
- //$this->pkg->addRelease();
+ $this->pkg->addRelease();
$this->pkg->generateContents();
$result = $this->pkg->writePackageFile();
[ Update May 17th 2:27 JST by m ]
この patch を取り込んで openpear に新しいバージョンを置いておきました。
0 件のコメント:
コメントを投稿