#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.
Data Structures | |
struct | rpmRelocation_s |
struct | rpmlead |
The lead data structure. 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... | |
int | rpmReadConfigFiles (const char *file, const char *target) |
Read macro configuration file(s) for a target. | |
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. | |
int | rpmShowRC (FILE *fp) |
Display current rpmrc (and macro) configuration. | |
void | rpmSetTables (int archTable, int osTable) |
void | rpmSetMachine (const char *arch, const char *os) |
Set current arch/os names. | |
void | rpmFreeRpmrc (void) |
Destroy rpmrc arch/os compatibility tables. | |
const char * | rpmRcfiles |
The default rpmrc files to be read. | |
void * | platpat |
int | nplatpat |
RPMTS | |
#define | XFA_SKIPPING(_a) ((_a) == FA_SKIP || (_a) == FA_SKIPNSTATE || (_a) == FA_SKIPNETSHARED || (_a) == FA_SKIPCOLOR) |
#define | _noTransScripts |
#define | _noTransTriggers |
typedef void *(* | HFD_t )(const void *data, rpmTagType type) |
Prototype for headerFreeData() vector. | |
typedef int(* | HGE_t )(Header h, rpmTag tag, rpmTagType *type, void *p, int_32 *c) |
Prototype for headerGetEntry() vector. | |
typedef int(* | HAE_t )(Header h, rpmTag tag, rpmTagType type, const void *p, int_32 c) |
Prototype for headerAddEntry() vector. | |
typedef int(* | HME_t )(Header h, rpmTag tag, rpmTagType type, const void *p, int_32 c) |
Prototype for headerModifyEntry() vector. | |
typedef int(* | HRE_t )(Header h, int_32 tag) |
Prototype for headerRemoveEntry() vector. | |
typedef enum rpmprobFilterFlags_e | rpmprobFilterFlags |
typedef rpmRelocation_s * | rpmRelocation |
We pass these around as an array with a sentinel. | |
typedef enum fileAction_e | fileAction |
File disposition(s) during package install/erase transaction. | |
typedef enum fileTypes_e | fileTypes |
File types. | |
typedef fsmIterator_s * | FSMI_t |
Iterator across package file info, forward on install, backward on erase. | |
typedef fsm_s * | FSM_t |
File state machine data. | |
typedef rpmpsm_s * | rpmpsm |
Package state machine data. | |
typedef enum rpmdepFlags_e | rpmdepFlags |
Bit(s) to control rpmtsCheck() and rpmtsOrder() operation. | |
typedef enum rpmtransFlags_e | rpmtransFlags |
Bit(s) to control rpmtsRun() operation. | |
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... | |
int | rpmVersionCompare (Header first, Header second) |
Compare headers to determine which header is "newer". | |
int | headerVerifyInfo (int il, int dl, const void *pev, void *iv, int negate) |
Perform simple sanity and range checks on header tag(s). | |
rpmRC | headerCheck (rpmts ts, const void *uh, size_t uc, const char **msg) |
Check header consistency, performing headerGetEntry() the hard way. | |
rpmRC | rpmReadHeader (rpmts ts, FD_t fd, Header *hdrp, const char **msg) |
Return checked and loaded header. | |
rpmRC | rpmReadPackageFile (rpmts ts, FD_t fd, const char *fn, Header *hdrp) |
Return package header from file handle, verifying digests/signatures. | |
rpmRC | rpmInstallSourcePackage (rpmts ts, FD_t fd, const char **specFilePtr, const char **cookie) |
Install source package. | |
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 } |
Tags found in signature header from package. More... | |
rpmRC | rpmVerifySignature (const rpmts ts, char *result) |
Verify a signature from a package. | |
Header | rpmFreeSignature (Header sigh) |
Destroy signature header from package. | |
Defines | |
#define | RPM_FORMAT_VERSION 4 |
#define | RPM_MAJOR_VERSION 5 |
#define | RPM_MINOR_VERSION 0 |
#define | RPMAL_NOMATCH ((alKey)-1L) |
#define | RPMDBI_PACKAGES 0 |
Pseudo-tags used by the rpmdb and rpmgi iterator API's. | |
#define | RPMDBI_DEPENDS 1 |
#define | RPMDBI_LABEL 2 |
#define | RPMDBI_ADDED 3 |
#define | RPMDBI_REMOVED 4 |
#define | RPMDBI_AVAILABLE 5 |
#define | RPMDBI_HDLIST 6 |
#define | RPMDBI_ARGLIST 7 |
#define | RPMDBI_FTSWALK 8 |
#define | RPMTAG_PKGID RPMTAG_SIGMD5 |
#define | RPMTAG_HDRID RPMTAG_SHA1HEADER |
#define | RPMTAG_N RPMTAG_NAME |
#define | RPMTAG_V RPMTAG_VERSION |
#define | RPMTAG_R RPMTAG_RELEASE |
#define | RPMTAG_E RPMTAG_EPOCH |
#define | RPMTAG_FILEMD5S RPMTAG_FILEDIGESTS |
#define | RPMTAG_PROVIDES RPMTAG_PROVIDENAME |
#define | RPMTAG_P RPMTAG_PROVIDENAME |
#define | RPMTAG_REQUIRES RPMTAG_REQUIRENAME |
#define | RPMTAG_CONFLICTS RPMTAG_CONFLICTNAME |
#define | RPMTAG_C RPMTAG_CONFLICTNAME |
#define | RPMTAG_OBSOLETES RPMTAG_OBSOLETENAME |
#define | RPMTAG_O RPMTAG_OBSOLETENAME |
#define | RPMTAG_SUGGESTS RPMTAG_SUGGESTSNAME |
#define | RPMTAG_ENHANCES RPMTAG_ENHANCESNAME |
#define | RPMTAG_SVNID RPMTAG_CVSID |
#define | RPMTAG_EXTERNAL_TAG 1000000 |
#define | RPMFILE_STATE_MISSING -1 |
#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. | |
typedef rpmts_s * | rpmts |
The RPM Transaction Set. | |
typedef Spec_s * | Spec |
typedef void * | alKey |
An added/available package retrieval key. | |
typedef int | alNum |
An added/available package retrieval index. | |
typedef rpmds_s * | rpmds |
Dependency tag sets from a header, so that a header can be discarded early. | |
typedef rpmPRCO_s * | rpmPRCO |
Container for commonly extracted dependency set(s). | |
typedef rpmfi_s * | rpmfi |
File info tag sets from a header, so that a header can be discarded early. | |
typedef rpmte_s * | rpmte |
An element of a transaction set, i.e. | |
typedef rpmdb_s * | rpmdb |
Database of headers and tag value indices. | |
typedef _rpmdbMatchIterator * | rpmdbMatchIterator |
Database iterator. | |
typedef rpmgi_s * | rpmgi |
Generalized iterator. | |
typedef enum rpmTag_e | rpmTag |
typedef enum rpmScriptID_e | rpmScriptID |
Scriptlet identifiers. | |
typedef enum rpmScriptState_e | rpmScriptState |
Scriptlet states (when installed). | |
typedef enum rpmfileState_e | rpmfileState |
File States (when installed). | |
typedef enum rpmfileAttrs_e | rpmfileAttrs |
File Attributes. | |
Enumerations | |
enum | rpmRC_e { RPMRC_OK = 0, RPMRC_NOTFOUND = 1, RPMRC_FAIL = 2, RPMRC_NOTTRUSTED = 3, RPMRC_NOKEY = 4 } |
Package read return codes. More... | |
enum | rpmTag_e { RPMTAG_HEADERIMAGE = HEADER_IMAGE, RPMTAG_HEADERSIGNATURES = HEADER_SIGNATURES, RPMTAG_HEADERIMMUTABLE = HEADER_IMMUTABLE, RPMTAG_HEADERREGIONS = HEADER_REGIONS, RPMTAG_HEADERI18NTABLE = HEADER_I18NTABLE, RPMTAG_SIG_BASE = HEADER_SIGBASE, RPMTAG_SIGSIZE = RPMTAG_SIG_BASE+1, RPMTAG_SIGLEMD5_1 = RPMTAG_SIG_BASE+2, RPMTAG_SIGPGP = RPMTAG_SIG_BASE+3, RPMTAG_SIGLEMD5_2 = RPMTAG_SIG_BASE+4, RPMTAG_SIGMD5 = RPMTAG_SIG_BASE+5, RPMTAG_SIGGPG = RPMTAG_SIG_BASE+6, RPMTAG_SIGPGP5 = RPMTAG_SIG_BASE+7, RPMTAG_BADSHA1_1 = RPMTAG_SIG_BASE+8, RPMTAG_BADSHA1_2 = RPMTAG_SIG_BASE+9, RPMTAG_PUBKEYS = RPMTAG_SIG_BASE+10, RPMTAG_DSAHEADER = RPMTAG_SIG_BASE+11, RPMTAG_RSAHEADER = RPMTAG_SIG_BASE+12, RPMTAG_SHA1HEADER = RPMTAG_SIG_BASE+13, RPMTAG_NAME = 1000, RPMTAG_VERSION = 1001, RPMTAG_RELEASE = 1002, RPMTAG_EPOCH = 1003, RPMTAG_SUMMARY = 1004, RPMTAG_DESCRIPTION = 1005, RPMTAG_BUILDTIME = 1006, RPMTAG_BUILDHOST = 1007, RPMTAG_INSTALLTIME = 1008, RPMTAG_SIZE = 1009, RPMTAG_DISTRIBUTION = 1010, RPMTAG_VENDOR = 1011, RPMTAG_GIF = 1012, RPMTAG_XPM = 1013, RPMTAG_LICENSE = 1014, RPMTAG_PACKAGER = 1015, RPMTAG_GROUP = 1016, RPMTAG_CHANGELOG = 1017, RPMTAG_SOURCE = 1018, RPMTAG_PATCH = 1019, RPMTAG_URL = 1020, RPMTAG_OS = 1021, RPMTAG_ARCH = 1022, RPMTAG_PREIN = 1023, RPMTAG_POSTIN = 1024, RPMTAG_PREUN = 1025, RPMTAG_POSTUN = 1026, RPMTAG_OLDFILENAMES = 1027, RPMTAG_FILESIZES = 1028, RPMTAG_FILESTATES = 1029, RPMTAG_FILEMODES = 1030, RPMTAG_FILEUIDS = 1031, RPMTAG_FILEGIDS = 1032, RPMTAG_FILERDEVS = 1033, RPMTAG_FILEMTIMES = 1034, RPMTAG_FILEDIGESTS = 1035, RPMTAG_FILELINKTOS = 1036, RPMTAG_FILEFLAGS = 1037, RPMTAG_ROOT = 1038, RPMTAG_FILEUSERNAME = 1039, RPMTAG_FILEGROUPNAME = 1040, RPMTAG_EXCLUDE = 1041, RPMTAG_EXCLUSIVE = 1042, RPMTAG_ICON = 1043, RPMTAG_SOURCERPM = 1044, RPMTAG_FILEVERIFYFLAGS = 1045, RPMTAG_ARCHIVESIZE = 1046, RPMTAG_PROVIDENAME = 1047, RPMTAG_REQUIREFLAGS = 1048, RPMTAG_REQUIRENAME = 1049, RPMTAG_REQUIREVERSION = 1050, RPMTAG_NOSOURCE = 1051, RPMTAG_NOPATCH = 1052, RPMTAG_CONFLICTFLAGS = 1053, RPMTAG_CONFLICTNAME = 1054, RPMTAG_CONFLICTVERSION = 1055, RPMTAG_DEFAULTPREFIX = 1056, RPMTAG_BUILDROOT = 1057, RPMTAG_INSTALLPREFIX = 1058, RPMTAG_EXCLUDEARCH = 1059, RPMTAG_EXCLUDEOS = 1060, RPMTAG_EXCLUSIVEARCH = 1061, RPMTAG_EXCLUSIVEOS = 1062, RPMTAG_AUTOREQPROV = 1063, RPMTAG_RPMVERSION = 1064, RPMTAG_TRIGGERSCRIPTS = 1065, RPMTAG_TRIGGERNAME = 1066, RPMTAG_TRIGGERVERSION = 1067, RPMTAG_TRIGGERFLAGS = 1068, RPMTAG_TRIGGERINDEX = 1069, RPMTAG_VERIFYSCRIPT = 1079, RPMTAG_CHANGELOGTIME = 1080, RPMTAG_CHANGELOGNAME = 1081, RPMTAG_CHANGELOGTEXT = 1082, RPMTAG_BROKENMD5 = 1083, RPMTAG_PREREQ = 1084, RPMTAG_PREINPROG = 1085, RPMTAG_POSTINPROG = 1086, RPMTAG_PREUNPROG = 1087, RPMTAG_POSTUNPROG = 1088, RPMTAG_BUILDARCHS = 1089, RPMTAG_OBSOLETENAME = 1090, RPMTAG_VERIFYSCRIPTPROG = 1091, RPMTAG_TRIGGERSCRIPTPROG = 1092, RPMTAG_DOCDIR = 1093, RPMTAG_COOKIE = 1094, RPMTAG_FILEDEVICES = 1095, RPMTAG_FILEINODES = 1096, RPMTAG_FILELANGS = 1097, RPMTAG_PREFIXES = 1098, RPMTAG_INSTPREFIXES = 1099, RPMTAG_TRIGGERIN = 1100, RPMTAG_TRIGGERUN = 1101, RPMTAG_TRIGGERPOSTUN = 1102, RPMTAG_AUTOREQ = 1103, RPMTAG_AUTOPROV = 1104, RPMTAG_CAPABILITY = 1105, RPMTAG_SOURCEPACKAGE = 1106, RPMTAG_OLDORIGFILENAMES = 1107, RPMTAG_BUILDPREREQ = 1108, RPMTAG_BUILDREQUIRES = 1109, RPMTAG_BUILDCONFLICTS = 1110, RPMTAG_BUILDMACROS = 1111, RPMTAG_PROVIDEFLAGS = 1112, RPMTAG_PROVIDEVERSION = 1113, RPMTAG_OBSOLETEFLAGS = 1114, RPMTAG_OBSOLETEVERSION = 1115, RPMTAG_DIRINDEXES = 1116, RPMTAG_BASENAMES = 1117, RPMTAG_DIRNAMES = 1118, RPMTAG_ORIGDIRINDEXES = 1119, RPMTAG_ORIGBASENAMES = 1120, RPMTAG_ORIGDIRNAMES = 1121, RPMTAG_OPTFLAGS = 1122, RPMTAG_DISTURL = 1123, RPMTAG_PAYLOADFORMAT = 1124, RPMTAG_PAYLOADCOMPRESSOR = 1125, RPMTAG_PAYLOADFLAGS = 1126, RPMTAG_INSTALLCOLOR = 1127, RPMTAG_INSTALLTID = 1128, RPMTAG_REMOVETID = 1129, RPMTAG_SHA1RHN = 1130, RPMTAG_RHNPLATFORM = 1131, RPMTAG_PLATFORM = 1132, RPMTAG_PATCHESNAME = 1133, RPMTAG_PATCHESFLAGS = 1134, RPMTAG_PATCHESVERSION = 1135, RPMTAG_CACHECTIME = 1136, RPMTAG_CACHEPKGPATH = 1137, RPMTAG_CACHEPKGSIZE = 1138, RPMTAG_CACHEPKGMTIME = 1139, RPMTAG_FILECOLORS = 1140, RPMTAG_FILECLASS = 1141, RPMTAG_CLASSDICT = 1142, RPMTAG_FILEDEPENDSX = 1143, RPMTAG_FILEDEPENDSN = 1144, RPMTAG_DEPENDSDICT = 1145, RPMTAG_SOURCEPKGID = 1146, RPMTAG_FILECONTEXTS = 1147, RPMTAG_FSCONTEXTS = 1148, RPMTAG_RECONTEXTS = 1149, RPMTAG_POLICIES = 1150, RPMTAG_PRETRANS = 1151, RPMTAG_POSTTRANS = 1152, RPMTAG_PRETRANSPROG = 1153, RPMTAG_POSTTRANSPROG = 1154, RPMTAG_DISTTAG = 1155, RPMTAG_SUGGESTSNAME = 1156, RPMTAG_SUGGESTSVERSION = 1157, RPMTAG_SUGGESTSFLAGS = 1158, RPMTAG_ENHANCESNAME = 1159, RPMTAG_ENHANCESVERSION = 1160, RPMTAG_ENHANCESFLAGS = 1161, RPMTAG_PRIORITY = 1162, RPMTAG_CVSID = 1163, RPMTAG_BLINKPKGID = 1164, RPMTAG_BLINKHDRID = 1165, RPMTAG_BLINKNEVRA = 1166, RPMTAG_FLINKPKGID = 1167, RPMTAG_FLINKHDRID = 1168, RPMTAG_FLINKNEVRA = 1169, RPMTAG_PACKAGEORIGIN = 1170, RPMTAG_TRIGGERPREIN = 1171, RPMTAG_BUILDSUGGESTS = 1172, RPMTAG_BUILDENHANCES = 1173, RPMTAG_SCRIPTSTATES = 1174, RPMTAG_SCRIPTMETRICS = 1175, RPMTAG_BUILDCPUCLOCK = 1176, RPMTAG_FILEDIGESTALGOS = 1177, RPMTAG_VARIANTS = 1178, RPMTAG_XMAJOR = 1179, RPMTAG_XMINOR = 1180, RPMTAG_REPOTAG = 1181, RPMTAG_KEYWORDS = 1182, RPMTAG_BUILDPLATFORMS = 1183, RPMTAG_PACKAGECOLOR = 1184, RPMTAG_PACKAGEPREFCOLOR = 1185, RPMTAG_XATTRSDICT = 1186, RPMTAG_FILEXATTRSX = 1187, RPMTAG_DEPATTRSDICT = 1188, RPMTAG_CONFLICTATTRSX = 1189, RPMTAG_OBSOLETEATTRSX = 1190, RPMTAG_PROVIDEATTRSX = 1191, RPMTAG_REQUIREATTRSX = 1192, RPMTAG_BUILDPROVIDES = 1193, RPMTAG_BUILDOBSOLETES = 1194, RPMTAG_FIRSTFREE_TAG } |
enum | rpmScriptID_e { RPMSCRIPT_UNKNOWN = 0, RPMSCRIPT_PRETRANS = 1, RPMSCRIPT_TRIGGERPREIN = 2, RPMSCRIPT_PREIN = 3, RPMSCRIPT_POSTIN = 4, RPMSCRIPT_TRIGGERIN = 5, RPMSCRIPT_TRIGGERUN = 6, RPMSCRIPT_PREUN = 7, RPMSCRIPT_POSTUN = 8, RPMSCRIPT_TRIGGERPOSTUN = 9, RPMSCRIPT_POSTTRANS = 10, RPMSCRIPT_VERIFY = 16, RPMSCRIPT_MAX = 32 } |
Scriptlet identifiers. More... | |
enum | rpmScriptState_e { RPMSCRIPT_STATE_UNKNOWN = 0, RPMSCRIPT_STATE_EXEC = (1 << 16), RPMSCRIPT_STATE_REAPED = (1 << 17), RPMSCRIPT_STATE_SELINUX = (1 << 24), RPMSCRIPT_STATE_EMULATOR = (1 << 25), RPMSCRIPT_STATE_LUA = (1 << 26) } |
Scriptlet states (when installed). More... | |
enum | rpmfileState_e { RPMFILE_STATE_NORMAL = 0, RPMFILE_STATE_REPLACED = 1, RPMFILE_STATE_NOTINSTALLED = 2, RPMFILE_STATE_NETSHARED = 3, RPMFILE_STATE_WRONGCOLOR = 4 } |
File States (when installed). More... | |
enum | rpmfileAttrs_e { RPMFILE_NONE = 0, RPMFILE_CONFIG = (1 << 0), RPMFILE_DOC = (1 << 1), RPMFILE_ICON = (1 << 2), RPMFILE_MISSINGOK = (1 << 3), RPMFILE_NOREPLACE = (1 << 4), RPMFILE_SPECFILE = (1 << 5), RPMFILE_GHOST = (1 << 6), RPMFILE_LICENSE = (1 << 7), RPMFILE_README = (1 << 8), RPMFILE_EXCLUDE = (1 << 9), RPMFILE_UNPATCHED = (1 << 10), RPMFILE_PUBKEY = (1 << 11), RPMFILE_POLICY = (1 << 12), RPMFILE_EXISTS = (1 << 13), RPMFILE_SPARSE = (1 << 14), RPMFILE_TYPED = (1 << 15), RPMFILE_SOURCE = (1 << 16), RPMFILE_PATCH = (1 << 17) } |
File Attributes. More... | |
Functions | |
static void * | _free (const void *p) |
Wrapper to free(3), hides const compilation noise, permit NULL, return NULL. | |
void | headerMergeLegacySigs (Header h, const Header sigh) |
Translate and merge legacy signature tags into header. | |
Header | headerRegenSigHeader (const Header h, int noArchiveSize) |
Regenerate signature header. | |
static const char * | tagName (int tag) |
Return tag name from value. | |
static int | tagType (int tag) |
Return tag data type from value. | |
static int | tagValue (const char *tagstr) |
Return tag value from name. | |
Variables | |
MacroContext_s * | rpmGlobalMacroContext |
MacroContext_s * | rpmCLIMacroContext |
const char * | RPMVERSION |
const char * | rpmNAME |
const char * | rpmEVR |
int | rpmFLAGS |
const struct headerTagTableEntry_s * | rpmTagTable |
Automatically generated table of tag name/value pairs. | |
const int | rpmTagTableSize |
Number of entries in rpmTagTable. | |
headerTagIndices | rpmTags |
const struct headerSprintfExtension_s | rpmHeaderFormats [] |
Table of query format extensions. |
Definition in file rpmlib.h.
|
Value: ( RPMTRANS_FLAG_NOPRE | \ RPMTRANS_FLAG_NOPOST | \ RPMTRANS_FLAG_NOPREUN | \ RPMTRANS_FLAG_NOPOSTUN \ ) Definition at line 981 of file rpmlib.h. Referenced by installArgCallback(), main(), and rpmtsRun(). |
|
Value: ( RPMTRANS_FLAG_NOTRIGGERPREIN | \ RPMTRANS_FLAG_NOTRIGGERIN | \ RPMTRANS_FLAG_NOTRIGGERUN | \ RPMTRANS_FLAG_NOTRIGGERPOSTUN \ ) Definition at line 988 of file rpmlib.h. Referenced by installArgCallback(), main(), and rpmtsRun(). |
|
|
|
No. of arch/os tables. Definition at line 543 of file rpmlib.h. Referenced by doReadRC(), and rpmFreeRpmrc(). |
|
|
|
|
|
Definition at line 87 of file rpmlib.h. Referenced by addRelation(), rpmalAdd(), rpmalAllFileSatisfiesDepend(), rpmalAllSatisfiesDepend(), rpmteAddedKey(), rpmteSetAddedKey(), rpmtsAddAvailableElement(), rpmtsAddEraseElement(), rpmtsAddInstallElement(), and rpmtsOrder(). |
|
Definition at line 184 of file rpmlib.h. Referenced by _tagName(), _tagType(), _tagValue(), rpmdbAdd(), rpmdbMoveDatabase(), rpmdbOpenAll(), rpmdbOpenDatabase(), rpmdbRemove(), and rpmgiNext(). |
|
Definition at line 188 of file rpmlib.h. Referenced by _tagName(), _tagType(), _tagValue(), rpmcliArgIter(), rpmgiGlobArgv(), and rpmgiNext(). |
|
Definition at line 186 of file rpmlib.h. Referenced by _tagName(), _tagType(), _tagValue(), rpmdbAdd(), rpmdbMoveDatabase(), rpmdbOpenAll(), rpmdbOpenDatabase(), and rpmdbRemove(). |
|
Definition at line 182 of file rpmlib.h. Referenced by _tagName(), _tagType(), _tagValue(), rpmdbAdd(), rpmdbMoveDatabase(), rpmdbOpenAll(), rpmdbOpenDatabase(), rpmdbRemove(), rpmgiNext(), rpmtsCheck(), and unsatisfiedDepend(). |
|
Definition at line 189 of file rpmlib.h. Referenced by _tagName(), _tagType(), _tagValue(), rpmcliArgIter(), rpmgiGlobArgv(), and rpmgiNext(). |
|
Definition at line 187 of file rpmlib.h. Referenced by _tagName(), _tagType(), _tagValue(), rpmcliArgIter(), rpmgiGlobArgv(), and rpmgiNext(). |
|
Definition at line 183 of file rpmlib.h. Referenced by rpmcliArgIter(), rpmdbInitIterator(), rpmErase(), rpmQueryVerify(), rpmts_AddErase(), and rpmtsInitIterator(). |
|
Pseudo-tags used by the rpmdb and rpmgi iterator API's.
Definition at line 181 of file rpmlib.h. Referenced by _tagName(), _tagType(), _tagValue(), dbiFindMatches(), dbiOpen(), dbiTagsInit(), handleInstInstalledFiles(), handleRmvdInstalledFiles(), rpmcliArgIter(), rpmdb_length(), rpmdb_Match(), rpmdb_subscript(), rpmdbAdd(), rpmdbFreeIterator(), rpmdbInitIterator(), rpmdbNextIterator(), rpmdbOpenDatabase(), rpmdbRebuild(), rpmdbRemove(), rpmgiInitFilter(), rpmgiNext(), rpmpsmStage(), rpmQueryVerify(), rpmts_AddErase(), and rpmts_Match(). |
|
Definition at line 185 of file rpmlib.h. Referenced by _tagName(), _tagType(), _tagValue(), rpmdbAdd(), rpmdbMoveDatabase(), rpmdbOpenAll(), rpmdbOpenDatabase(), rpmdbRemove(), and rpmgiNext(). |
|
|
|
|
|
Definition at line 497 of file rpmlib.h. Referenced by rpmfiFState(), and showQueryPackage(). |
|
Definition at line 1043 of file rpmlib.h. Referenced by packageBinaries(), rpmpsmStage(), and writeRPM(). |
|
|
|
|
|
|
|
|
|
Don't rely on sizeof(struct) |
|
Definition at line 1044 of file rpmlib.h. Referenced by packageSources(), and writeRPM(). |
|
|
|
Referenced by _tagName(). |
|
|
|
|
|
|
|
Referenced by hdr_subscript(), and rpmdbAdd(). |
|
Referenced by _tagName(), addTE(), and rpmHeadersIdentical(). |
|
|
|
|
|
|
|
|
|
Referenced by addTE(), and rpmteChain(). |
|
Referenced by rpmdsELF(). |
|
|
|
|
|
|
|
|
|
|
|
Definition at line 804 of file rpmlib.h. Referenced by dnlInitIterator(), fsmCommitLinks(), fsmMakeLinks(), handleInstInstalledFiles(), handleOverlappedFiles(), rpmtsRun(), saveHardLink(), and skipFiles(). |
|
File disposition(s) during package install/erase transaction.
|
|
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. |
|
Prototype for headerAddEntry() vector. Duplicate tags are okay, but only defined for iteration (with the exceptions noted below). While you are allowed to add i18n string arrays through this function, you probably don't mean to. See headerAddI18NString() instead.
|
|
Prototype for headerFreeData() vector.
|
|
Prototype for headerGetEntry() vector. Will never return RPM_I18NSTRING_TYPE! RPM_STRING_TYPE elements with RPM_I18NSTRING_TYPE equivalent entries are translated (if HEADER_I18NTABLE entry is present).
|
|
Prototype for headerModifyEntry() vector. If there are multiple entries with this tag, the first one gets replaced.
|
|
Prototype for headerRemoveEntry() vector. Delete tag in header. Removes all entries of type tag from the header, returns 1 if none were found.
|
|
File Attributes.
|
|
File States (when installed).
|
|
|
|
Package read return codes.
|
|
We pass these around as an array with a sentinel.
|
|
Scriptlet identifiers.
|
|
Scriptlet states (when installed).
|
|
|
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. |
|
File Attributes.
|
|
File States (when installed).
|
|
|
|
Package read return codes.
|
|
Scriptlet identifiers.
|
|
Scriptlet states (when installed).
|
|
Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.
Definition at line 63 of file rpmlib.h. Referenced by addChangelog(), addFileToTagAux(), addOrAppendListEntry(), addSource(), argiFree(), argvFree(), base64Format(), buildForTarget(), checkFiles(), checkForValidArchitectures(), checkPackageSet(), closeCallback(), closeSpec(), cpio_doio(), cpioHeaderRead(), db3close(), db3Free(), db3New(), db3open(), db3stat(), db_init(), dbiFreeIndexSet(), dbiTagsInit(), defaultMachine(), delTE(), dnlFreeIterator(), dodigest(), doIcon(), doPatch(), doReadRC(), doRmSource(), doScript(), doSetupMacro(), doUntar(), ensureOlder(), expandFilelist(), extractRegular(), fillOutMainPackage(), formatValue(), freeAttrRec(), freeBadDeps(), freeFileList(), freeFSM(), freeHardLink(), freeNames(), freePackage(), freeRpmVar(), freeSl(), freeSources(), freeSpec(), freeSplitString(), freeSt(), freeStringBuf(), freeTriggerFiles(), fsmCommitLinks(), fsmMakeLinks(), fsmMapPath(), fssizesTag(), genCpioListAndHeader(), getFilesystemList(), handleOverlappedFiles(), handlePreambleTag(), hdr_dealloc(), hdrPrintErased(), hdrPrintInstalled(), hdrSprintf(), hdrUnload(), headerMacrosLoad(), htFree(), i18nTag(), IDTXfree(), IDTXglob(), localeTag(), lzdClose(), lzdReadOpen(), lzdWriteOpen(), machCompatCacheAdd(), main(), makeGPGSignature(), makeHDRSignature(), makePGPSignature(), makeTempFile(), mapFreeIterator(), miFreeHeader(), mireFreeAll(), mungeFilelist(), packageBinaries(), packageSources(), parseBuildInstallClean(), parseChangelog(), parseCVOG(), parseDescription(), parseExpressionBoolean(), parseExpressionString(), parseFiles(), parseForRegexLang(), parseRCPOT(), parseScript(), parseSpec(), permsFormat(), pgpArmorWrap(), pgpCleanDig(), pgpExtractPubkeyFingerprint(), pgpFreeDig(), pgpHexSet(), pgpPrtUserID(), pgpPubkeyFingerprint(), pgpReadPkts(), popMacro(), prepFetch(), printFileInfo(), processBinaryFile(), processMetadataFile(), processPackageFiles(), pushMacro(), readLine(), rebuildCompatTables(), rpmalAllSatisfiesDepend(), rpmalFreeIndex(), rpmcliAllArgCallback(), rpmcliConfigured(), rpmcliFini(), rpmcliImportPubkey(), rpmcliImportPubkeys(), rpmcliQuery(), rpmdbAdd(), rpmdbClose(), rpmdbExportInfo(), rpmdbFreeIterator(), rpmdbInitIterator(), rpmdbNew(), rpmdbNextIterator(), rpmdbRebuild(), rpmdbRemove(), rpmdbSetIteratorRE(), rpmdbURIPath(), rpmDetectPGPVersion(), rpmds_compare(), rpmdsCompare(), rpmdsCpuinfo(), rpmdsELF(), rpmdsFree(), rpmdsFreePRCO(), rpmdsGetconf(), rpmdsLdconfig(), rpmdsMerge(), rpmdsNew(), rpmdsNext(), rpmdsPipe(), rpmdsSysinfo(), rpmecFree(), rpmExpandNumeric(), rpmfcClassify(), rpmfcExec(), rpmfcFree(), rpmfcGenerateDepends(), rpmfd_Fopen(), rpmfiBuildFClasses(), rpmfiBuildFContexts(), rpmfiBuildFDeps(), rpmfiBuildFSContexts(), rpmfiBuildREContexts(), rpmfiFree(), rpmFreeFilesystems(), rpmFreeMacros(), rpmFreeRpmrc(), rpmfts_dealloc(), rpmfts_initialize(), rpmGenPath(), rpmGetPassPhrase(), rpmgiFree(), rpmgiGlobArgv(), rpmgiInitFilter(), rpmgiLoadReadHeader(), rpmgiNext(), rpmgiOpen(), rpmInstall(), rpmInstallSource(), rpmInstallSourcePackage(), rpmlogClose(), rpmLookupSignatureType(), rpmMergeHeaders(), rpmps_ass_sub(), rpmpsFree(), rpmpsmFree(), rpmpsmStage(), rpmQueryVerify(), rpmReadConfigFiles(), rpmReadHeader(), rpmReadPackageFile(), rpmReSign(), rpmRollback(), rpmSetMachine(), rpmSetVarArch(), rpmShowProgress(), rpmsxFree(), rpmsxParse(), rpmteFree(), rpmteFreeTSI(), rpmts_HdrCheck(), rpmts_IDTXglob(), rpmts_Run(), rpmtsAddInstallElement(), rpmtsAvailable(), rpmtsCheck(), rpmtsClean(), rpmtsCreate(), rpmtsFindPubkey(), rpmtsFree(), rpmtsInitDSI(), rpmtsOpenDB(), rpmtsOpenSDB(), rpmtsOrder(), rpmtsRollback(), rpmtsRun(), rpmtsSetCurrDir(), rpmtsSetRootDir(), rpmtsSolve(), rpmVerifySignatures(), runInstScript(), runScript(), saveHardLink(), setPathDefault(), showQueryPackage(), skipFiles(), tarHeaderReadName(), triggercondsTag(), urlSplit(), valueFree(), verifyMD5Signature(), verifyRSASignature(), verifySHA1Signature(), vrpmlog(), writeLinkedFile(), writeRPM(), XfdFree(), xmlFormat(), XrpmtsiFree(), XurlFree(), yamlFormat(), and zapRelation(). |
|
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.
Definition at line 324 of file package.c. References _, alloca(), headerVerifyInfo(), REGION_TAG_COUNT, RPM_BIN_TYPE, RPMRC_FAIL, RPMRC_NOTFOUND, RPMTAG_HEADERIMMUTABLE, rpmtsVSFlags(), and snprintf(). Referenced by rpmpsmStage(), rpmReadHeader(), rpmts_HdrCheck(), rpmtsInitIterator(), and rpmtsRebuildDB(). |
|
Perform simple sanity and range checks on header tag(s).
Definition at line 280 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(). |
|
Install source package.
Definition at line 165 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 rpmInstallSource(). |
|
Return checked and loaded header.
Definition at line 649 of file package.c. References _, _free(), block(), fdGetOPath(), headerToken_s::flags, hdrchkData, hdrchkTags, header_magic, headerCheck(), HEADERFLAG_ALLOCATED, headerFree(), headerLink(), headerLoad(), headerSetOrigin(), RPMRC_FAIL, RPMRC_OK, snprintf(), timedRead, xmalloc(), and xstrdup(). Referenced by rpmReadPackageFile(). |
|
Return package header from file handle, verifying digests/signatures.
Definition at line 753 of file package.c. References _, _chk, _free(), _print_pkts, alloca(), rpmop_s::count, entryInfo_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(), 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, pgpDig_s::sha1ctx, pgpDig_s::signature, _FD_s::stats, and pgpDigParams_s::version. Referenced by IDTXglob(), readRPM(), rpmgiReadHeader(), rpmInstallSourcePackage(), rpmts_HdrFromFdno(), rpmtsRun(), and rpmtsSolve(). |
|
Compare headers to determine which header is "newer".
Definition at line 52 of file psm.c. References headerGetEntry(), RPMTAG_EPOCH, RPMTAG_RELEASE, RPMTAG_VERSION, and rpmvercmp. Referenced by hdr_compare(). |
|
Return tag name from value.
Definition at line 1005 of file rpmlib.h. References rpmTags, and headerTagIndices_s::tagName. Referenced by checkForDuplicates(), checkForRequired(), db3New(), dbiFindMatches(), dbiOpen(), handlePreambleTag(), i18nTag(), mapTagName(), miFreeHeader(), printNewSpecfile(), rpmdbCountPackages(), rpmdbFindByFile(), rpmdbGrowIterator(), rpmdbInitIterator(), rpmdbMoveDatabase(), rpmdbRemove(), rpmdbRemoveDatabase(), rpmdsMergePRCO(), rpmdsTagName(), rpmfcMergePR(), rpmgiInitFilter(), rpmgiNext(), rpmHeaderGetEntry(), stashSt(), XrpmgiLink(), and XrpmgiUnlink(). |
|
Return tag data type from value.
Definition at line 1020 of file rpmlib.h. References rpmTags, and headerTagIndices_s::tagType. Referenced by writeRPM(). |
|
Return tag value from name.
Definition at line 1034 of file rpmlib.h. References rpmTags, and headerTagIndices_s::tagValue. Referenced by rpmdsSysinfo(), and rpmgiInitFilter(). |
|
Definition at line 37 of file rpmrc.c. Referenced by rpmFreeRpmrc(), rpmPlatformScore(), and rpmtsAddInstallElement(). |
|
Definition at line 35 of file rpmrc.c. Referenced by rpmFreeRpmrc(), rpmPlatformScore(), and rpmtsAddInstallElement(). |
|
Definition at line 78 of file macro.c. Referenced by rpmcliAllArgCallback(), and rpmcliFini(). |
|
Definition at line 56 of file depends.c. Referenced by printVersion(). |
|
|
|
Definition at line 73 of file macro.c. Referenced by addMacro(), delMacro(), expandMacros(), findEntry(), newSpec(), rpmDefineMacro(), rpmDumpMacroTable(), rpmFreeMacros(), rpmInitMacros(), and rpmLoadMacros(). |
|
Table of query format extensions.
Definition at line 1569 of file formats.c. Referenced by hdr_subscript(), hdrPrintErased(), hdrPrintInstalled(), hdrSprintf(), init_rpm(), packageBinaries(), queryHeader(), rpmcliImportPubkey(), rpmDisplayQueryTags(), rpmHeaderGetEntry(), rpmpsmStage(), rpmShowProgress(), rpmtsSolve(), and runScript(). |
|
|
|
Definition at line 94 of file tagname.c. Referenced by rpmcliFini(), tagName(), tagType(), and tagValue(). |
|
Automatically generated table of tag name/value pairs.
Definition at line 197 of file tagtbl.c. Referenced by hdrPrintErased(), hdrPrintInstalled(), hdrSprintf(), init_rpm(), packageBinaries(), queryHeader(), rpmcliImportPubkey(), rpmDisplayQueryTags(), rpmHeaderGetEntry(), rpmpsmStage(), rpmShowProgress(), rpmtsSolve(), runScript(), tagLoadIndex(), and tagNumFromPyObject(). |
|
Number of entries in rpmTagTable.
Definition at line 200 of file tagtbl.c. Referenced by init_rpm(), rpmDisplayQueryTags(), tagLoadIndex(), and tagNumFromPyObject(). |
|
Definition at line 8 of file misc.c. Referenced by rpmcliImportPubkey(). |