#include "rpmio.h"
#include "rpmmessages.h"
#include "rpmerr.h"
#include "header.h"
#include "popt.h"
Include dependency graph for rpmlib.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Definition in file rpmlib.h.
#define _noTransScripts |
Value:
( RPMTRANS_FLAG_NOPRE | \ RPMTRANS_FLAG_NOPOST | \ RPMTRANS_FLAG_NOPREUN | \ RPMTRANS_FLAG_NOPOSTUN \ )
Definition at line 951 of file rpmlib.h.
Referenced by installArgCallback(), main(), and rpmtsRun().
#define _noTransTriggers |
Value:
( RPMTRANS_FLAG_NOTRIGGERPREIN | \ RPMTRANS_FLAG_NOTRIGGERIN | \ RPMTRANS_FLAG_NOTRIGGERUN | \ RPMTRANS_FLAG_NOTRIGGERPOSTUN \ )
Definition at line 958 of file rpmlib.h.
Referenced by installArgCallback(), main(), and rpmtsRun().
#define RPM_MACHTABLE_COUNT 4 |
No. of arch/os tables.
Definition at line 590 of file rpmlib.h.
Referenced by doReadRC(), and rpmFreeRpmrc().
#define RPMAL_NOMATCH ((alKey)-1L) |
Definition at line 72 of file rpmlib.h.
Referenced by addRelation(), init_rpm(), rpmalAdd(), rpmalAllFileSatisfiesDepend(), rpmalAllSatisfiesDepend(), rpmteAddedKey(), rpmteSetAddedKey(), rpmtsAddAvailableElement(), rpmtsAddEraseElement(), rpmtsAddInstallElement(), and rpmtsOrder().
#define RPMDBI_ADDED 3 |
Definition at line 169 of file rpmlib.h.
Referenced by _tagName(), _tagType(), _tagValue(), rpmdbAdd(), rpmdbMoveDatabase(), rpmdbOpenAll(), rpmdbOpenDatabase(), rpmdbRemove(), and rpmgiNext().
#define RPMDBI_ARGLIST 7 |
Definition at line 173 of file rpmlib.h.
Referenced by _tagName(), _tagType(), _tagValue(), rpmcliArgIter(), rpmgiGlobArgv(), and rpmgiNext().
#define RPMDBI_AVAILABLE 5 |
Definition at line 171 of file rpmlib.h.
Referenced by _tagName(), _tagType(), _tagValue(), rpmdbAdd(), rpmdbMoveDatabase(), rpmdbOpenAll(), rpmdbOpenDatabase(), and rpmdbRemove().
#define RPMDBI_DEPENDS 1 |
Definition at line 167 of file rpmlib.h.
Referenced by _tagName(), _tagType(), _tagValue(), rpmdbAdd(), rpmdbMoveDatabase(), rpmdbOpenAll(), rpmdbOpenDatabase(), rpmdbRemove(), rpmgiNext(), rpmtsCheck(), and unsatisfiedDepend().
#define RPMDBI_FTSWALK 8 |
Definition at line 174 of file rpmlib.h.
Referenced by _tagName(), _tagType(), _tagValue(), rpmcliArgIter(), rpmgiGlobArgv(), and rpmgiNext().
#define RPMDBI_HDLIST 6 |
Definition at line 172 of file rpmlib.h.
Referenced by _tagName(), _tagType(), _tagValue(), rpmcliArgIter(), rpmgiGlobArgv(), and rpmgiNext().
#define RPMDBI_LABEL 2 |
Definition at line 168 of file rpmlib.h.
Referenced by rpmcliArgIter(), rpmdbInitIterator(), rpmErase(), rpmQueryVerify(), rpmts_AddErase(), and rpmtsInitIterator().
#define RPMDBI_PACKAGES 0 |
Pseudo-tags used by the rpmdb and rpmgi iterator API's.
Definition at line 166 of file rpmlib.h.
Referenced by _tagName(), _tagType(), _tagValue(), dbiFindMatches(), dbiOpen(), dbiTagsInit(), handleInstInstalledFiles(), handleRmvdInstalledFiles(), init_rpm(), markReplacedFiles(), rpmcliArgIter(), rpmdb_length(), rpmdb_Match(), rpmdb_subscript(), rpmdbAdd(), rpmdbFindByFile(), rpmdbFreeIterator(), rpmdbInitIterator(), rpmdbNextIterator(), rpmdbOpenDatabase(), rpmdbRebuild(), rpmdbRemove(), rpmgiInitFilter(), rpmgiNext(), rpmpsmStage(), rpmQueryVerify(), rpmts_AddErase(), and rpmts_Match().
#define RPMDBI_REMOVED 4 |
Definition at line 170 of file rpmlib.h.
Referenced by _tagName(), _tagType(), _tagValue(), rpmdbAdd(), rpmdbMoveDatabase(), rpmdbOpenAll(), rpmdbOpenDatabase(), rpmdbRemove(), and rpmgiNext().
#define RPMFILE_STATE_MISSING -1 |
#define RPMLEAD_BINARY 0 |
Definition at line 1013 of file rpmlib.h.
Referenced by packageBinaries(), rpmpsmStage(), and writeRPM().
#define RPMLEAD_SOURCE 1 |
#define RPMTAG_Buildbuild 0x5bae1a5a |
Referenced by initSourceHeaderScriptlets().
#define RPMTAG_Buildbuildprog 0x6fb46014 |
Referenced by initSourceHeaderScriptlets().
#define RPMTAG_Buildcheck 0x7f3b97b5 |
Referenced by initSourceHeaderScriptlets().
#define RPMTAG_Buildcheckprog 0x488a60ce |
Referenced by initSourceHeaderScriptlets().
#define RPMTAG_Buildclean 0x566042bf |
Referenced by initSourceHeaderScriptlets().
#define RPMTAG_Buildcleanprog 0x42c93d41 |
Referenced by initSourceHeaderScriptlets().
#define RPMTAG_Buildinstall 0x567f5983 |
Referenced by initSourceHeaderScriptlets().
#define RPMTAG_Buildinstallprog 0x70d4ab6f |
Referenced by initSourceHeaderScriptlets().
#define RPMTAG_Buildprep 0x799c0b4d |
Referenced by initSourceHeaderScriptlets().
#define RPMTAG_Buildprepprog 0x4ba37c9e |
Referenced by initSourceHeaderScriptlets().
#define RPMTAG_Buildtimeuuid 0x782eeb68 |
#define RPMTAG_C RPMTAG_CONFLICTNAME |
#define RPMTAG_CONFLICTS RPMTAG_CONFLICTNAME |
Referenced by _tagName().
#define RPMTAG_Conflictsqlentry 0x7efaed0d |
#define RPMTAG_Conflictxmlentry 0x61333865 |
#define RPMTAG_E RPMTAG_EPOCH |
#define RPMTAG_ENHANCES RPMTAG_ENHANCESNAME |
#define RPMTAG_FILEMD5S RPMTAG_FILEDIGESTS |
Referenced by hdr_subscript(), and rpmdbAdd().
#define RPMTAG_Filenames 0x54aafb71 |
#define RPMTAG_Filessqlentry1 0x4493df20 |
#define RPMTAG_Filessqlentry2 0x515aae25 |
#define RPMTAG_Filesxmlentry1 0x42974275 |
#define RPMTAG_Filesxmlentry2 0x7f69e738 |
#define RPMTAG_HDRID RPMTAG_SHA1HEADER |
Referenced by _tagName(), addTE(), hdruuidTag(), rpmHeadersIdentical(), and rpmteChain().
#define RPMTAG_Hdruuid 0x42cba9cf |
#define RPMTAG_Installprefix 0x67b450ec |
#define RPMTAG_Installtiduuid 0x59784ccd |
#define RPMTAG_Installtimeuuid 0x51b2ff6a |
#define RPMTAG_N RPMTAG_NAME |
#define RPMTAG_O RPMTAG_OBSOLETENAME |
#define RPMTAG_OBSOLETES RPMTAG_OBSOLETENAME |
#define RPMTAG_Obsoletesqlentry 0x4e0e61b0 |
#define RPMTAG_Obsoletexmlentry 0x5a7ce878 |
#define RPMTAG_Origintiduuid 0x5fde8cfd |
#define RPMTAG_Origintimeuuid 0x66bb891b |
#define RPMTAG_P RPMTAG_PROVIDENAME |
#define RPMTAG_PKGID RPMTAG_SIGMD5 |
Referenced by addTE(), pkguuidTag(), and rpmteChain().
#define RPMTAG_Pkguuid 0x44703c2c |
#define RPMTAG_PROVIDES RPMTAG_PROVIDENAME |
Referenced by rpmdsELF().
#define RPMTAG_Providesqlentry 0x599f1b4a |
#define RPMTAG_Providexmlentry 0x6569bce6 |
#define RPMTAG_R RPMTAG_RELEASE |
#define RPMTAG_Removetiduuid 0x6a884e83 |
#define RPMTAG_REQUIRES RPMTAG_REQUIRENAME |
#define RPMTAG_Requiresqlentry 0x723158aa |
#define RPMTAG_Requirexmlentry 0x54b25cd7 |
#define RPMTAG_Sourcepkguuid 0x4eedc6f9 |
#define RPMTAG_SUGGESTS RPMTAG_SUGGESTSNAME |
#define RPMTAG_SVNID RPMTAG_CVSID |
#define RPMTAG_Trackprog 0x46c39442 |
#define RPMTAG_Triggerconds 0x46ced1cc |
#define RPMTAG_Triggertype 0x562d6086 |
#define RPMTAG_V RPMTAG_VERSION |
#define XFA_SKIPPING | ( | _a | ) | ((_a) == FA_SKIP || (_a) == FA_SKIPNSTATE || (_a) == FA_SKIPNETSHARED || (_a) == FA_SKIPCOLOR) |
Definition at line 774 of file rpmlib.h.
Referenced by dnlInitIterator(), fsmCommitLinks(), fsmMakeLinks(), fsmStage(), handleInstInstalledFiles(), handleOverlappedFiles(), rpmtsRun(), saveHardLink(), and skipFiles().
typedef enum fileAction_e fileAction |
File disposition(s) during package install/erase transaction.
typedef enum fileTypes_e fileTypes |
File types.
These are the file types used internally by rpm. The file type is determined by applying stat(2) macros like S_ISDIR to the file mode tag from a header. The values are arbitrary, but are identical to the linux stat(2) file types.
typedef enum rpmfileAttrs_e rpmfileAttrs |
File Attributes.
typedef enum rpmfileState_e rpmfileState |
File States (when installed).
typedef enum rpmprobFilterFlags_e rpmprobFilterFlags |
typedef struct rpmRelocation_s* rpmRelocation |
typedef enum rpmScriptID_e rpmScriptID |
Scriptlet identifiers.
typedef enum rpmScriptState_e rpmScriptState |
Scriptlet states (when installed).
enum fileAction_e |
File disposition(s) during package install/erase transaction.
enum fileTypes_e |
File types.
These are the file types used internally by rpm. The file type is determined by applying stat(2) macros like S_ISDIR to the file mode tag from a header. The values are arbitrary, but are identical to the linux stat(2) file types.
enum rpmfileAttrs_e |
File Attributes.
enum rpmfileState_e |
enum rpmprobFilterFlags_e |
enum rpmRC_e |
enum rpmScriptID_e |
Scriptlet identifiers.
enum rpmScriptState_e |
Scriptlet states (when installed).
Check header consistency, performing headerGetEntry() the hard way.
Sanity checks on the header are performed while looking for a header-only digest or signature to verify the blob. If found, the digest or signature is verified.
ts | transaction set | |
uh | unloaded header blob | |
uc | no. of bytes in blob (or 0 to disable) |
*msg | signature verification msg |
Definition at line 691 of file package.c.
References _, alloca(), headerVerifyInfo(), REGION_TAG_COUNT, RPM_BIN_TYPE, RPM_STRING_TYPE, RPMRC_FAIL, RPMRC_NOTFOUND, RPMTAG_HEADERIMMUTABLE, RPMTAG_SHA1HEADER, rpmtsVSFlags(), RPMVSF_NOSHA1HEADER, and snprintf().
Referenced by rpmpsmStage(), rpmReadHeader(), rpmts_HdrCheck(), rpmtsInitIterator(), and rpmtsRebuildDB().
int headerVerifyInfo | ( | int | il, | |
int | dl, | |||
const void * | pev, | |||
void * | iv, | |||
int | negate | |||
) |
Perform simple sanity and range checks on header tag(s).
il | no. of tags in header | |
dl | no. of bytes in header data. | |
pev | 1st element in tag array, big-endian | |
iv | failing (or last) tag element, host-endian | |
negate | negative offset expected? |
Definition at line 647 of file package.c.
References entryInfo_s::count, hdrchkAlign, hdrchkData, hdrchkRange, hdrchkType, entryInfo_s::offset, entryInfo_s::tag, and entryInfo_s::type.
Referenced by headerCheck(), and rpmReadSignature().
rpmRC rpmInstallSourcePackage | ( | rpmts | ts, | |
FD_t | fd, | |||
const char ** | specFilePtr, | |||
const char ** | cookie | |||
) |
Install source package.
ts | transaction set | |
fd | file handle |
specFilePtr | address of spec file name (or NULL) | |
cookie | address of cookie pointer (or NULL) |
Definition at line 166 of file psm.c.
References _, _free(), CPIO_MAP_GID, CPIO_MAP_MODE, CPIO_MAP_PATH, CPIO_MAP_UID, FA_CREATE, rpmpsm_s::fd, fdLink, headerFree(), headerIsEntry(), headerLink(), headerMacrosLoad(), RPMERR_NOTSRPM, rpmError, rpmfiBuildFNames(), RPMFILE_SPECFILE, rpmfiLink, rpmfiNew(), RPMRC_FAIL, RPMRC_NOKEY, RPMRC_NOTTRUSTED, RPMRC_OK, rpmReadPackageFile(), RPMTAG_BASENAMES, RPMTAG_COOKIE, RPMTAG_SOURCERPM, rpmtsAddInstallElement(), rpmtsElement(), rpmtsLink, and xstrdup().
Referenced by rpmInstall(), and rpmInstallSource().
Return checked and loaded header.
ts | transaction set | |
fd | file handle |
hdrp | address of header (or NULL) | |
*msg | verification error message (or NULL) |
Definition at line 1016 of file package.c.
References _, _free(), block(), errno, fdGetOPath(), FDSTAT_READ, Fileno(), headerToken_s::flags, hdrchkData, hdrchkTags, header_magic, headerCheck(), HEADERFLAG_ALLOCATED, headerFree(), headerGetStatbuf(), headerLink(), headerLoad(), headerSetEndOff(), headerSetOrigin(), headerSetStartOff(), Realpath(), RPMRC_FAIL, RPMRC_OK, snprintf(), _FD_s::stats, timedRead, urlPath(), xmalloc(), and xstrdup().
Referenced by rpmReadPackageFile().
Return package header from file handle, verifying digests/signatures.
ts | transaction set | |
fd | file handle | |
fn | file name |
hdrp | address of header (or NULL) |
Definition at line 1138 of file package.c.
References _, _chk, _free(), _print_pkts, alloca(), rpmop_s::count, _FD_s::digests, fdInitDigest(), fdstat_op(), FDSTAT_READ, Fileno(), Fread(), Fstrerror(), pgpDigParams_s::hash_algo, _FDDIGEST_s::hashalgo, _FDDIGEST_s::hashctx, pgpDig_s::hdrmd5ctx, pgpDig_s::hdrsha1ctx, header_magic, headerFree(), headerFreeData(), headerGetEntry(), headerIsEntry(), headerLink(), headerMergeLegacySigs(), pgpDig_s::md5ctx, pgpDig_s::nbytes, _FD_s::ndigests, PGPHASHALGO_MD5, PGPHASHALGO_RIPEMD160, PGPHASHALGO_SHA1, PGPHASHALGO_SHA256, PGPHASHALGO_SHA384, PGPHASHALGO_SHA512, pgpPrtPkts(), readLead(), rpm3to4(), RPMDIGEST_NONE, rpmDigestInit(), rpmDigestUpdate(), RPMERR_FREAD, RPMERR_NEWPACKAGE, RPMERR_SIGGEN, rpmError, rpmFreeSignature(), rpmIsDebug, RPMMESS_DEBUG, RPMMESS_ERROR, RPMMESS_WARNING, rpmMessage, RPMRC_FAIL, RPMRC_NOKEY, RPMRC_NOTFOUND, RPMRC_NOTTRUSTED, RPMRC_OK, rpmReadHeader(), rpmReadSignature(), RPMSIGTAG_DSA, RPMSIGTAG_GPG, RPMSIGTAG_MD5, RPMSIGTAG_PGP, RPMSIGTAG_PGP5, RPMSIGTAG_RSA, RPMSIGTAG_SHA1, rpmswAdd(), rpmswEnter(), rpmswExit(), rpmswSub(), RPMTAG_HEADERIMMUTABLE, RPMTS_OP_DIGEST, RPMTS_OP_READHDR, RPMTS_OP_SIGNATURE, rpmtsCleanDig(), rpmtsDig(), rpmtsOp(), rpmtsSetSig(), rpmtsStashKeyid(), rpmtsVSFlags(), rpmVerifySignature(), RPMVSF_NEEDPAYLOAD, RPMVSF_NODSA, RPMVSF_NOMD5, RPMVSF_NORSA, RPMVSF_NOSHA1HEADER, pgpDig_s::sha1ctx, pgpDig_s::signature, _FD_s::stats, and pgpDigParams_s::version.
Referenced by IDTXglob(), readRPM(), rpmgiReadHeader(), rpmInstall(), rpmInstallSourcePackage(), rpmts_HdrFromFdno(), rpmtsRun(), and rpmtsSolve().
Compare headers to determine which header is "newer".
first | 1st header | |
second | 2nd header |
Definition at line 53 of file psm.c.
References headerGetEntry(), RPMTAG_EPOCH, RPMTAG_RELEASE, RPMTAG_VERSION, and rpmvercmp.
Referenced by hdr_compare(), and rpmInstall().
static const char* tagName | ( | int | tag | ) | [inline, static] |
Return tag name from value.
tag | tag value |
Definition at line 975 of file rpmlib.h.
References rpmTags, and headerTagIndices_s::tagName.
Referenced by checkForDuplicates(), checkForRequired(), handlePreambleTag(), i18nTag(), mapTagName(), printNewSpecfile(), rpmdsMergePRCO(), rpmdsTagName(), rpmfcMergePR(), rpmgiInitFilter(), rpmgiNext(), rpmHeaderGetEntry(), stashSt(), str2uuid(), XrpmgiLink(), and XrpmgiUnlink().
static int tagType | ( | int | tag | ) | [inline, static] |
Return tag data type from value.
tag | tag value |
Definition at line 990 of file rpmlib.h.
References rpmTags, and headerTagIndices_s::tagType.
Referenced by writeRPM().
static int tagValue | ( | const char * | tagstr | ) | [inline, static] |
Return tag value from name.
tagstr | name of tag |
Definition at line 1004 of file rpmlib.h.
References rpmTags, and headerTagIndices_s::tagValue.
Referenced by dbiTagsInit(), rpmdsSysinfo(), and rpmgiInitFilter().
int nplatpat |
Definition at line 38 of file rpmrc.c.
Referenced by rpmFreeRpmrc(), rpmPlatform(), rpmPlatformScore(), and rpmtsAddInstallElement().
void* platpat |
Definition at line 36 of file rpmrc.c.
Referenced by rpmFreeRpmrc(), rpmPlatform(), rpmPlatformScore(), and rpmtsAddInstallElement().
struct MacroContext_s* rpmCLIMacroContext |
Definition at line 95 of file macro.c.
Referenced by rpmcliAllArgCallback(), rpmcliFini(), and rpmInitMacros().
const char* rpmEVR |
struct MacroContext_s* rpmGlobalMacroContext |
Definition at line 90 of file macro.c.
Referenced by addMacro(), delMacro(), expandMacros(), findEntry(), newSpec(), rpmDefineMacro(), rpmDumpMacroTable(), rpmFreeMacros(), rpmInitMacros(), and rpmLoadMacros().
struct headerSprintfExtension_s rpmHeaderFormats[] |
Table of query format extensions.
Definition at line 3307 of file formats.c.
Referenced by hdr_subscript(), hdrPrintErased(), hdrPrintInstalled(), hdrSprintf(), init_rpm(), packageBinaries(), printNewSpecfile(), queryHeader(), rpmcliImportPubkey(), rpmDisplayQueryTags(), rpmHeaderGetEntry(), rpmpsmStage(), rpmShowProgress(), rpmtsSolve(), and runScript().
Definition at line 94 of file tagname.c.
Referenced by rpmcliFini(), tagName(), tagType(), and tagValue().
struct headerTagTableEntry_s* rpmTagTable |
Automatically generated table of tag name/value pairs.
Definition at line 205 of file tagtbl.c.
Referenced by hdrPrintErased(), hdrPrintInstalled(), hdrSprintf(), init_rpm(), packageBinaries(), printNewSpecfile(), queryHeader(), rpmcliImportPubkey(), rpmDisplayQueryTags(), rpmHeaderGetEntry(), rpmpsmStage(), rpmShowProgress(), rpmtsSolve(), runScript(), tagLoadIndex(), and tagNumFromPyObject().
const int rpmTagTableSize |
Number of entries in rpmTagTable.
Definition at line 208 of file tagtbl.c.
Referenced by init_rpm(), rpmDisplayQueryTags(), tagLoadIndex(), and tagNumFromPyObject().
const char* RPMVERSION |