CXXXIII. RPM ヘッダ読み込み関数

導入

このモジュールは、RedHat Package Manager (RPM) ファイルのヘッダに保存されているメタ情報を読み込む機能を提供します。

要件

RPMReader 拡張モジュールは、PHP 5 以降で動作します。

インストール手順

RPMReader は PHP にバンドルされていません。これは PECL 拡張モジュールであり、以下で 取得可能です。 http://pecl.php.net/package/rpmreader

RPMReader のサポートを有効にするには、 --with-rpmreader を指定して PHP をコンパイルします。

リソース型

RPMReader モジュールは 1 つのリソース型を使用します。 それは、作業対象の RPM ファイrうを指すファイルポインタです。

定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。

以下の定数の一覧は、rpm_get_tag() を使用して 情報を取得する際に使用されます。これらの定数は RPM ファイルの ヘッダセクションから取得できるタグ番号を表しています。個々の タグ番号が指すデータの内容について、以下で説明します。

RPMREADER_MINIMUM (integer)

使用可能な RPM タグ番号の最小値。

RPMREADER_NAME (integer)

RPM パッケージの名前。

RPMREADER_VERSION (integer)

RPM パッケージのバージョン。

RPMREADER_RELEASE (integer)

RPM パッケージのリリース番号。

RPMREADER_EPOCH (integer)

RPMREADER_SERIAL (integer)

RPMREADER_SUMMARY (integer)

RPM パッケージの概要テキスト。

RPMREADER_DESCRIPTION (integer)

RPM パッケージについての詳細な説明テキスト。

RPMREADER_BUILDTIME (integer)

RPM パッケージがビルドされた日付と時刻。

RPMREADER_BUILDHOST (integer)

RPM パッケージがビルドされたホストの名前。

RPMREADER_INSTALLTIME (integer)

RPMREADER_SIZE (integer)

RPM パッケージのサイズ。

RPMREADER_DISTRIBUTION (integer)

RPMREADER_VENDOR (integer)

RPMREADER_GIF (integer)

RPMREADER_XPM (integer)

RPMREADER_LICENSE (integer)

RPMREADER_COPYRIGHT (integer)

RPMREADER_PACKAGER (integer)

RPMREADER_GROUP (integer)

RPMREADER_SOURCE (integer)

RPMREADER_PATCH (integer)

RPMREADER_URL (integer)

RPMREADER_OS (integer)

RPMREADER_ARCH (integer)

RPMREADER_PREIN (integer)

RPMREADER_POSTIN (integer)

RPMREADER_PREUN (integer)

RPMREADER_POSTUN (integer)

RPMREADER_OLDFILENAMES (integer)

RPM パッケージ内のファイル一覧(古い形式)。現在では、 RPM が "CompressedFileNames" と呼んでいる方式のもとで 以下の 3 つの タグ(RPMREADER_BASENAMES, RPMREADER_DIRINDEXES, RPMREADER_DIRNAMES) を組み合わせて使用するのが正しい方法です。古い形式の RPM ファイルで "CompressedFileNames" を使用していないものではこのタグがまだ使用 されており、過去との互換性のためにこの定数が残されています。

RPMREADER_FILESIZES (integer)

RPMREADER_FILESTATES (integer)

RPMREADER_FILEMODES (integer)

RPMREADER_FILERDEVS (integer)

RPMREADER_FILEMTIMES (integer)

RPMREADER_FILEMD5S (integer)

RPMREADER_FILELINKTOS (integer)

RPMREADER_FILEFLAGS (integer)

RPMREADER_FILEUSERNAME (integer)

RPMREADER_FILEGROUPNAME (integer)

RPMREADER_ICON (integer)

RPMREADER_SOURCERPM (integer)

RPMREADER_FILEVERIFYFLAGS (integer)

RPMREADER_ARCHIVESIZE (integer)

RPMREADER_PROVIDENAME (integer)

RPMREADER_PROVIDES (integer)

RPMREADER_REQUIREFLAGS (integer)

RPMREADER_REQUIRENAME (integer)

RPMREADER_REQUIREVERSION (integer)

RPMREADER_CONFLICTFLAGS (integer)

RPMREADER_CONFLICTNAME (integer)

RPMREADER_CONFLICTVERSION (integer)

RPMREADER_EXCLUDEARCH (integer)

RPMREADER_EXCLUDEOS (integer)

RPMREADER_EXCLUSIVEARCH (integer)

RPMREADER_EXCLUSIVEOS (integer)

RPMREADER_RPMVERSION (integer)

RPMREADER_TRIGGERSCRIPTS (integer)

RPMREADER_TRIGGERNAME (integer)

RPMREADER_TRIGGERVERSION (integer)

RPMREADER_TRIGGERFLAGS (integer)

RPMREADER_TRIGGERINDEX (integer)

RPMREADER_VERIFYSCRIPT (integer)

