昨日のエントリだと微妙に(かなり?)足りないところがあったので追記です。
このファイルは違うところにインストールしたいんだよなぁ、とかOSがこれだったらこのファイルはいらないんだよなぁとかそんな話です。
それからPEAR_PackageFileManager2のAPIドキュメントがありました。
これがあるのとないのとでは大違いです。
このファイルは違うところにインストールしたいんだよなぁ
例えば実行可能なスクリプトファイルはパスが通ったところにおきたいとかそんな場合。
PEAR_PackageFileManager2::setOptionsの引数のarrayにinstallexceptionsというキーでarrayを追加します。
追加するarrayはキーがファイル名で値がインストールするディレクトリです。
"installexceptions" => array("bin/hoge.bat" => "/", "bin/hoge.sh" => "/")
こんな感じでいけると思います。
OSがこれだったらこのファイルはいらないんだよなぁ
上記の例なら.shはWindowsにはいらないし、.batはlinux系ならいらないとかそんな場合。
手順は
- 条件毎にPEAR_PackageFileManager2::addRelease()でphpreleaseタグを追加
- PEAR_PackageFileManager2::setOsInstallCondition()でOSを指定
- PEAR_PackageFileManager2::addIgnoreToRelease()で該当のファイルを除外
$packagexml->addRelease(); $packagexml->setOsInstallCondition("windows"); $packagexml->addIgnoreToRelease("bin/hoge.sh"); $packagexml->addRelease(); $packagexml->setOsInstallCondition("unix"); $packagexml->addIgnoreToRelease("bin/hoge.bat");