CXXVI. RPM Header Reading Функции

Введение

This module allows you to read the meta information stored in the headers of a RedHat Package Manager (RPM) file.

Требования

The RPMReader extension requires PHP 5.

Установка

RPMReader is not bundled with PHP. It is a PECL extension and can be located here: http://pecl.php.net/package/rpmreader.

To enable extname support, configure PHP with --with-rpmreader

Типы ресурсов

There is one resource type used by the RPMReader module. The resource is a file pointer which identifies the RPM file with which to work.

Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

The following list of constants are used to obtain information using the rpm_get_tag() function. These constants represent the tag number to be retrieved from the RPM file's header section. Descriptions are given below as to what data the tag number constants reference.

RPMREADER_MINIMUM (integer)

The minimum valid value of any RPM tag number.

RPMREADER_NAME (integer)

The name of the RPM package.

RPMREADER_VERSION (integer)

The version of the RPM package.

RPMREADER_RELEASE (integer)

The release of the RPM package.

RPMREADER_EPOCH (integer)

RPMREADER_SERIAL (integer)

RPMREADER_SUMMARY (integer)

The summary text of the RPM package.

RPMREADER_DESCRIPTION (integer)

The full description text of the RPM package.

RPMREADER_BUILDTIME (integer)

The date and time when the RPM package was built.

RPMREADER_BUILDHOST (integer)

The name of the host on which the RPM package was built.

RPMREADER_INSTALLTIME (integer)

RPMREADER_SIZE (integer)

The size of the RPM package.

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)

The list of files in an RPM package (deprecated format). The correct way is now to use a combination of 3 tags (RPMREADER_BASENAMES, RPMREADER_DIRINDEXES, RPMREADER_DIRNAMES) in what RPM now calls "CompressedFileNames". This tag is still used in older RPM files that did not use the "CompressedFileNames" method and is maintained for backward compatibility.

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)

The list of dates from changelog entries.

RPMREADER_CHANGELOGNAME (integer)

The list of changelog entry names.

RPMREADER_CHANGELOGTEXT (integer)

The list of the text from changelog entries.

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)

The list of indices that relate directory names to files in the RPM package. This tag is used in conjunction with RPMREADER_BASENAMES and RPMREADER_DIRNAMES to reconstruct filenames in the RPM package stored with the new "CompressedFileNames" method in RPM.

RPMREADER_BASENAMES (integer)

The list of the names of files in the RPM package without path information. This tag is used in conjunction with RPMREADER_DIRINDEXES and RPMREADER_DIRNAMES to reconstruct filenames in the RPM package stored with the new "CompressedFileNames" method in RPM.

RPMREADER_DIRNAMES (integer)

The list of directory names used by files in the RPM package. This tag is used in conjunction with RPMREADER_BASENAMES and RPMREADER_DIRINDEXES to reconstruct filenames in the RPM package stored with the new "CompressedFileNames" method in RPM.

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)

The maximum valid value of any RPM tag number.

Примеры

This example will open an RPM file and read the name, version, and release from the RPM file, echo the results, and close the RPM file.

Пример 1. Basic RPMReader Example

<?php

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

// open file
$rpmr = rpm_open($filename);

// get "Name" tag
$name = rpm_get_tag($rpmr, RPMREADER_NAME);

// get "Version" tag
$ver = rpm_get_tag($rpmr, RPMREADER_VERSION);

// get "Release" tag
$rel = rpm_get_tag($rpmr, RPMREADER_RELEASE);

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

// close file
rpm_close($rpmr);

?>
Содержание
rpm_close -- Closes an RPM file
rpm_get_tag -- Retrieves a header tag from an RPM file
rpm_is_valid -- Tests a filename for validity as an RPM file
rpm_open -- Opens an RPM file
rpm_version -- Returns a string representing the current version of the rpmreader extension