Files | |
file | depends.h |
Structures used for dependency checking. | |
file | fprint.h |
Identify a file name path by a unique "finger print". | |
file | psm.c |
Package state machine to handle a package from a transaction set. | |
file | psm.h |
Package state machine to handle a package from a transaction set. | |
file | rpmlib.h |
file | rpmvercmp.c |
file | transaction.c |
RPMTS | |
typedef psm_s * | PSM_t |
typedef transactionFileInfo_s * | TFI_t |
typedef rpmTransactionSet_s * | rpmTransactionSet |
typedef enum rpmtransFlags_e | rpmtransFlags |
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_MULTILIB = (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_CHAINSAW = (1 << 26) } |
rpmTransactionSet | rpmtransCreateSet (rpmdb rpmdb, const char *rootDir) |
int | rpmtransAddPackage (rpmTransactionSet ts, Header h, FD_t fd, const void *key, int upgrade, rpmRelocation *relocs) |
void | rpmtransAvailablePackage (rpmTransactionSet ts, Header h, const void *key) |
int | rpmtransRemovePackage (rpmTransactionSet ts, int dboffset) |
rpmTransactionSet | rpmtransFree (rpmTransactionSet ts) |
void | rpmtransSetScriptFd (rpmTransactionSet ts, FD_t fd) |
int | rpmtransGetKeys (const rpmTransactionSet ts, const void ***ep, int *nep) |
int | rpmdepCheck (rpmTransactionSet ts, rpmDependencyConflict *conflicts, int *numConflicts) |
int | rpmdepOrder (rpmTransactionSet ts) |
rpmDependencyConflict | rpmdepFreeConflicts (rpmDependencyConflict conflicts, int numConflicts) |
int | rpmGetRpmlibProvides (const char ***provNames, int **provFlags, const char ***provVersions) |
int | rpmvercmp (const char *a, const char *b) |
int | rpmRangesOverlap (const char *AName, const char *AEVR, int AFlags, const char *BName, const char *BEVR, int BFlags) |
int | rpmCheckRpmlibProvides (const char *keyName, const char *keyEVR, int keyFlags) |
int | rpmRunTransactions (rpmTransactionSet ts, rpmCallbackFunction notify, rpmCallbackData notifyData, rpmProblemSet okProbs, rpmProblemSet *newProbs, rpmtransFlags transFlags, rpmprobFilterFlags ignoreSet) |
|
Package state machine data. |
|
The RPM Transaction Set. Transaction sets are inherently unordered! RPM may reorder transaction sets to reduce errors. In general, installs/upgrades are done before strict removals, and prerequisite ordering is done on installs/upgrades. |
|
Bit(s) to control rpmRunTransaction() operation. Referenced by rpmErase, and rpmInstall. |
|
Definition at line 1187 of file rpmlib.h. Referenced by cpio_doio, freePackage, freeSpec, genCpioListAndHeader, generateDepends, processPackageFiles, and processSourceFiles. |
|
Bit(s) to control rpmRunTransaction() operation.
|
|
Check dependency against internal rpmlib feature provides.
Definition at line 54 of file rpmlibprov.c. |
|
Check that all dependencies can be resolved.
Definition at line 2178 of file depends.c. Referenced by checkSpec, rpmErase, rpmInstall, and rpmtransDepCheck. |
|
Destroy dependency conflicts storage.
Definition at line 935 of file depends.c. References rpmProblem_s::ulong1. Referenced by checkSpec, rpmErase, rpmInstall, and rpmtransDepCheck. |
|
Determine package order in a transaction set according to dependencies. Order packages, returning error if circular dependencies cannot be eliminated by removing PreReq's from the loop(s). Only dependencies from added or removed packages are used to determine ordering using a topological sort (Knuth vol. 1, p. 262). Use rpmdepCheck() to verify that all dependencies can be reolved. The order ends up as installed packages followed by removed packages, with packages removed for upgrades immediately following the new package to be installed. The operation would be easier if we could sort the addedPackages array in the transaction set, but we store indexes into the array in various places.
Definition at line 1871 of file depends.c. Referenced by rpmInstall, and rpmtransOrder. |
|
Return copy of rpmlib internal provides.
Definition at line 70 of file rpmlibprov.c. |
|
Compare two versioned dependency ranges, looking for overlap.
Definition at line 528 of file depends.c. Referenced by alAllSatisfiesDepend, headerMatchesDepFlags, rangeMatchesDepFlags, and rpmCheckRpmlibProvides. |
|
Process all packages in transaction set.
Referenced by rpmErase, rpmInstall, and rpmtransRun. |
|
Add package to be installed to unordered transaction set. If fd is NULL, the callback specified in rpmtransCreateSet() is used to open and close the file descriptor. If Header is NULL, the fd is always used, otherwise fd is only needed (and only opened) for actual package installation.
Definition at line 796 of file depends.c. References rpmMireMode. Referenced by checkSpec, rpmInstall, and rpmtransAdd. |
|
Add package to universe of possible packages to install in transaction set.
Definition at line 905 of file depends.c. Referenced by rpmtransAdd. |
|
Create an empty transaction set.
Definition at line 691 of file depends.c. Referenced by checkSpec, cpio_doio, rpmErase, rpmInstall, rpmRollback, and rpmtransCreate. |
|
Destroy transaction set.
Definition at line 916 of file depends.c. References RPMPROB_BADPRETRANS, RPMPROB_CONFLICT, RPMPROB_DISKNODES, RPMPROB_DISKSPACE, RPMPROB_FILE_CONFLICT, RPMPROB_NEW_FILE_CONFLICT, and RPMPROB_OLDPACKAGE. Referenced by checkSpec, cpio_doio, rpmErase, rpmInstall, rpmRollback, and rpmtransDealloc. |
|
Retrieve keys from ordered transaction set.
Referenced by py_rpmtransGetKeys. |
|
Add package to be removed to unordered transaction set.
Definition at line 911 of file depends.c. References RPMPROB_BADARCH, RPMPROB_BADOS, RPMPROB_BADRELOCATE, RPMPROB_PKG_INSTALLED, and RPMPROB_REQUIRES. Referenced by rpmErase, and rpmtransRemove. |
|
Save file handle to be used as stderr when running package scripts.
Referenced by rpmtransSetAttr. |
|
Segmented string compare for version and/or release.
Definition at line 15 of file rpmvercmp.c. |