Forum und email

RPM ヘッダ読み込み関数

導入

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

要件

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

インストール手順

この » PECL 拡張 モジュールは PHP にバンドルされていません。

この PECL 拡張モジュールをインストールする方法は、 マニュアルの PECL 拡張モジュールのインストール という章にあります。 新規リリース・ダウンロード・ソースファイル・管理者情報・CHANGELOG といった関連する情報については、次の場所にあります。 » https://pecl.php.net/package/rpmreader.

リソース型

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 ファイルをオープンし、ファイルから名前・バージョン・ リリース番号を読み込み、結果を表示してファイルを閉じます。

Example#1 基本的な RPMReader の例

<?php

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

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

// "Name" タグを取得します
$name rpm_get_tag($rpmrRPMREADER_NAME);

// "Version" タグを取得します
$ver rpm_get_tag($rpmrRPMREADER_VERSION);

// "Release" タグを取得します
$rel rpm_get_tag($rpmrRPMREADER_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 拡張モジュールの現在のバージョンを表す文字列を返す