wiki:PackagingPolicy/PHP

Version 3 (modified by tomop, 9 years ago) (diff)

--

PHPライブラリ系パッケージのポリシー

PHPのライブラリ的なものとしては、大きく分けて以下の2種類があります。

  • 機能拡張(PECLモジュール等、C言語等で書かれたもの)
  • PHPコンポーネント(PEARコンポーネント等、PHP言語で書かれたもの)

これらのパッケージングポリシーについて以下に記述します。

パッケージ命名規則

機能拡張

"php-ext-(拡張機能名)"とします。

(例)Memcache拡張の場合

  • php-ext-memcache

PHPコンポーネント

"php-(コンポーネント名)"とします。アンダスコア("_")はハイフン("-")に変換します。

(例)Archive_Tarクラスの場合

  • php-Archive-Tar

機能拡張のパッケージング時のrpmマクロ

PHP本体のAPIバージョンと合っているパッケージのみインストール可能となるよう、以下のマクロを用意してあります。

  • %req_php_api (PHP extension用)
  • %req_zend_api (Zend extension用)

specファイル中にて、

%if "%{?req_php_api}" != ""
Requires: %{req_php_api}
%endif

と記述することにより、rpm依存関係上でも、機能拡張パッケージのbuild時に使用したPHPと同じAPIバージョンを要求するようになります。