パッケージ定義ファイル package.xml は、 その名前からもわかるように、PEAR パッケージの情報を含む 整形式 XML ファイルです。バージョン 2.0 では、バージョン 1.0 に対して以下のような重要な拡張が施されています。
チャネルのサポート
バイナリ PECL パッケージのサポート (PEAR 1.4.0 では完全には実装されていません)
より具体的な依存性解決
既存のバージョン 1.0 の package.xml については、以下のコマンドにより ほぼ等価なパッケージを作成することが可能です。
$ pear convert
|
PEAR_PackageFileManager は、バージョン 1.6.0a1 以降で PEAR_PackageFileManager2 クラスによって package.xml 2.0 をサポートしていることに注意しましょう。
PECL 開発者向け: PECL 固有の機能についての詳細な情報は こちらをご覧ください。
<?xml version="1.0"?>
<package version="2.0" xmlns="http://pear.php.net/dtd/package-2.0"
xmlns:tasks="http://pear.php.net/dtd/tasks-1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0
http://pear.php.net/dtd/tasks-1.0.xsd
http://pear.php.net/dtd/package-2.0
http://pear.php.net/dtd/package-2.0.xsd">
<name>PEAR</name>
<channel>pear.php.net</channel>
<summary>1 行での概要説明</summary>
<description>長めの説明文。
この文は、リリース間で変わることはあまりありません。リリースノートには
"notes" タグを使用します。
</description>
<lead>
<name>Greg Beaver</name>
<user>cellog</user>
<email>cellog@php.net</email>
<active>yes</active>
</lead>
<date>2005-02-26</date>
<time>20:30:13</time> <-- 注意: <time> はオプションです -->
<version>
<release>1.4.0a2</release>
<api>1.4.0</api>
</version>
<stability>
<release>alpha</release>
<api>alpha</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
リリースノートをここに記述します。
複数行にまたがることも可能です。
</notes>
<contents>
<dir name="/">
<dir name="PEAR">
<dir name="ChannelFile">
<file name="Parser.php" role="php" />
</dir> <!-- /PEAR/ChannelFile -->
<file name="Dependency2.php" role="php">
<tasks:replace from="@PEAR-VER@" to="version" type="package-info"/>
</file>
</dir> <!-- /PEAR -->
<dir name="scripts" baseinstalldir="/">
<file name="pear.bat" role="script">
<tasks:replace from="@bin_dir@" to="bin_dir" type="pear-config" />
<tasks:replace from="@php_bin@" to="php_bin" type="pear-config" />
<tasks:replace from="@include_path@" to="php_dir" type="pear-config" />
<tasks:windowseol/>
</file>
<file name="pecl.bat" role="script">
<tasks:replace from="@bin_dir@" to="bin_dir" type="pear-config" />
<tasks:replace from="@php_bin@" to="php_bin" type="pear-config" />
<tasks:replace from="@include_path@" to="php_dir" type="pear-config" />
<tasks:windowseol/>
</file>
<file name="pear.sh" role="script">
<tasks:replace from="@php_bin@" to="php_bin" type="pear-config" />
<tasks:replace from="@php_dir@" to="php_dir" type="pear-config" />
<tasks:replace from="@pear_version@" to="version" type="package-info" />
<tasks:replace from="@include_path@" to="php_dir" type="pear-config" />
<tasks:unixeol/>
</file>
<file name="pecl.sh" role="script">
<tasks:replace from="@php_bin@" to="php_bin" type="pear-config" />
<tasks:replace from="@php_dir@" to="php_dir" type="pear-config" />
<tasks:replace from="@pear_version@" to="version" type="package-info" />
<tasks:replace from="@include_path@" to="php_dir" type="pear-config" />
<tasks:unixeol/>
</file>
<file name="pearcmd.php" role="php">
<tasks:replace from="@php_bin@" to="php_bin" type="pear-config" />
<tasks:replace from="@php_dir@" to="php_dir" type="pear-config" />
<tasks:replace from="@pear_version@" to="version" type="package-info" />
<tasks:replace from="@include_path@" to="php_dir" type="pear-config" />
</file>
<file name="peclcmd.php" role="php">
<tasks:replace from="@php_bin@" to="php_bin" type="pear-config" />
<tasks:replace from="@php_dir@" to="php_dir" type="pear-config" />
<tasks:replace from="@pear_version@" to="version" type="package-info" />
<tasks:replace from="@include_path@" to="php_dir" type="pear-config" />
<tasks:footask/>
</file>
</dir> <!-- /scripts -->
<file name="package.dtd" role="data" />
<file name="postinstall.php" role="php">
<tasks:postinstallscript/>
</file>
<file name="template.spec" role="foo" />
</dir> <!-- / -->
</contents>
<compatible>
<name>FooPackage</name>
<channel>pear.php.net</channel>
<min>1.3.0</min>
<max>1.5.0</max>
</compatible>
<dependencies>
<required>
<php>
<min>4.2</min>
<max>6.0.0</max>
</php>
<pearinstaller>
<min>1.4.0dev13</min>
</pearinstaller>
<package>
<name>Archive_Tar</name>
<channel>pear.php.net</channel>
<min>1.1</min>
<recommended>1.2</recommended>
</package>
<package>
<name>Foo</name>
<uri>http://www.example.com/Foo-1.2.0.tgz</uri>
</package>
<extension>
<name>xml</name>
</extension>
<os>
<name>windows</name>
<conflicts/>
</os>
<arch>
<pattern>*-i?86-*-*</pattern>
</arch>
</required>
<optional>
<package>
<name>PEAR_Frontend_Web</name>
<channel>pear.php.net</channel>
<min>0.5.0</min>
</package>
<package>
<name>PEAR_Frontend_Gtk</name>
<channel>pear.php.net</channel>
<min>0.4.0</min>
</package>
</optional>
<group name="remoteinstall" hint="パッケージをリモートの ftp サーバにインストールする機能を追加します">
<package>
<name>Net_FTP</name>
<channel>pear.php.net</channel>
<min>1.3.0RC1</min>
<recommended>1.3.0</recommended>
</package>
</group>
<group name="webinstaller" hint="Web ベースの PEAR インストーラ">
<package>
<name>PEAR_Frontend_Web</name>
<channel>pear.php.net</channel>
<min>0.5.0</min>
</package>
</group>
<group name="gtkinstaller" hint="PHP-GTK ベースの PEAR インストーラ">
<package>
<name>PEAR_Frontend_Gtk</name>
<channel>pear.php.net</channel>
<min>0.4.0</min>
</package>
</group>
</dependencies>
<usesrole>
<role>foo</role>
<package>Foo</package>
<channel>pear.example.com</channel>
</usesrole>
<usestask>
<task>footask</task>
<package>Footask</package>
<channel>pear.example.com</channel>
</usestask>
<phprelease>
<installconditions>
<os>
<name>windows</name>
</os>
</installconditions>
<filelist>
<install as="pear.bat" name="scripts/pear.bat" />
<install as="pecl.bat" name="scripts/pecl.bat" />
<install as="pearcmd.php" name="scripts/pearcmd.php" />
<install as="peclcmd.php" name="scripts/peclcmd.php" />
<ignore name="scripts/pear.sh" />
<ignore name="scripts/pecl.sh" />
</filelist>
</phprelease>
<phprelease>
<filelist>
<install as="pear" name="scripts/pear.sh" />
<install as="pecl" name="scripts/pecl.sh" />
<install as="pearcmd.php" name="scripts/pearcmd.php" />
<install as="peclcmd.php" name="scripts/peclcmd.php" />
<ignore name="scripts/pear.bat" />
<ignore name="scripts/pecl.bat" />
</filelist>
</phprelease>
<changelog>
<release>
<version>
<release>1.3.5</release>
<api>1.3.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<date>2005-02-26</date>
<license uri="http://www.php.net/license/3_0.txt">PHP License</license>
<notes>
* fix Bug #3505: pecl can't install PDO
* enhance pear run-tests dramatically
* fix Bug #3506: pear install should export the pear version into the environment
</notes>
</release>
<release>
<version>
<release>1.4.0a1</release>
<api>1.4.0</api>
</version>
<stability>
<release>alpha</release>
<api>alpha</api>
</stability>
<date>2005-02-26</date>
<license uri="http://www.php.net/license/3_0.txt">PHP License</license>
<notes>
This is a major milestone release for PEAR. In addition to several killer features,
every single element of PEAR has a regression test, and so stability is much higher
than any previous PEAR release, even with the alpha label.
New features in a nutshell:
* full support for channels
* pre-download dependency validation
* new package.xml 2.0 format allows tremendous flexibility while maintaining BC
* support for optional dependency groups and limited support for sub-packaging
* robust dependency support
* full dependency validation on uninstall
* support for binary PECL packages
* remote install for hosts with only ftp access - no more problems with
restricted host installation
* full support for mirroring
* support for bundling several packages into a single tarball
* support for static dependencies on a url-based package
Specific changes from 1.3.5:
* Implement request #1789: SSL support for xml-rpc and download
* Everything above here that you just read
</notes>
</release>
</changelog>
</package> |
| 前のページ | ホーム | 次のページ |
| パッケージ定義ファイル package.xml | 上に戻る | PECL 開発者向けの特別な情報 |
PR 神戸 ホテル 人材派遣 アルバイト ディレクトリ 会社設立 産業廃棄物収集運搬業許可 風俗営業許可(バー・キャバクラ等)