RPMREADER_CHANGELOGTIME (integer)

Changelog エントリの更新日の一覧。

RPMREADER_CHANGELOGNAME (integer)

Changelog エントリの名前。

RPMREADER_CHANGELOGTEXT (integer)

Changelog エントリのテキストの一覧。

RPMREADER_PREINPROG (integer)

RPMREADER_POSTINPROG (integer)

RPMREADER_PREUNPROG (integer)

RPMREADER_POSTUNPROG (integer)

RPMREADER_BUILDARCHS (integer)

RPMREADER_OBSOLETENAME (integer)

RPMREADER_OBSOLETES (integer)

RPMREADER_VERIFYSCRIPTPROG (integer)

RPMREADER_TRIGGERSCRIPTPROG (integer)

RPMREADER_COOKIE (integer)

RPMREADER_FILEDEVICES (integer)

RPMREADER_FILEINODES (integer)

RPMREADER_FILELANGS (integer)

RPMREADER_PREFIXES (integer)

RPMREADER_INSTPREFIXES (integer)

RPMREADER_PROVIDEFLAGS (integer)

RPMREADER_PROVIDEVERSION (integer)

RPMREADER_OBSOLETEFLAGS (integer)

RPMREADER_OBSOLETEVERSION (integer)

RPMREADER_DIRINDEXES (integer)

RPM パッケージ内でのディレクトリ名とファイルとの 関連インデックスの一覧。 このタグは、RPM の新しい "CompressedFileNames" 方式で 格納されたファイル名を再構築するために RPMREADER_BASENAMES および RPMREADER_DIRNAMES とともに使用されます。

RPMREADER_BASENAMES (integer)

パス情報を含まない、RPM パッケージ内のファイル名の一覧。 このタグは、RPM の新しい "CompressedFileNames" 方式で 格納されたファイル名を再構築するために RPMREADER_DIRINDEXES および RPMREADER_DIRNAMES とともに使用されます。

RPMREADER_DIRNAMES (integer)

RPM パッケージ内のファイルが使用しているディレクトリ名の一覧。 このタグは、RPM の新しい "CompressedFileNames" 方式で 格納されたファイル名を再構築するために RPMREADER_BASENAMES および RPMREADER_DIRINDEXES とともに使用されます。

RPMREADER_OPTFLAGS (integer)

RPMREADER_DISTURL (integer)

RPMREADER_PAYLOADFORMAT (integer)

RPMREADER_PAYLOADCOMPRESSOR (integer)

RPMREADER_PAYLOADFLAGS (integer)

RPMREADER_INSTALLCOLOR (integer)

RPMREADER_INSTALLTID (integer)

RPMREADER_REMOVETID (integer)

RPMREADER_RHNPLATFORM (integer)

RPMREADER_PLATFORM (integer)

RPMREADER_PATCHESNAME (integer)

RPMREADER_PATCHESFLAGS (integer)

RPMREADER_PATCHESVERSION (integer)

RPMREADER_CACHECTIME (integer)

RPMREADER_CACHEPKGPATH (integer)

RPMREADER_CACHEPKGSIZE (integer)

RPMREADER_CACHEPKGMTIME (integer)

RPMREADER_FILECOLORS (integer)

RPMREADER_FILECLASS (integer)

RPMREADER_CLASSDICT (integer)

RPMREADER_FILEDEPENDSX (integer)

RPMREADER_FILEDEPENDSN (integer)

RPMREADER_DEPENDSDICT (integer)

RPMREADER_SOURCEPKGID (integer)

RPMREADER_FILECONTEXTS (integer)

RPMREADER_FSCONTEXTS (integer)

RPMREADER_RECONTEXTS (integer)

RPMREADER_POLICIES (integer)

RPMREADER_MAXIMUM (integer)

使用可能な RPM タグ番号の最大値。

この例では RPM ファイルをオープンし、ファイルから名前・バージョン・ リリース番号を読み込み、結果を表示してファイルを閉じます。

例 1. 基本的な RPMReader の例

<?php

$filename
= "/path/to/file.rpm";

// ファイルをオープンします
$rpmr = rpm_open($filename);

// "Name" タグを取得します
$name = rpm_get_tag($rpmr, RPMREADER_NAME);

// "Version" タグを取得します
$ver = rpm_get_tag($rpmr, RPMREADER_VERSION);

// "Release" タグを取得します
$rel = rpm_get_tag($rpmr, RPMREADER_RELEASE);

echo
"$name-$ver-$rel<br>\n";

// ファイルを閉じます
rpm_close($rpmr);

?>
目次
rpm_close -- RPM ファイルを閉じる
rpm_get_tag -- RPM ファイルからヘッダタグを取得する
rpm_is_valid -- filename が RPM ファイルであるかどうかを確かめる
rpm_open -- RPM ファイルをオープンする
rpm_version --  rpmreader 拡張モジュールの現在のバージョンを表す文字列を返す