rpm
4.5
|
In Memoriam: Steve Taylor stayl was here, now he's not. or@r edhat .comMore...
#include "rpmio.h"
#include "rpmmessages.h"
#include "rpmerr.h"
#include "header.h"
#include "popt.h"
Go to the source code of this file.
Data Structures | |
struct | rpmRelocation_s |
struct | rpmlead |
The lead data structure. More... | |
Macros | |
#define | RPM_FORMAT_VERSION 4 |
#define | RPM_MAJOR_VERSION 5 |
#define | RPM_MINOR_VERSION 0 |
#define | RPMAL_NOMATCH ((alKey)-1L) |
#define | RPMDBI_PACKAGES 0 /* Installed package headers. */ |
Pseudo-tags used by the rpmdb and rpmgi iterator API's. More... | |
#define | RPMDBI_DEPENDS 1 /* Dependency resolution cache. */ |
#define | RPMDBI_LABEL 2 /* Fingerprint search marker. */ |
#define | RPMDBI_ADDED 3 /* Added package headers. */ |
#define | RPMDBI_REMOVED 4 /* Removed package headers. */ |
#define | RPMDBI_AVAILABLE 5 /* Available package headers. */ |
#define | RPMDBI_HDLIST 6 /* (rpmgi) Header list. */ |
#define | RPMDBI_ARGLIST 7 /* (rpmgi) Argument list. */ |
#define | RPMDBI_FTSWALK 8 /* (rpmgi) File tree walk. */ |
#define | RPMTAG_PKGID RPMTAG_SIGMD5 /* x */ |
#define | RPMTAG_HDRID RPMTAG_SHA1HEADER /* s */ |
#define | RPMTAG_N RPMTAG_NAME /* s */ |
#define | RPMTAG_V RPMTAG_VERSION /* s */ |
#define | RPMTAG_R RPMTAG_RELEASE /* s */ |
#define | RPMTAG_E RPMTAG_EPOCH /* i */ |
#define | RPMTAG_FILEMD5S RPMTAG_FILEDIGESTS /* s[] */ |
#define | RPMTAG_PROVIDES RPMTAG_PROVIDENAME /* s[] */ |
#define | RPMTAG_P RPMTAG_PROVIDENAME /* s[] */ |
#define | RPMTAG_REQUIRES RPMTAG_REQUIRENAME /* s[] */ |
#define | RPMTAG_CONFLICTS RPMTAG_CONFLICTNAME /* s[] */ |
#define | RPMTAG_C RPMTAG_CONFLICTNAME /* s[] */ |
#define | RPMTAG_OBSOLETES RPMTAG_OBSOLETENAME /* s[] */ |
#define | RPMTAG_O RPMTAG_OBSOLETENAME /* s[] */ |
#define | RPMTAG_SUGGESTS RPMTAG_SUGGESTSNAME /* s[] */ |
#define | RPMTAG_ENHANCES RPMTAG_ENHANCESNAME /* s[] */ |
#define | RPMTAG_SVNID RPMTAG_CVSID /* s */ |
#define | RPMTAG_Buildbuild 0x5bae1a5a /* s internal arbitrary */ |
#define | RPMTAG_Buildbuildprog 0x6fb46014 /* s internal arbitrary */ |
#define | RPMTAG_Buildcheck 0x7f3b97b5 /* s internal arbitrary */ |
#define | RPMTAG_Buildcheckprog 0x488a60ce /* s internal arbitrary */ |
#define | RPMTAG_Buildclean 0x566042bf /* s internal arbitrary */ |
#define | RPMTAG_Buildcleanprog 0x42c93d41 /* s internal arbitrary */ |
#define | RPMTAG_Buildinstall 0x567f5983 /* s internal arbitrary */ |
#define | RPMTAG_Buildinstallprog 0x70d4ab6f /* s internal arbitrary */ |
#define | RPMTAG_Buildprep 0x799c0b4d /* s internal arbitrary */ |
#define | RPMTAG_Buildprepprog 0x4ba37c9e /* s internal arbitrary */ |
#define | RPMTAG_Buildtimeuuid 0x782eeb68 /* s internal arbitrary */ |
#define | RPMTAG_Conflictsqlentry 0x7efaed0d /* s internal arbitrary */ |
#define | RPMTAG_Conflictxmlentry 0x61333865 /* s internal arbitrary */ |
#define | RPMTAG_Filenames 0x54aafb71 /* s internal arbitrary */ |
#define | RPMTAG_Filessqlentry1 0x4493df20 /* s internal arbitrary */ |
#define | RPMTAG_Filessqlentry2 0x515aae25 /* s internal arbitrary */ |
#define | RPMTAG_Filesxmlentry1 0x42974275 /* s internal arbitrary */ |
#define | RPMTAG_Filesxmlentry2 0x7f69e738 /* s internal arbitrary */ |
#define | RPMTAG_Hdruuid 0x42cba9cf /* s internal arbitrary */ |
#define | RPMTAG_Installprefix 0x67b450ec /* s internal arbitrary */ |
#define | RPMTAG_Installtiduuid 0x59784ccd /* s internal arbitrary */ |
#define | RPMTAG_Installtimeuuid 0x51b2ff6a /* s internal arbitrary */ |
#define | RPMTAG_Obsoletesqlentry 0x4e0e61b0 /* s internal arbitrary */ |
#define | RPMTAG_Obsoletexmlentry 0x5a7ce878 /* s internal arbitrary */ |
#define | RPMTAG_Origintiduuid 0x5fde8cfd /* s internal arbitrary */ |
#define | RPMTAG_Origintimeuuid 0x66bb891b /* s internal arbitrary */ |
#define | RPMTAG_Pkguuid 0x44703c2c /* s internal arbitrary */ |
#define | RPMTAG_Providesqlentry 0x599f1b4a /* s internal arbitrary */ |
#define | RPMTAG_Providexmlentry 0x6569bce6 /* s internal arbitrary */ |
#define | RPMTAG_Removetiduuid 0x6a884e83 /* s internal arbitrary */ |
#define | RPMTAG_Requiresqlentry 0x723158aa /* s internal arbitrary */ |
#define | RPMTAG_Requirexmlentry 0x54b25cd7 /* s internal arbitrary */ |
#define | RPMTAG_Sourcepkguuid 0x4eedc6f9 /* s internal arbitrary */ |
#define | RPMTAG_Trackprog 0x46c39442 /* s internal arbitrary */ |
#define | RPMTAG_Triggerconds 0x46ced1cc /* s internal arbitrary */ |
#define | RPMTAG_Triggertype 0x562d6086 /* s internal arbitrary */ |
#define | RPMTAG_EXTERNAL_TAG 1000000 |
#define | RPMFILE_STATE_MISSING -1 /* XXX used for unavailable data */ |
#define | RPMFILE_SPOOK (RPMFILE_GHOST|RPMFILE_TYPED) |
#define | RPMFILE_ALL ~(RPMFILE_NONE) |
#define | RPMLEAD_BINARY 0 |
#define | RPMLEAD_SOURCE 1 |
#define | RPMLEAD_MAGIC0 0xed |
#define | RPMLEAD_MAGIC1 0xab |
#define | RPMLEAD_MAGIC2 0xee |
#define | RPMLEAD_MAGIC3 0xdb |
#define | RPMLEAD_SIZE 96 |
Typedefs | |
typedef enum rpmRC_e | rpmRC |
Package read return codes. More... | |
typedef struct rpmts_s * | rpmts |
The RPM Transaction Set. More... | |
typedef struct Spec_s * | Spec |
typedef void * | alKey |
An added/available package retrieval key. More... | |
typedef int | alNum |
An added/available package retrieval index. More... | |
typedef struct rpmds_s * | rpmds |
Dependency tag sets from a header, so that a header can be discarded early. More... | |
typedef struct rpmPRCO_s * | rpmPRCO |
Container for commonly extracted dependency set(s). More... | |
typedef struct rpmfi_s * | rpmfi |
File info tag sets from a header, so that a header can be discarded early. More... | |
typedef struct rpmte_s * | rpmte |
An element of a transaction set, i.e. More... | |
typedef struct rpmdb_s * | rpmdb |
Database of headers and tag value indices. More... | |
typedef struct _rpmdbMatchIterator * | rpmdbMatchIterator |
Database iterator. More... | |
typedef struct rpmgi_s * | rpmgi |
Generalized iterator. More... | |
typedef enum rpmTag_e | rpmTag |
Tags identify data in package headers. More... | |
typedef enum rpmScriptID_e | rpmScriptID |
Scriptlet identifiers. More... | |
typedef enum rpmScriptState_e | rpmScriptState |
Scriptlet states (when installed). More... | |
typedef enum rpmfileState_e | rpmfileState |
File States (when installed). More... | |
typedef enum rpmfileAttrs_e | rpmfileAttrs |
File Attributes. More... | |
Functions | |
void | headerMergeLegacySigs (Header h, const Header sigh) |
Translate and merge legacy signature tags into header. More... | |
Header | headerRegenSigHeader (const Header h, int noArchiveSize) |
Regenerate signature header. More... | |
static const char * | tagName (int tag) |
Return tag name from value. More... | |
static int | tagType (int tag) |
Return tag data type from value. More... | |
static int | tagValue (const char *tagstr) |
Return tag value from name. More... | |
Variables | |
struct MacroContext_s * | rpmGlobalMacroContext |
struct MacroContext_s * | rpmCLIMacroContext |
const char * | RPMVERSION |
const char * | rpmNAME |
const char * | rpmEVR |
int | rpmFLAGS |
struct headerTagTableEntry_s * | rpmTagTable |
Automatically generated table of tag name/value pairs. More... | |
const int | rpmTagTableSize |
Number of entries in rpmTagTable. More... | |
headerTagIndices | rpmTags |
struct headerSprintfExtension_s | rpmHeaderFormats [] |
Table of query format extensions. More... | |
RPMRC | |
#define | RPM_MACHTABLE_COUNT 4 |
enum | rpm_machtable_e { RPM_MACHTABLE_INSTARCH = 0, RPM_MACHTABLE_INSTOS = 1, RPM_MACHTABLE_BUILDARCH = 2, RPM_MACHTABLE_BUILDOS = 3 } |
Build and install arch/os table identifiers. More... | |
const char * | rpmRcfiles |
The default rpmrc files to be read. More... | |
void * | platpat |
int | nplatpat |
int | rpmReadConfigFiles (const char *file, const char *target) |
Read macro configuration file(s) for a target. More... | |
void | rpmGetArchInfo (const char **name, int *num) |
void | rpmGetOsInfo (const char **name, int *num) |
int | rpmMachineScore (int type, const char *name) |
int | rpmPlatformScore (const char *platform, void *mi_re, int mi_nre) |
Return score of a platform string. More... | |
int | rpmShowRC (FILE *fp) |
Display current rpmrc (and macro) configuration. More... | |
void | rpmSetTables (int archTable, int osTable) |
void | rpmSetMachine (const char *arch, const char *os) |
Set current arch/os names. More... | |
void | rpmFreeRpmrc (void) |
Destroy rpmrc arch/os compatibility tables. More... | |
RPMTS | |
#define | XFA_SKIPPING(_a) ((_a) == FA_SKIP || (_a) == FA_SKIPNSTATE || (_a) == FA_SKIPNETSHARED || (_a) == FA_SKIPCOLOR) |
#define | _noTransScripts |
#define | _noTransTriggers |
enum | rpmprobFilterFlags_e { RPMPROB_FILTER_NONE = 0, RPMPROB_FILTER_IGNOREOS = (1 << 0), RPMPROB_FILTER_IGNOREARCH = (1 << 1), RPMPROB_FILTER_REPLACEPKG = (1 << 2), RPMPROB_FILTER_FORCERELOCATE = (1 << 3), RPMPROB_FILTER_REPLACENEWFILES = (1 << 4), RPMPROB_FILTER_REPLACEOLDFILES = (1 << 5), RPMPROB_FILTER_OLDPACKAGE = (1 << 6), RPMPROB_FILTER_DISKSPACE = (1 << 7), RPMPROB_FILTER_DISKNODES = (1 << 8) } |
enum | fileAction_e { FA_UNKNOWN = 0, FA_CREATE, FA_COPYIN, FA_COPYOUT, FA_BACKUP, FA_SAVE, FA_SKIP, FA_ALTNAME, FA_ERASE, FA_SKIPNSTATE, FA_SKIPNETSHARED, FA_SKIPCOLOR } |
File disposition(s) during package install/erase transaction. More... | |
enum | fileTypes_e { PIPE = 1, CDEV = 2, XDIR = 4, BDEV = 6, REG = 8, LINK = 10, SOCK = 12 } |
File types. More... | |
enum | rpmdepFlags_e { RPMDEPS_FLAG_NONE = 0, RPMDEPS_FLAG_NOUPGRADE = (1 << 0), RPMDEPS_FLAG_NOREQUIRES = (1 << 1), RPMDEPS_FLAG_NOCONFLICTS = (1 << 2), RPMDEPS_FLAG_NOOBSOLETES = (1 << 3), RPMDEPS_FLAG_NOPARENTDIRS = (1 << 4), RPMDEPS_FLAG_NOLINKTOS = (1 << 5), RPMDEPS_FLAG_ANACONDA = (1 << 6), RPMDEPS_FLAG_NOSUGGEST = (1 << 7), RPMDEPS_FLAG_ADDINDEPS = (1 << 8), RPMDEPS_FLAG_DEPLOOPS = (1 << 9) } |
Bit(s) to control rpmtsCheck() and rpmtsOrder() operation. More... | |
enum | rpmtransFlags_e { RPMTRANS_FLAG_NONE = 0, RPMTRANS_FLAG_TEST = (1 << 0), RPMTRANS_FLAG_BUILD_PROBS = (1 << 1), RPMTRANS_FLAG_NOSCRIPTS = (1 << 2), RPMTRANS_FLAG_JUSTDB = (1 << 3), RPMTRANS_FLAG_NOTRIGGERS = (1 << 4), RPMTRANS_FLAG_NODOCS = (1 << 5), RPMTRANS_FLAG_ALLFILES = (1 << 6), RPMTRANS_FLAG_KEEPOBSOLETE = (1 << 7), RPMTRANS_FLAG_NOCONTEXTS = (1 << 8), RPMTRANS_FLAG_DIRSTASH = (1 << 9), RPMTRANS_FLAG_REPACKAGE = (1 << 10), RPMTRANS_FLAG_PKGCOMMIT = (1 << 11), RPMTRANS_FLAG_PKGUNDO = (1 << 12), RPMTRANS_FLAG_COMMIT = (1 << 13), RPMTRANS_FLAG_UNDO = (1 << 14), RPMTRANS_FLAG_NOTRIGGERPREIN = (1 << 16), RPMTRANS_FLAG_NOPRE = (1 << 17), RPMTRANS_FLAG_NOPOST = (1 << 18), RPMTRANS_FLAG_NOTRIGGERIN = (1 << 19), RPMTRANS_FLAG_NOTRIGGERUN = (1 << 20), RPMTRANS_FLAG_NOPREUN = (1 << 21), RPMTRANS_FLAG_NOPOSTUN = (1 << 22), RPMTRANS_FLAG_NOTRIGGERPOSTUN = (1 << 23), RPMTRANS_FLAG_NOPAYLOAD = (1 << 24), RPMTRANS_FLAG_APPLYONLY = (1 << 25), RPMTRANS_FLAG_NOFDIGESTS = (1 << 27), RPMTRANS_FLAG_NOCONFIGS = (1 << 30) } |
Bit(s) to control rpmtsRun() operation. More... | |
typedef enum rpmprobFilterFlags_e | rpmprobFilterFlags |
typedef struct rpmRelocation_s * | rpmRelocation |
We pass these around as an array with a sentinel. More... | |
typedef enum fileAction_e | fileAction |
File disposition(s) during package install/erase transaction. More... | |
typedef enum fileTypes_e | fileTypes |
File types. More... | |
typedef struct fsmIterator_s * | FSMI_t |
Iterator across package file info, forward on install, backward on erase. More... | |
typedef struct fsm_s * | FSM_t |
File state machine data. More... | |
typedef struct rpmpsm_s * | rpmpsm |
Package state machine data. More... | |
typedef enum rpmdepFlags_e | rpmdepFlags |
Bit(s) to control rpmtsCheck() and rpmtsOrder() operation. More... | |
typedef enum rpmtransFlags_e | rpmtransFlags |
Bit(s) to control rpmtsRun() operation. More... | |
int | rpmVersionCompare (Header first, Header second) |
Compare headers to determine which header is "newer". More... | |
int | headerVerifyInfo (int il, int dl, const void *pev, void *iv, int negate) |
Perform simple sanity and range checks on header tag(s). More... | |
rpmRC | headerCheck (rpmts ts, const void *uh, size_t uc, const char **msg) |
Check header consistency, performing headerGetEntry() the hard way. More... | |
rpmRC | rpmReadHeader (rpmts ts, FD_t fd, Header *hdrp, const char **msg) |
Return checked and loaded header. More... | |
rpmRC | rpmReadPackageFile (rpmts ts, FD_t fd, const char *fn, Header *hdrp) |
Return package header from file handle, verifying digests/signatures. More... | |
rpmRC | rpmInstallSourcePackage (rpmts ts, FD_t fd, const char **specFilePtr, const char **cookie) |
Install source package. More... | |
RPMK | |
enum | rpmtagSignature { RPMSIGTAG_SIZE = 1000, RPMSIGTAG_LEMD5_1 = 1001, RPMSIGTAG_PGP = 1002, RPMSIGTAG_LEMD5_2 = 1003, RPMSIGTAG_MD5 = 1004, RPMSIGTAG_GPG = 1005, RPMSIGTAG_PGP5 = 1006, RPMSIGTAG_PAYLOADSIZE = 1007, RPMSIGTAG_BADSHA1_1 = RPMTAG_BADSHA1_1, RPMSIGTAG_BADSHA1_2 = RPMTAG_BADSHA1_2, RPMSIGTAG_SHA1 = RPMTAG_SHA1HEADER, RPMSIGTAG_DSA = RPMTAG_DSAHEADER, RPMSIGTAG_RSA = RPMTAG_RSAHEADER, RPMSIGTAG_PADDING = 0x3fffffff } |
Tags found in signature header from package. More... | |
rpmRC | rpmVerifySignature (const rpmts ts, char *result) |
Verify a signature from a package. More... | |
Header | rpmFreeSignature (Header sigh) |
Destroy signature header from package. More... | |
In Memoriam: Steve Taylor stayl was here, now he's not. or@r edhat .com
Definition in file rpmlib.h.
#define _noTransScripts |
Definition at line 951 of file rpmlib.h.
Referenced by installArgCallback(), main(), and rpmtsRun().
#define _noTransTriggers |
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 /* Added package headers. */ |
Definition at line 169 of file rpmlib.h.
Referenced by _tagName(), _tagType(), _tagValue(), rpmdbAdd(), rpmdbMoveDatabase(), rpmdbOpenAll(), rpmdbOpenDatabase(), rpmdbRemove(), and rpmgiNext().
#define RPMDBI_ARGLIST 7 /* (rpmgi) Argument list. */ |
Definition at line 173 of file rpmlib.h.
Referenced by _tagName(), _tagType(), _tagValue(), rpmcliArgIter(), rpmgiGlobArgv(), and rpmgiNext().
#define RPMDBI_AVAILABLE 5 /* Available package headers. */ |
Definition at line 171 of file rpmlib.h.
Referenced by _tagName(), _tagType(), _tagValue(), rpmdbAdd(), rpmdbMoveDatabase(), rpmdbOpenAll(), rpmdbOpenDatabase(), and rpmdbRemove().
#define RPMDBI_DEPENDS 1 /* Dependency resolution cache. */ |
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 /* (rpmgi) File tree walk. */ |
Definition at line 174 of file rpmlib.h.
Referenced by _tagName(), _tagType(), _tagValue(), rpmcliArgIter(), rpmgiGlobArgv(), and rpmgiNext().
Definition at line 172 of file rpmlib.h.
Referenced by _tagName(), _tagType(), _tagValue(), rpmcliArgIter(), rpmgiGlobArgv(), and rpmgiNext().
#define RPMDBI_LABEL 2 /* Fingerprint search marker. */ |
Definition at line 168 of file rpmlib.h.
Referenced by rpmcliArgIter(), rpmdbInitIterator(), rpmErase(), rpmQueryVerify(), rpmts_AddErase(), and rpmtsInitIterator().
#define RPMDBI_PACKAGES 0 /* Installed package headers. */ |
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 /* Removed package headers. */ |
Definition at line 170 of file rpmlib.h.
Referenced by _tagName(), _tagType(), _tagValue(), rpmdbAdd(), rpmdbMoveDatabase(), rpmdbOpenAll(), rpmdbOpenDatabase(), rpmdbRemove(), and rpmgiNext().
#define RPMFILE_ALL ~(RPMFILE_NONE) |
#define RPMFILE_SPOOK (RPMFILE_GHOST|RPMFILE_TYPED) |
#define RPMFILE_STATE_MISSING -1 /* XXX used for unavailable data */ |
Definition at line 544 of file rpmlib.h.
Referenced by rpmfiFState(), and showQueryPackage().
#define RPMLEAD_BINARY 0 |
Definition at line 1013 of file rpmlib.h.
Referenced by packageBinaries(), rpmpsmStage(), and writeRPM().
#define RPMLEAD_SOURCE 1 |
Definition at line 1014 of file rpmlib.h.
Referenced by packageSources(), and writeRPM().
#define RPMTAG_Buildbuild 0x5bae1a5a /* s internal arbitrary */ |
Definition at line 459 of file rpmlib.h.
Referenced by initSourceHeaderScriptlets().
#define RPMTAG_Buildbuildprog 0x6fb46014 /* s internal arbitrary */ |
Definition at line 460 of file rpmlib.h.
Referenced by initSourceHeaderScriptlets().
#define RPMTAG_Buildcheck 0x7f3b97b5 /* s internal arbitrary */ |
Definition at line 461 of file rpmlib.h.
Referenced by initSourceHeaderScriptlets().
#define RPMTAG_Buildcheckprog 0x488a60ce /* s internal arbitrary */ |
Definition at line 462 of file rpmlib.h.
Referenced by initSourceHeaderScriptlets().
#define RPMTAG_Buildclean 0x566042bf /* s internal arbitrary */ |
Definition at line 463 of file rpmlib.h.
Referenced by initSourceHeaderScriptlets().
#define RPMTAG_Buildcleanprog 0x42c93d41 /* s internal arbitrary */ |
Definition at line 464 of file rpmlib.h.
Referenced by initSourceHeaderScriptlets().
#define RPMTAG_Buildinstall 0x567f5983 /* s internal arbitrary */ |
Definition at line 465 of file rpmlib.h.
Referenced by initSourceHeaderScriptlets().
#define RPMTAG_Buildinstallprog 0x70d4ab6f /* s internal arbitrary */ |
Definition at line 466 of file rpmlib.h.
Referenced by initSourceHeaderScriptlets().
#define RPMTAG_Buildprep 0x799c0b4d /* s internal arbitrary */ |
Definition at line 467 of file rpmlib.h.
Referenced by initSourceHeaderScriptlets().
#define RPMTAG_Buildprepprog 0x4ba37c9e /* s internal arbitrary */ |
Definition at line 468 of file rpmlib.h.
Referenced by initSourceHeaderScriptlets().
#define RPMTAG_Buildtimeuuid 0x782eeb68 /* s internal arbitrary */ |
#define RPMTAG_C RPMTAG_CONFLICTNAME /* s[] */ |
#define RPMTAG_CONFLICTS RPMTAG_CONFLICTNAME /* s[] */ |
Definition at line 282 of file rpmlib.h.
Referenced by _tagName().
#define RPMTAG_Conflictsqlentry 0x7efaed0d /* s internal arbitrary */ |
#define RPMTAG_Conflictxmlentry 0x61333865 /* s internal arbitrary */ |
#define RPMTAG_E RPMTAG_EPOCH /* i */ |
#define RPMTAG_ENHANCES RPMTAG_ENHANCESNAME /* s[] */ |
#define RPMTAG_FILEMD5S RPMTAG_FILEDIGESTS /* s[] */ |
Definition at line 255 of file rpmlib.h.
Referenced by hdr_subscript(), and rpmdbAdd().
#define RPMTAG_Filenames 0x54aafb71 /* s internal arbitrary */ |
#define RPMTAG_Filessqlentry1 0x4493df20 /* s internal arbitrary */ |
#define RPMTAG_Filessqlentry2 0x515aae25 /* s internal arbitrary */ |
#define RPMTAG_Filesxmlentry1 0x42974275 /* s internal arbitrary */ |
#define RPMTAG_Filesxmlentry2 0x7f69e738 /* s internal arbitrary */ |
#define RPMTAG_HDRID RPMTAG_SHA1HEADER /* s */ |
Definition at line 211 of file rpmlib.h.
Referenced by _tagName(), addTE(), hdruuidTag(), rpmHeadersIdentical(), and rpmteChain().
#define RPMTAG_Hdruuid 0x42cba9cf /* s internal arbitrary */ |
#define RPMTAG_Installprefix 0x67b450ec /* s internal arbitrary */ |
#define RPMTAG_Installtiduuid 0x59784ccd /* s internal arbitrary */ |
#define RPMTAG_Installtimeuuid 0x51b2ff6a /* s internal arbitrary */ |
#define RPMTAG_N RPMTAG_NAME /* s */ |
#define RPMTAG_O RPMTAG_OBSOLETENAME /* s[] */ |
#define RPMTAG_OBSOLETES RPMTAG_OBSOLETENAME /* s[] */ |
#define RPMTAG_Obsoletesqlentry 0x4e0e61b0 /* s internal arbitrary */ |
#define RPMTAG_Obsoletexmlentry 0x5a7ce878 /* s internal arbitrary */ |
#define RPMTAG_Origintiduuid 0x5fde8cfd /* s internal arbitrary */ |
#define RPMTAG_Origintimeuuid 0x66bb891b /* s internal arbitrary */ |
#define RPMTAG_P RPMTAG_PROVIDENAME /* s[] */ |
#define RPMTAG_PKGID RPMTAG_SIGMD5 /* x */ |
Definition at line 201 of file rpmlib.h.
Referenced by addTE(), pkguuidTag(), and rpmteChain().
#define RPMTAG_Pkguuid 0x44703c2c /* s internal arbitrary */ |
#define RPMTAG_PROVIDES RPMTAG_PROVIDENAME /* s[] */ |
Definition at line 272 of file rpmlib.h.
Referenced by rpmdsELF().
#define RPMTAG_Providesqlentry 0x599f1b4a /* s internal arbitrary */ |
#define RPMTAG_Providexmlentry 0x6569bce6 /* s internal arbitrary */ |
#define RPMTAG_R RPMTAG_RELEASE /* s */ |
#define RPMTAG_Removetiduuid 0x6a884e83 /* s internal arbitrary */ |
#define RPMTAG_REQUIRES RPMTAG_REQUIRENAME /* s[] */ |
#define RPMTAG_Requiresqlentry 0x723158aa /* s internal arbitrary */ |
#define RPMTAG_Requirexmlentry 0x54b25cd7 /* s internal arbitrary */ |
#define RPMTAG_Sourcepkguuid 0x4eedc6f9 /* s internal arbitrary */ |
#define RPMTAG_SUGGESTS RPMTAG_SUGGESTSNAME /* s[] */ |
#define RPMTAG_SVNID RPMTAG_CVSID /* s */ |
#define RPMTAG_Trackprog 0x46c39442 /* s internal arbitrary */ |
#define RPMTAG_Triggerconds 0x46ced1cc /* s internal arbitrary */ |
#define RPMTAG_Triggertype 0x562d6086 /* s internal arbitrary */ |
#define RPMTAG_V RPMTAG_VERSION /* s */ |
#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.
Enumerator | |
---|---|
PIPE |
pipe/fifo |
CDEV |
character device |
XDIR |
directory |
BDEV |
block device |
REG |
regular file |
LINK |
hard link |
SOCK |
socket |
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 | verification error message (or NULL) |
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 _, _free(), _print_pkts, alloca(), entryInfo_s::count, pgpDigParams_s::hash_algo, pgpDig_s::hdrmd5ctx, pgpDig_s::hdrsha1ctx, header_magic, headerVerifyInfo(), indexEntry_s::info, pgpDig_s::nbytes, entryInfo_s::offset, PGPHASHALGO_SHA1, pgpPrtPkts(), REGION_TAG_COUNT, RPM_BIN_TYPE, RPM_STRING_TYPE, RPMDIGEST_NONE, rpmDigestInit(), rpmDigestUpdate(), rpmIsDebug, RPMMESS_ERROR, rpmMessage, RPMRC_FAIL, RPMRC_NOTFOUND, RPMRC_OK, rpmswEnter(), rpmswExit(), RPMTAG_DSAHEADER, RPMTAG_HEADERIMMUTABLE, RPMTAG_RSAHEADER, RPMTAG_SHA1HEADER, RPMTS_OP_DIGEST, rpmtsCleanDig(), rpmtsDig(), rpmtsOp(), rpmtsSetSig(), rpmtsVSFlags(), rpmVerifySignature(), RPMVSF_NODSAHEADER, RPMVSF_NORSAHEADER, RPMVSF_NOSHA1HEADER, pgpDig_s::signature, snprintf(), entryInfo_s::tag, entryInfo_s::type, pgpDigParams_s::version, xmalloc(), and xstrdup().
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(), Access(), CPIO_MAP_GID, CPIO_MAP_MODE, CPIO_MAP_PATH, CPIO_MAP_UID, FA_CREATE, Fclose(), fdLink(), headerFree(), headerIsEntry(), headerLink(), headerMacrosLoad(), PSM_FINI, PSM_PKGINSTALL, PSM_PROCESS, RPMERR_CREATE, RPMERR_NOSPEC, RPMERR_NOTSRPM, rpmError, rpmfiBuildFNames(), rpmfiFree(), RPMFILE_SPECFILE, rpmfiLink(), rpmfiNew(), rpmGenPath(), rpmMkdirPath(), rpmpsmStage(), RPMRC_FAIL, RPMRC_NOKEY, RPMRC_NOTTRUSTED, RPMRC_OK, rpmReadPackageFile(), RPMTAG_BASENAMES, RPMTAG_COOKIE, RPMTAG_SOURCERPM, rpmtsAddInstallElement(), rpmtsClean(), rpmtsElement(), rpmtsFree(), rpmtsLink(), rpmtsRootDir(), stpcpy(), W_OK, xmalloc(), 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(), rpmlead::major, 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_NODSAHEADER, RPMVSF_NOMD5, RPMVSF_NORSA, RPMVSF_NORSAHEADER, RPMVSF_NOSHA1HEADER, pgpDig_s::sha1ctx, pgpDig_s::signature, rpmlead::signature_type, _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().
|
inlinestatic |
Return tag name from value.
tag | tag value |
Definition at line 975 of file rpmlib.h.
References headerTagIndices_s::tagName.
Referenced by checkForDuplicates(), checkForRequired(), handlePreambleTag(), i18nTag(), mapTagName(), printNewSpecfile(), rpmdsMergePRCO(), rpmdsTagName(), rpmfcMergePR(), rpmgiInitFilter(), rpmgiNext(), rpmHeaderGetEntry(), stashSt(), str2uuid(), XrpmgiLink(), and XrpmgiUnlink().
|
inlinestatic |
Return tag data type from value.
tag | tag value |
Definition at line 990 of file rpmlib.h.
References headerTagIndices_s::tagType.
Referenced by writeRPM().
|
inlinestatic |
Return tag value from name.
tagstr | name of tag |
Definition at line 1004 of file rpmlib.h.
References 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(), and rpmcliFini().
const char* rpmEVR |
Definition at line 62 of file depends.c.
Referenced by printVersion().
struct MacroContext_s* rpmGlobalMacroContext |
Definition at line 90 of file macro.c.
Referenced by addMacro(), delMacro(), delMacroAll(), expandMacros(), findEntry(), newSpec(), rpmDefineMacro(), rpmDumpMacroTable(), rpmFreeMacros(), and rpmInitMacros().
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(), parseForSimple(), printNewSpecfile(), queryHeader(), rpmcliImportPubkey(), rpmDisplayQueryTags(), rpmfiNew(), rpmHeaderGetEntry(), rpmpsmStage(), rpmShowProgress(), rpmtsSolve(), and runScript().
headerTagIndices rpmTags |
Definition at line 94 of file tagname.c.
Referenced by rpmcliFini().
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(), headerSprintf(), init_rpm(), packageBinaries(), parseForSimple(), printNewSpecfile(), queryHeader(), rpmcliImportPubkey(), rpmDisplayQueryTags(), rpmfiNew(), 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 |
Definition at line 8 of file misc.c.
Referenced by rpmcliImportPubkey().