#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 |
We pass these around as an array with a sentinel. More... | |
struct | rpmlead |
The lead data structure. More... | |
RPMRC | |
#define | RPMVAR_OPTFLAGS 3 |
#define | RPMVAR_PROVIDES 38 |
#define | RPMVAR_INCLUDE 43 |
#define | RPMVAR_MACROFILES 49 |
#define | RPMVAR_NUM 55 |
#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 * | rpmGetVar (int var) |
Return value of an rpmrc variable. | |
void | rpmSetVar (int var, const char *val) |
Set value of an rpmrc variable. | |
int | rpmReadConfigFiles (const char *file, const char *target) |
Read macro configuration file(s) for a target. | |
void | rpmGetArchInfo (const char **name, int *num) |
Return current arch name and/or number. | |
void | rpmGetOsInfo (const char **name, int *num) |
Return current os name and/or number. | |
int | rpmMachineScore (int type, const char *name) |
Return arch/os score of a name. | |
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 | rpmGetMachine (const char **arch, const char **os) |
Return current arch/os names. | |
void | rpmFreeRpmrc (void) |
Destroy rpmrc arch/os compatibility tables. | |
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 | 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_REVERSE = (1 << 15), 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_ANACONDA = (1 << 26), RPMTRANS_FLAG_NOMD5 = (1 << 27), RPMTRANS_FLAG_NOSUGGEST = (1 << 28), RPMTRANS_FLAG_ADDINDEPS = (1 << 29), RPMTRANS_FLAG_NOCONFIGS = (1 << 30), RPMTRANS_FLAG_DEPLOOPS = (1 << 31) } |
Bit(s) to control rpmtsRun() operation. More... | |
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 rpmtransFlags_e | rpmtransFlags |
Bit(s) to control rpmtsRun() operation. | |
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 | headerCheckPayloadFormat (Header h) |
Check for supported payload format in header. | |
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. | |
int | rpmGetRpmlibProvides (const char ***provNames, int **provFlags, const char ***provVersions) |
Return copy of rpmlib internal provides. | |
int | rpmvercmp (const char *a, const char *b) |
Segmented string compare for version and/or release. | |
int | rpmCheckRpmlibProvides (const rpmds key) |
Check dependency against internal rpmlib feature provides. | |
void | rpmShowRpmlibProvides (FILE *fp) |
Display current rpmlib feature provides. | |
RPMEIU | |
enum | rpmInstallInterfaceFlags_e { INSTALL_NONE = 0, INSTALL_PERCENT = (1 << 0), INSTALL_HASH = (1 << 1), INSTALL_NODEPS = (1 << 2), INSTALL_NOORDER = (1 << 3), INSTALL_LABEL = (1 << 4), INSTALL_UPGRADE = (1 << 5), INSTALL_FRESHEN = (1 << 6), INSTALL_INSTALL = (1 << 7), INSTALL_ERASE = (1 << 8) } |
Bit(s) to control rpmInstall() operation. More... | |
enum | rpmEraseInterfaceFlags_e { UNINSTALL_NONE = 0, UNINSTALL_NODEPS = (1 << 0), UNINSTALL_ALLMATCHES = (1 << 1) } |
Bit(s) to control rpmErase() operation. More... | |
typedef enum rpmInstallInterfaceFlags_e | rpmInstallInterfaceFlags |
Bit(s) to control rpmInstall() operation. | |
typedef enum rpmEraseInterfaceFlags_e | rpmEraseInterfaceFlags |
Bit(s) to control rpmErase() operation. | |
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 h) |
Destroy signature header from package. | |
Defines | |
#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_SERIAL RPMTAG_EPOCH |
#define | RPMTAG_COPYRIGHT RPMTAG_LICENSE |
#define | RPMTAG_PROVIDES RPMTAG_PROVIDENAME |
#define | RPMTAG_P RPMTAG_PROVIDENAME |
#define | RPMTAG_REQUIRES RPMTAG_REQUIRENAME |
#define | RPMTAG_D RPMTAG_REQUIRENAME |
#define | RPMTAG_CONFLICTS RPMTAG_CONFLICTNAME |
#define | RPMTAG_C RPMTAG_CONFLICTNAME |
#define | RPMTAG_OBSOLETES RPMTAG_OBSOLETENAME |
#define | RPMTAG_O RPMTAG_OBSOLETENAME |
#define | RPMTAG_SVNID RPMTAG_CVSID |
#define | RPMTAG_EXTERNAL_TAG 1000000 |
#define | RPMFILE_STATE_MISSING -1 |
#define | RPMFILE_ALL ~(RPMFILE_NONE) |
#define | RPMSENSE_SENSEMASK 15 |
#define | RPMSENSE_TRIGGER (RPMSENSE_TRIGGERIN | RPMSENSE_TRIGGERUN | RPMSENSE_TRIGGERPOSTUN) |
#define | _ALL_REQUIRES_MASK |
#define | _notpre(_x) ((_x) & ~RPMSENSE_PREREQ) |
#define | _INSTALL_ONLY_MASK _notpre(RPMSENSE_SCRIPT_PRE|RPMSENSE_SCRIPT_POST|RPMSENSE_RPMLIB|RPMSENSE_KEYRING) |
#define | _ERASE_ONLY_MASK _notpre(RPMSENSE_SCRIPT_PREUN|RPMSENSE_SCRIPT_POSTUN) |
#define | isLegacyPreReq(_x) (((_x) & _ALL_REQUIRES_MASK) == RPMSENSE_PREREQ) |
#define | isInstallPreReq(_x) ((_x) & _INSTALL_ONLY_MASK) |
#define | isErasePreReq(_x) ((_x) & _ERASE_ONLY_MASK) |
#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 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 rpmfileState_e | rpmfileState |
File States (when installed). | |
typedef enum rpmfileAttrs_e | rpmfileAttrs |
File Attributes. | |
typedef enum rpmsenseFlags_e | rpmsenseFlags |
Dependency 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_FILEMD5S = 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_FIRSTFREE_TAG } |
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) } |
File Attributes. More... | |
enum | rpmsenseFlags_e { RPMSENSE_ANY = 0, RPMSENSE_SERIAL = (1 << 0), RPMSENSE_LESS = (1 << 1), RPMSENSE_GREATER = (1 << 2), RPMSENSE_EQUAL = (1 << 3), RPMSENSE_PROVIDES = (1 << 4), RPMSENSE_CONFLICTS = (1 << 5), RPMSENSE_PREREQ = (1 << 6), RPMSENSE_OBSOLETES = (1 << 7), RPMSENSE_INTERP = (1 << 8), RPMSENSE_SCRIPT_PRE = ((1 << 9)|RPMSENSE_PREREQ), RPMSENSE_SCRIPT_POST = ((1 << 10)|RPMSENSE_PREREQ), RPMSENSE_SCRIPT_PREUN = ((1 << 11)|RPMSENSE_PREREQ), RPMSENSE_SCRIPT_POSTUN = ((1 << 12)|RPMSENSE_PREREQ), RPMSENSE_SCRIPT_VERIFY = (1 << 13), RPMSENSE_FIND_REQUIRES = (1 << 14), RPMSENSE_FIND_PROVIDES = (1 << 15), RPMSENSE_TRIGGERIN = (1 << 16), RPMSENSE_TRIGGERUN = (1 << 17), RPMSENSE_TRIGGERPOSTUN = (1 << 18), RPMSENSE_MISSINGOK = (1 << 19), RPMSENSE_SCRIPT_PREP = (1 << 20), RPMSENSE_SCRIPT_BUILD = (1 << 21), RPMSENSE_SCRIPT_INSTALL = (1 << 22), RPMSENSE_SCRIPT_CLEAN = (1 << 23), RPMSENSE_RPMLIB = ((1 << 24) | RPMSENSE_PREREQ), RPMSENSE_TRIGGERPREIN = (1 << 25), RPMSENSE_KEYRING = (1 << 26), RPMSENSE_PATCHES = (1 << 27), RPMSENSE_CONFIG = (1 << 28) } |
Dependency Attributes. More... | |
Functions | |
static void * | _free (const void *p) |
Wrapper to free(3), hides const compilation noise, permit NULL, return NULL. | |
int | headerNVR (Header h, const char **np, const char **vp, const char **rp) |
Return name, version, release strings from header. | |
int | headerNEVRA (Header h, const char **np, const char **ep, const char **vp, const char **rp, const char **ap) |
Return name, epoch, version, release, arch strings from header. | |
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. | |
int | rpmHeaderGetEntry (Header h, int_32 tag, int_32 *type, void **p, int_32 *c) |
Retrieve tag info from header. | |
int | tagType (int tag) |
Return tag data type from value. | |
const char *const | tagName (int tag) |
Return tag name from value. | |
int | tagValue (const char *tagstr) |
Return tag value from name. | |
void | freeFilesystems (void) |
Release storage used by file system usage cache. | |
int | rpmGetFilesystemList (const char ***listptr, int *num) |
Return (cached) file system mount points. | |
int | rpmGetFilesystemUsage (const char **fileList, int_32 *fssizes, int numFiles, uint_32 **usagesPtr, int flags) |
Determine per-file system usage for a list of files. | |
Variables | |
MacroContext_s * | rpmGlobalMacroContext |
MacroContext_s * | rpmCLIMacroContext |
const char * | RPMVERSION |
const char * | rpmNAME |
const char * | rpmEVR |
int | rpmFLAGS |
headerTagTableEntry_s * | rpmTagTable |
Automatically generated table of tag name/value pairs. | |
const int | rpmTagTableSize |
Number of entries in rpmTagTable. | |
headerSprintfExtension_s | rpmHeaderFormats [] |
Table of query format extensions. |
Definition in file rpmlib.h.
#define _ALL_REQUIRES_MASK |
Value:
(\ RPMSENSE_INTERP | \ RPMSENSE_SCRIPT_PRE | \ RPMSENSE_SCRIPT_POST | \ RPMSENSE_SCRIPT_PREUN | \ RPMSENSE_SCRIPT_POSTUN | \ RPMSENSE_SCRIPT_VERIFY | \ RPMSENSE_FIND_REQUIRES | \ RPMSENSE_SCRIPT_PREP | \ RPMSENSE_SCRIPT_BUILD | \ RPMSENSE_SCRIPT_INSTALL | \ RPMSENSE_SCRIPT_CLEAN | \ RPMSENSE_RPMLIB | \ RPMSENSE_KEYRING )
Definition at line 541 of file rpmlib.h.
Referenced by addReqProv().
#define _ERASE_ONLY_MASK _notpre(RPMSENSE_SCRIPT_PREUN|RPMSENSE_SCRIPT_POSTUN) |
#define _INSTALL_ONLY_MASK _notpre(RPMSENSE_SCRIPT_PRE|RPMSENSE_SCRIPT_POST|RPMSENSE_RPMLIB|RPMSENSE_KEYRING) |
#define _notpre | ( | _x | ) | ((_x) & ~RPMSENSE_PREREQ) |
#define _noTransScripts |
Value:
( RPMTRANS_FLAG_NOPRE | \ RPMTRANS_FLAG_NOPOST | \ RPMTRANS_FLAG_NOPREUN | \ RPMTRANS_FLAG_NOPOSTUN \ )
Definition at line 1014 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 1021 of file rpmlib.h.
Referenced by installArgCallback(), main(), and rpmtsRun().
#define isErasePreReq | ( | _x | ) | ((_x) & _ERASE_ONLY_MASK) |
#define isInstallPreReq | ( | _x | ) | ((_x) & _INSTALL_ONLY_MASK) |
#define isLegacyPreReq | ( | _x | ) | (((_x) & _ALL_REQUIRES_MASK) == RPMSENSE_PREREQ) |
#define RPM_MACHTABLE_COUNT 4 |
No. of arch/os tables.
Definition at line 607 of file rpmlib.h.
Referenced by doReadRC(), and rpmFreeRpmrc().
#define RPMAL_NOMATCH ((alKey)-1L) |
Definition at line 81 of file rpmlib.h.
Referenced by addRelation(), init_rpm(), rpmalAdd(), rpmalAllFileSatisfiesDepend(), rpmalAllSatisfiesDepend(), rpmteAddedKey(), rpmteDependsOnKey(), rpmteSetAddedKey(), rpmtsAddAvailableElement(), rpmtsAddEraseElement(), rpmtsAddInstallElement(), and rpmtsOrder().
#define RPMDBI_ADDED 3 |
Definition at line 220 of file rpmlib.h.
Referenced by isTemporaryDB(), rpmgiNext(), tagName(), and tagValue().
#define RPMDBI_ARGLIST 7 |
Definition at line 224 of file rpmlib.h.
Referenced by rpmcliArgIter(), rpmgiGlobArgv(), rpmgiNext(), tagName(), and tagValue().
#define RPMDBI_AVAILABLE 5 |
#define RPMDBI_DEPENDS 1 |
Definition at line 218 of file rpmlib.h.
Referenced by db3New(), isTemporaryDB(), rpmtsCheck(), tagName(), tagValue(), and unsatisfiedDepend().
#define RPMDBI_FTSWALK 8 |
Definition at line 225 of file rpmlib.h.
Referenced by rpmcliArgIter(), rpmgiGlobArgv(), rpmgiNext(), tagName(), and tagValue().
#define RPMDBI_HDLIST 6 |
Definition at line 223 of file rpmlib.h.
Referenced by rpmcliArgIter(), rpmgiGlobArgv(), rpmgiNext(), tagName(), and tagValue().
#define RPMDBI_LABEL 2 |
Definition at line 219 of file rpmlib.h.
Referenced by 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 217 of file rpmlib.h.
Referenced by _rpmtsAddRollbackElement(), db3New(), dbiFindMatches(), dbiOpen(), dbiTagsInit(), handleInstInstalledFiles(), handleRmvdInstalledFiles(), init_rpm(), main(), markReplacedFiles(), openDatabase(), rpmcliArgIter(), rpmdb_length(), rpmdb_Match(), rpmdb_subscript(), rpmdbAdd(), rpmdbFindByFile(), rpmdbFreeIterator(), rpmdbInitIterator(), rpmdbNextIterator(), rpmdbRebuild(), rpmdbRemove(), rpmgiNext(), rpmpsmStage(), rpmQueryVerify(), rpmts_AddErase(), rpmts_Match(), tagName(), and tagValue().
#define RPMDBI_REMOVED 4 |
#define RPMFILE_STATE_MISSING -1 |
#define RPMLEAD_BINARY 0 |
Definition at line 1095 of file rpmlib.h.
Referenced by packageBinaries(), rpmpsmStage(), and writeRPM().
#define RPMLEAD_SOURCE 1 |
Definition at line 1096 of file rpmlib.h.
Referenced by legacyRetrofit(), packageSources(), rewriteRPM(), and writeRPM().
#define RPMSENSE_SENSEMASK 15 |
Definition at line 535 of file rpmlib.h.
Referenced by addReqProv(), parseRCPOT(), rpmdsAnyMatchesDep(), rpmdsCompare(), rpmdsNewDNEVR(), rpmdsNVRMatchesDep(), triggercondsTag(), and unsatisfiedDepend().
#define RPMSENSE_TRIGGER (RPMSENSE_TRIGGERIN | RPMSENSE_TRIGGERUN | RPMSENSE_TRIGGERPOSTUN) |
#define RPMTAG_C RPMTAG_CONFLICTNAME |
#define RPMTAG_CONFLICTS RPMTAG_CONFLICTNAME |
#define RPMTAG_COPYRIGHT RPMTAG_LICENSE |
#define RPMTAG_D RPMTAG_REQUIRENAME |
#define RPMTAG_E RPMTAG_EPOCH |
#define RPMTAG_EXTERNAL_TAG 1000000 |
#define RPMTAG_HDRID RPMTAG_SHA1HEADER |
#define RPMTAG_N RPMTAG_NAME |
#define RPMTAG_O RPMTAG_OBSOLETENAME |
#define RPMTAG_OBSOLETES RPMTAG_OBSOLETENAME |
#define RPMTAG_P RPMTAG_PROVIDENAME |
#define RPMTAG_PKGID RPMTAG_SIGMD5 |
#define RPMTAG_PROVIDES RPMTAG_PROVIDENAME |
Referenced by rpmfcELF().
#define RPMTAG_R RPMTAG_RELEASE |
#define RPMTAG_REQUIRES RPMTAG_REQUIRENAME |
#define RPMTAG_SERIAL RPMTAG_EPOCH |
#define RPMTAG_SVNID RPMTAG_CVSID |
#define RPMTAG_V RPMTAG_VERSION |
#define RPMVAR_INCLUDE 43 |
#define RPMVAR_MACROFILES 49 |
#define RPMVAR_OPTFLAGS 3 |
#define RPMVAR_PROVIDES 38 |
#define XFA_SKIPPING | ( | _a | ) | ((_a) == FA_SKIP || (_a) == FA_SKIPNSTATE || (_a) == FA_SKIPNETSHARED || (_a) == FA_SKIPCOLOR) |
Definition at line 848 of file rpmlib.h.
Referenced by dnlInitIterator(), fsmCommitLinks(), fsmMakeLinks(), fsmStage(), handleInstInstalledFiles(), handleOverlappedFiles(), rpmtsRun(), saveHardLink(), and skipFiles().
typedef void* alKey |
typedef int alNum |
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 int(*) HAE_t(Header h, rpmTag tag, rpmTagType type, const void *p, int_32 c) |
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.
h | header | |
tag | tag | |
type | tag value data type | |
p | pointer to tag value(s) | |
c | number of values |
typedef void*(*) HFD_t(const void *data, rpmTagType type) |
Prototype for headerFreeData() vector.
data | address of data (or NULL) | |
type | type of data (or -1 to force free) |
typedef int(*) HGE_t(Header h, rpmTag tag,rpmTagType *type,void **p,int_32 *c) |
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).
h | header | |
tag | tag |
type | address of tag value data type (or NULL) | |
p | address of pointer to tag value(s) (or NULL) | |
c | address of number of values (or NULL) |
typedef int(*) HME_t(Header h, rpmTag tag, rpmTagType type, const void *p, int_32 c) |
Prototype for headerModifyEntry() vector.
If there are multiple entries with this tag, the first one gets replaced.
h | header | |
tag | tag | |
type | tag value data type | |
p | pointer to tag value(s) | |
c | number of values |
Prototype for headerRemoveEntry() vector.
Delete tag in header. Removes all entries of type tag from the header, returns 1 if none were found.
h | header | |
tag | tag |
typedef struct rpmds_s* rpmds |
typedef struct rpmfi_s* rpmfi |
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 |
We pass these around as an array with a sentinel.
typedef enum rpmsenseFlags_e rpmsenseFlags |
Dependency Attributes.
typedef struct rpmte_s* rpmte |
typedef enum rpmtransFlags_e rpmtransFlags |
Bit(s) to control rpmtsRun() operation.
typedef struct rpmts_s* rpmts |
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.
PIPE | pipe/fifo |
CDEV | character device |
XDIR | directory |
BDEV | block device |
REG | regular file |
LINK | hard link |
SOCK | socket |
enum rpmfileAttrs_e |
File Attributes.
RPMFILE_NONE | |
RPMFILE_CONFIG | from %config |
RPMFILE_DOC | from %doc |
RPMFILE_ICON | from %donotuse. |
RPMFILE_MISSINGOK | from %config(missingok) |
RPMFILE_NOREPLACE | from %config(noreplace) |
RPMFILE_SPECFILE |
|
RPMFILE_GHOST | from %ghost |
RPMFILE_LICENSE | from %license |
RPMFILE_README | from %readme |
RPMFILE_EXCLUDE | from %exclude, internal |
RPMFILE_UNPATCHED | placeholder (SuSE) |
RPMFILE_PUBKEY | from %pubkey |
RPMFILE_POLICY | from %policy |
enum rpmfileState_e |
enum rpmprobFilterFlags_e |
enum rpmRC_e |
enum rpmsenseFlags_e |
Dependency Attributes.
RPMSENSE_ANY | |
RPMSENSE_SERIAL |
|
RPMSENSE_LESS | |
RPMSENSE_GREATER | |
RPMSENSE_EQUAL | |
RPMSENSE_PROVIDES | |
RPMSENSE_CONFLICTS | |
RPMSENSE_PREREQ |
|
RPMSENSE_OBSOLETES | |
RPMSENSE_INTERP | Interpreter used by scriptlet. |
RPMSENSE_SCRIPT_PRE | pre dependency. |
RPMSENSE_SCRIPT_POST | post dependency. |
RPMSENSE_SCRIPT_PREUN | preun dependency. |
RPMSENSE_SCRIPT_POSTUN | postun dependency. |
RPMSENSE_SCRIPT_VERIFY | verify dependency. |
RPMSENSE_FIND_REQUIRES | find-requires generated dependency. |
RPMSENSE_FIND_PROVIDES | find-provides generated dependency. |
RPMSENSE_TRIGGERIN | triggerin dependency. |
RPMSENSE_TRIGGERUN | triggerun dependency. |
RPMSENSE_TRIGGERPOSTUN | triggerpostun dependency. |
RPMSENSE_MISSINGOK | suggests/enhances hint. |
RPMSENSE_SCRIPT_PREP | prep build dependency. |
RPMSENSE_SCRIPT_BUILD | build build dependency. |
RPMSENSE_SCRIPT_INSTALL | install build dependency. |
RPMSENSE_SCRIPT_CLEAN | clean build dependency. |
RPMSENSE_RPMLIB | rpmlib(feature) dependency. |
RPMSENSE_TRIGGERPREIN |
|
RPMSENSE_KEYRING | |
RPMSENSE_PATCHES | |
RPMSENSE_CONFIG |
enum rpmTag_e |
enum rpmtransFlags_e |
Bit(s) to control rpmtsRun() operation.
RPMTRANS_FLAG_NONE | |
RPMTRANS_FLAG_TEST | from --test |
RPMTRANS_FLAG_BUILD_PROBS | don't process payload |
RPMTRANS_FLAG_NOSCRIPTS | from --noscripts |
RPMTRANS_FLAG_JUSTDB | from --justdb |
RPMTRANS_FLAG_NOTRIGGERS | from --notriggers |
RPMTRANS_FLAG_NODOCS | from --excludedocs |
RPMTRANS_FLAG_ALLFILES | from --allfiles |
RPMTRANS_FLAG_KEEPOBSOLETE |
|
RPMTRANS_FLAG_NOCONTEXTS | from --nocontexts |
RPMTRANS_FLAG_DIRSTASH | from --dirstash |
RPMTRANS_FLAG_REPACKAGE | from --repackage |
RPMTRANS_FLAG_PKGCOMMIT | |
RPMTRANS_FLAG_PKGUNDO | |
RPMTRANS_FLAG_COMMIT | |
RPMTRANS_FLAG_UNDO | |
RPMTRANS_FLAG_REVERSE | |
RPMTRANS_FLAG_NOTRIGGERPREIN | from --notriggerprein |
RPMTRANS_FLAG_NOPRE | from --nopre |
RPMTRANS_FLAG_NOPOST | from --nopost |
RPMTRANS_FLAG_NOTRIGGERIN | from --notriggerin |
RPMTRANS_FLAG_NOTRIGGERUN | from --notriggerun |
RPMTRANS_FLAG_NOPREUN | from --nopreun |
RPMTRANS_FLAG_NOPOSTUN | from --nopostun |
RPMTRANS_FLAG_NOTRIGGERPOSTUN | from --notriggerpostun |
RPMTRANS_FLAG_NOPAYLOAD | |
RPMTRANS_FLAG_APPLYONLY | |
RPMTRANS_FLAG_ANACONDA | from --anaconda |
RPMTRANS_FLAG_NOMD5 | from --nomd5 |
RPMTRANS_FLAG_NOSUGGEST | from --nosuggest |
RPMTRANS_FLAG_ADDINDEPS | from --aid |
RPMTRANS_FLAG_NOCONFIGS | from --noconfigs |
RPMTRANS_FLAG_DEPLOOPS | from --deploops |
static void* _free | ( | const void * | p | ) | [inline, static] |
Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.
p | memory to free |
Definition at line 58 of file rpmlib.h.
Referenced by addFileToTagAux(), addOrAppendListEntry(), addSource(), argiFree(), argvFree(), base64Format(), buildForTarget(), checkFiles(), checkPackageSet(), closeCallback(), closeSpec(), cpio_doio(), cpioHeaderRead(), db3close(), db3Free(), db3New(), db3open(), db3stat(), db_init(), dbiFreeIndexSet(), dbiTagsInit(), defaultMachine(), delTE(), dnlFreeIterator(), doHeaderUnload(), domd5(), doPatch(), doReadRC(), doRmSource(), doScript(), doSetupMacro(), doUntar(), ensureOlder(), expandFilelist(), expandRegular(), fillOutMainPackage(), formatValue(), freeAttrRec(), freeBadDeps(), freeFileList(), freeFilesystems(), freeFormat(), freeFSM(), freeHardLink(), freeItem(), freeItems(), freeNames(), freePackage(), freeRpmVar(), freeSl(), freeSources(), freeSpec(), freeSplitString(), freeSt(), freeStringBuf(), freeTriggerFiles(), fsmCommitLinks(), fsmMakeLinks(), fsmMapPath(), fsmStage(), fssizesTag(), genCpioListAndHeader(), getFilesystemList(), getRepackageHeaderFromTE(), handleInstInstalledFiles(), handlePreambleTag(), hdr_dealloc(), hdrSprintf(), hdrUnload(), headerCheckPayloadFormat(), htFree(), i18nTag(), IDTXfree(), IDTXglob(), ignoreDep(), initGlobs(), machCompatCacheAdd(), machFindEquivs(), main(), makeGPGSignature(), makeHDRSignature(), makePGPSignature(), makeTempFile(), mapFreeIterator(), miFreeHeader(), mungeFilelist(), newRpmdb(), packageBinaries(), packageSources(), parseDescription(), parseExpressionBoolean(), parseExpressionString(), parseFiles(), parseFmt(), parseForRegexLang(), parseRCPOT(), parseScript(), parseSpec(), permsFormat(), pgpArmorWrap(), pgpCleanDig(), pgpFreeDig(), pgpHexSet(), pgpReadPkts(), popMacro(), printFileInfo(), printNewSpecfile(), processBinaryFile(), processMetadataFile(), processPackageFiles(), processSourceFiles(), pushMacro(), readIcon(), readLine(), rhnUnload(), rpmalAllFileSatisfiesDepend(), rpmalAllSatisfiesDepend(), rpmalDel(), rpmalFree(), rpmalFreeIndex(), rpmaviFree(), rpmcliAllArgCallback(), rpmcliImportPubkey(), rpmcliImportPubkeys(), rpmcliQuery(), rpmdbAdd(), rpmdbClose(), rpmdbFindByFile(), rpmdbFindFpList(), rpmdbFreeIterator(), rpmdbInitIterator(), rpmdbNextIterator(), rpmdbRebuild(), rpmdbRemove(), rpmdbSetIteratorRE(), rpmDetectPGPVersion(), rpmds_compare(), rpmdsCompare(), rpmdsFilter(), rpmdsFree(), rpmdsMerge(), rpmdsNext(), rpmecFree(), rpmExpandNumeric(), rpmfcELF(), rpmfcExec(), rpmfcFree(), rpmfcGenerateDepends(), rpmfcGenerateDependsHelper(), rpmfd_Fopen(), rpmfiBuildFClasses(), rpmfiBuildFContexts(), rpmfiBuildFDeps(), rpmfiBuildFNames(), rpmfiBuildFSContexts(), rpmfiBuildREContexts(), rpmfiFree(), rpmFreeMacros(), rpmFreeRpmrc(), rpmfts_dealloc(), rpmfts_initialize(), rpmGenPath(), rpmGetFilesystemUsage(), rpmGetPassPhrase(), rpmGetRpmlibProvides(), rpmgiFree(), rpmgiInitFilter(), rpmgiLoadReadHeader(), rpmgiNext(), rpmgiOpen(), rpmGlob(), rpmGraph(), rpmInitMacros(), rpmInstall(), rpmInstallSource(), rpmInstallSourcePackage(), rpmlogClose(), rpmLookupSignatureType(), rpmMergeHeaders(), rpmPlatform(), rpmpsFree(), rpmpsmFree(), rpmpsmStage(), rpmpsPrint(), rpmQueryVerify(), rpmReadConfigFiles(), rpmReadHeader(), rpmReadPackageFile(), rpmReadPackageManifest(), rpmReadRC(), rpmRebuildTargetVars(), rpmReSign(), rpmRollback(), rpmSetMachine(), rpmSetVarArch(), rpmShowProgress(), rpmsxFree(), rpmsxParse(), rpmsxSort(), rpmteFree(), rpmteFreeTSI(), rpmts_GetKeys(), rpmts_HdrCheck(), rpmts_IDTXglob(), rpmts_Run(), rpmtsAddInstallElement(), rpmtsAvailable(), rpmtsClean(), rpmtsFindPubkey(), rpmtsFree(), rpmtsInitDSI(), rpmtsOpenDB(), rpmtsOpenSDB(), rpmtsOrder(), rpmtsRun(), rpmtsScoreFree(), rpmtsSetCurrDir(), rpmtsSetRootDir(), rpmtsSolve(), rpmVerifySignatures(), runScript(), saveHardLink(), setPathDefault(), showQueryPackage(), skipFiles(), spewHeader(), triggercondsTag(), urlFind(), urlFreeCache(), urlSplit(), valueFree(), verifyMD5Signature(), verifyRSASignature(), verifySHA1Signature(), vrpmlog(), writeLinkedFile(), writeRPM(), XfdFree(), xmlFormat(), XrpmtsiFree(), XurlFree(), and zapRelation().
void freeFilesystems | ( | void | ) |
Release storage used by file system usage cache.
Definition at line 28 of file fs.c.
References _free(), filesystems, fsnames, fsinfo::mntPoint, and numFilesystems.
Referenced by getFilesystemList(), and main().
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 325 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, snprintf(), and vsflags.
Referenced by rpmpsmStage(), rpmReadHeader(), rpmts_HdrCheck(), rpmtsInitIterator(), and rpmtsRebuildDB().
Check for supported payload format in header.
h | header to check |
Definition at line 1075 of file package.c.
References _, _free(), headerGetEntry(), hGetNEVRA(), RPMMESS_ERROR, rpmMessage, RPMRC_FAIL, RPMRC_OK, and RPMTAG_PAYLOADFORMAT.
Referenced by rpmtsAddInstallElement().
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 281 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().
int rpmCheckRpmlibProvides | ( | const rpmds | key | ) |
Check dependency against internal rpmlib feature provides.
key | dependency |
Definition at line 82 of file rpmlibprov.c.
References rpmlibProvides_s::featureEVR, rpmlibProvides_s::featureFlags, rpmlibProvides_s::featureName, rpmdsCompare(), rpmdsFree(), rpmdsSingle(), rpmlibProvides, and RPMTAG_PROVIDENAME.
Referenced by unsatisfiedDepend().
int rpmGetFilesystemList | ( | const char *** | listptr, | |
int * | num | |||
) |
Return (cached) file system mount points.
listptr | addess of file system names (or NULL) | |
num | address of number of file systems (or NULL) |
Definition at line 268 of file fs.c.
References fsnames, getFilesystemList(), and numFilesystems.
Referenced by fsnamesTag(), fssizesTag(), and rpmtsInitDSI().
int rpmGetFilesystemUsage | ( | const char ** | fileList, | |
int_32 * | fssizes, | |||
int | numFiles, | |||
uint_32 ** | usagesPtr, | |||
int | flags | |||
) |
Determine per-file system usage for a list of files.
fileList | array of absolute file names | |
fssizes | array of file sizes | |
numFiles | number of files in list |
usagesPtr | address of per-file system usage array (or NULL) |
flags | (unused) |
Definition at line 282 of file fs.c.
References _, _free(), alloca(), dirName, filesystems, fsnames, getFilesystemList(), numFilesystems, RPMERR_BADDEV, RPMERR_STAT, rpmError, rpmGetPath(), strerror, and xcalloc().
Referenced by fssizesTag().
int rpmGetRpmlibProvides | ( | const char *** | provNames, | |
int ** | provFlags, | |||
const char *** | provVersions | |||
) |
Return copy of rpmlib internal provides.
provNames | address of array of rpmlib internal provide names | |
provFlags | address of array of rpmlib internal provide flags | |
provVersions | address of array of rpmlib internal provide versions |
Definition at line 101 of file rpmlibprov.c.
References _free(), rpmlibProvides_s::featureEVR, rpmlibProvides_s::featureFlags, rpmlibProvides_s::featureName, rpmlibProvides, and xcalloc().
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 238 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(), RPMERR_NOTSRPM, rpmError, rpmfiBuildFNames(), RPMFILE_SPECFILE, rpmfiLink, rpmfiNew(), rpmInstallLoadMacros(), RPMRC_FAIL, RPMRC_NOKEY, RPMRC_NOTTRUSTED, RPMRC_OK, rpmReadPackageFile(), RPMTAG_BASENAMES, RPMTAG_COOKIE, RPMTAG_SOURCEPACKAGE, 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 650 of file package.c.
References _, _free(), block(), headerToken_s::flags, hdrchkData, hdrchkTags, header_magic, headerCheck(), HEADERFLAG_ALLOCATED, headerFree(), headerLink(), headerLoad(), RPMRC_FAIL, RPMRC_OK, snprintf(), timedRead, 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 748 of file package.c.
References _, _chk, _free(), _print_pkts, alloca(), rpmop_s::count, entryInfo_s::count, _FD_s::digests, fdInitDigest(), 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(), legacyRetrofit(), pgpDig_s::md5ctx, pgpDig_s::nbytes, _FD_s::ndigests, PGPHASHALGO_MD5, 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, rpmswEnter(), rpmswExit(), RPMTAG_HEADERIMMUTABLE, RPMTS_OP_DIGEST, 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, pgpDigParams_s::version, and vsflags.
Referenced by ftsStashLatest(), IDTXglob(), main(), readRPM(), rpmgiReadHeader(), rpmGraph(), rpmInstall(), rpmInstallSourcePackage(), rpmts_HdrFromFdno(), rpmtsRun(), and rpmtsSolve().
int rpmvercmp | ( | const char * | a, | |
const char * | b | |||
) |
Segmented string compare for version and/or release.
a | 1st string | |
b | 2nd string |
Definition at line 15 of file rpmvercmp.c.
References alloca(), xisalnum(), xisalpha(), and xisdigit().
Referenced by compare_values(), rpmdsCompare(), and rpmVersionCompare().
Compare headers to determine which header is "newer".
first | 1st header | |
second | 2nd header |
Definition at line 61 of file psm.c.
References headerGetEntry(), RPMTAG_EPOCH, RPMTAG_RELEASE, RPMTAG_VERSION, and rpmvercmp().
Referenced by hdr_compare(), rpmInstall(), and rpmtsAddInstallElement().
const char* const tagName | ( | int | tag | ) |
Return tag name from value.
tag | tag value |
Definition at line 35 of file tagname.c.
References RPMDBI_ADDED, RPMDBI_ARGLIST, RPMDBI_AVAILABLE, RPMDBI_DEPENDS, RPMDBI_FTSWALK, RPMDBI_HDLIST, RPMDBI_PACKAGES, RPMDBI_REMOVED, rpmTagTable, rpmTagTableSize, and xtolower().
Referenced by checkForDuplicates(), checkForRequired(), db3close(), db3New(), db3open(), dbiFindMatches(), dbiOpen(), handlePreambleTag(), i18nTag(), miFreeHeader(), printNewSpecfile(), rpmdbAdd(), rpmdbCountPackages(), rpmdbFindByFile(), rpmdbGrowIterator(), rpmdbInitIterator(), rpmdbMoveDatabase(), rpmdbRemove(), rpmdbRemoveDatabase(), rpmgiInitFilter(), rpmHeaderGetEntry(), and stashSt().
int tagType | ( | int | tag | ) |
Return tag data type from value.
tag | tag value |
Definition at line 20 of file tagname.c.
References alloca(), RPM_NULL_TYPE, rpmTagTable, rpmTagTableSize, tagcmp(), and headerTagTableEntry_s::type.
Referenced by writeRPM().
int tagValue | ( | const char * | tagstr | ) |
Return tag value from name.
tagstr | name of tag |
Definition at line 85 of file tagname.c.
References headerTagTableEntry_s::name, RPMDBI_ADDED, RPMDBI_ARGLIST, RPMDBI_AVAILABLE, RPMDBI_DEPENDS, RPMDBI_FTSWALK, RPMDBI_HDLIST, RPMDBI_PACKAGES, RPMDBI_REMOVED, rpmTagTable, headerTagTableEntry_s::val, and xstrcasecmp().
Referenced by dbiTagsInit(), and rpmgiInitFilter().
struct MacroContext_s* rpmCLIMacroContext |
Definition at line 75 of file macro.c.
Referenced by main(), rpmcliAllArgCallback(), and rpmInitMacros().
const char* rpmEVR |
struct MacroContext_s* rpmGlobalMacroContext |
Definition at line 70 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 1154 of file formats.c.
Referenced by hdr_subscript(), hdrSprintf(), init_rpm(), main(), packageBinaries(), printNewSpecfile(), queryHeader(), rpmcliImportPubkey(), rpmDisplayQueryTags(), rpmHeaderGetEntry(), rpmpsmStage(), rpmShowProgress(), rpmtsSolve(), runScript(), and spewHeader().
struct headerTagTableEntry_s* rpmTagTable |
Automatically generated table of tag name/value pairs.
Definition at line 166 of file tagtbl.c.
Referenced by getTagString(), getTagVal(), hdrSprintf(), init_rpm(), main(), packageBinaries(), printNewSpecfile(), queryHeader(), rpmcliImportPubkey(), rpmDisplayQueryTags(), rpmHeaderGetEntry(), rpmpsmStage(), rpmShowProgress(), rpmtsSolve(), rpmxpProcess(), runScript(), spewHeader(), tagName(), tagNumFromPyObject(), tagType(), and tagValue().
const int rpmTagTableSize |
Number of entries in rpmTagTable.
Definition at line 169 of file tagtbl.c.
Referenced by init_rpm(), rpmDisplayQueryTags(), tagName(), tagNumFromPyObject(), and tagType().
const char* RPMVERSION |