#include "rpmps.h"
#include "rpmsw.h"
#include "rpmhash.h"
#include "rpmal.h"
Go to the source code of this file.
Defines | |
#define | _RPMVSF_NODIGESTS |
#define | _RPMVSF_NOSIGNATURES |
#define | _RPMVSF_NOHEADER |
#define | _RPMVSF_NOPAYLOAD |
#define | rpmtsUnlink(_ts, _msg) XrpmtsUnlink(_ts, _msg, __FILE__, __LINE__) |
#define | rpmtsLink(_ts, _msg) XrpmtsLink(_ts, _msg, __FILE__, __LINE__) |
Typedefs | |
typedef enum rpmVSFlags_e | rpmVSFlags |
Bit(s) to control digest and signature verification. | |
typedef enum rpmtsOpX_e | rpmtsOpX |
Indices for timestamps. | |
Enumerations | |
enum | rpmVSFlags_e { RPMVSF_DEFAULT = 0, RPMVSF_NOHDRCHK = (1 << 0), RPMVSF_NEEDPAYLOAD = (1 << 1), RPMVSF_NOSHA1HEADER = (1 << 8), RPMVSF_NOMD5HEADER = (1 << 9), RPMVSF_NODSAHEADER = (1 << 10), RPMVSF_NORSAHEADER = (1 << 11), RPMVSF_NOSHA1 = (1 << 16), RPMVSF_NOMD5 = (1 << 17), RPMVSF_NODSA = (1 << 18), RPMVSF_NORSA = (1 << 19) } |
Bit(s) to control digest and signature verification. More... | |
enum | rpmtsOpX_e { RPMTS_OP_TOTAL = 0, RPMTS_OP_CHECK = 1, RPMTS_OP_ORDER = 2, RPMTS_OP_FINGERPRINT = 3, RPMTS_OP_REPACKAGE = 4, RPMTS_OP_INSTALL = 5, RPMTS_OP_ERASE = 6, RPMTS_OP_SCRIPTLETS = 7, RPMTS_OP_COMPRESS = 8, RPMTS_OP_UNCOMPRESS = 9, RPMTS_OP_DIGEST = 10, RPMTS_OP_SIGNATURE = 11, RPMTS_OP_DBADD = 12, RPMTS_OP_DBREMOVE = 13, RPMTS_OP_DBGET = 14, RPMTS_OP_DBPUT = 15, RPMTS_OP_DBDEL = 16, RPMTS_OP_MAX = 17 } |
Indices for timestamps. More... | |
Functions | |
int | rpmtsCheck (rpmts ts) |
int | rpmtsOrder (rpmts ts) |
int | rpmtsRun (rpmts ts, rpmps okProbs, rpmprobFilterFlags ignoreSet) |
rpmts | rpmtsUnlink (rpmts ts, const char *msg) |
rpmts | XrpmtsUnlink (rpmts ts, const char *msg, const char *fn, unsigned ln) |
rpmts | rpmtsLink (rpmts ts, const char *msg) |
rpmts | XrpmtsLink (rpmts ts, const char *msg, const char *fn, unsigned ln) |
int | rpmtsCloseDB (rpmts ts) |
int | rpmtsOpenDB (rpmts ts, int dbmode) |
int | rpmtsInitDB (rpmts ts, int dbmode) |
int | rpmtsRebuildDB (rpmts ts) |
int | rpmtsVerifyDB (rpmts ts) |
rpmdbMatchIterator | rpmtsInitIterator (const rpmts ts, rpmTag rpmtag, const void *keyp, size_t keylen) |
rpmRC | rpmtsFindPubkey (rpmts ts) |
Retrieve pubkey from rpm database. | |
int | rpmtsCloseSDB (rpmts ts) |
int | rpmtsOpenSDB (rpmts ts, int dbmode) |
int | rpmtsSolve (rpmts ts, rpmds ds, const void *data) |
Attempt to solve a needed dependency using the solve database. | |
int | rpmtsAvailable (rpmts ts, const rpmds ds) |
Attempt to solve a needed dependency using memory resident tables. | |
int | rpmtsSetSolveCallback (rpmts ts, int(*solve)(rpmts ts, rpmds ds, const void *data), const void *solveData) |
Set dependency solver callback. | |
rpmps | rpmtsProblems (rpmts ts) |
Return current transaction set problems. | |
void | rpmtsCleanDig (rpmts ts) |
void | rpmtsClean (rpmts ts) |
void | rpmtsEmpty (rpmts ts) |
rpmts | rpmtsFree (rpmts ts) |
rpmVSFlags | rpmtsVSFlags (rpmts ts) |
rpmVSFlags | rpmtsSetVSFlags (rpmts ts, rpmVSFlags vsflags) |
int | rpmtsUnorderedSuccessors (rpmts ts, int first) |
const char * | rpmtsRootDir (rpmts ts) |
void | rpmtsSetRootDir (rpmts ts, const char *rootDir) |
const char * | rpmtsCurrDir (rpmts ts) |
void | rpmtsSetCurrDir (rpmts ts, const char *currDir) |
FD_t | rpmtsScriptFd (rpmts ts) |
void | rpmtsSetScriptFd (rpmts ts, FD_t scriptFd) |
int | rpmtsChrootDone (rpmts ts) |
int | rpmtsSetChrootDone (rpmts ts, int chrootDone) |
int_32 | rpmtsGetTid (rpmts ts) |
int_32 | rpmtsSetTid (rpmts ts, int_32 tid) |
int_32 | rpmtsSigtag (const rpmts ts) |
int_32 | rpmtsSigtype (const rpmts ts) |
const void * | rpmtsSig (const rpmts ts) |
int_32 | rpmtsSiglen (const rpmts ts) |
int | rpmtsSetSig (rpmts ts, int_32 sigtag, int_32 sigtype, const void *sig, int_32 siglen) |
pgpDig | rpmtsDig (rpmts ts) |
pgpDigParams | rpmtsSignature (const rpmts ts) |
pgpDigParams | rpmtsPubkey (const rpmts ts) |
rpmdb | rpmtsGetRdb (rpmts ts) |
int | rpmtsInitDSI (const rpmts ts) |
void | rpmtsUpdateDSI (const rpmts ts, dev_t dev, uint_32 fileSize, uint_32 prevSize, uint_32 fixupSize, fileAction action) |
void | rpmtsCheckDSIProblems (const rpmts ts, const rpmte te) |
void * | rpmtsNotify (rpmts ts, rpmte te, rpmCallbackType what, unsigned long amount, unsigned long total) |
Perform transaction progress notify callback. | |
int | rpmtsNElements (rpmts ts) |
Return number of (ordered) transaction set elements. | |
rpmte | rpmtsElement (rpmts ts, int ix) |
Return (ordered) transaction set element. | |
rpmprobFilterFlags | rpmtsFilterFlags (rpmts ts) |
rpmtransFlags | rpmtsFlags (rpmts ts) |
rpmtransFlags | rpmtsSetFlags (rpmts ts, rpmtransFlags transFlags) |
Spec | rpmtsSpec (rpmts ts) |
Spec | rpmtsSetSpec (rpmts ts, Spec spec) |
rpmte | rpmtsRelocateElement (rpmts ts) |
rpmte | rpmtsSetRelocateElement (rpmts ts, rpmte relocateElement) |
uint_32 | rpmtsColor (rpmts ts) |
Retrieve color bits of transaction set. | |
uint_32 | rpmtsSetColor (rpmts ts, uint_32 color) |
Set color bits of transaction set. | |
rpmop | rpmtsOp (rpmts ts, rpmtsOpX opx) |
Retrieve operation timestamp from a transaction set. | |
int | rpmtsSetNotifyCallback (rpmts ts, rpmCallbackFunction notify, rpmCallbackData notifyData) |
rpmts | rpmtsCreate (void) |
int | rpmtsAddInstallElement (rpmts ts, Header h, const fnpyKey key, int upgrade, rpmRelocation *relocs) |
int | rpmtsAddEraseElement (rpmts ts, Header h, int dboffset) |
int | rpmtsGetKeys (rpmts ts, fnpyKey **ep, int *nep) |
char * | hGetNEVR (Header h, const char **np) |
Return (malloc'd) header name-version-release string. | |
uint_32 | hGetColor (Header h) |
Return header color. | |
Variables | |
int | _rpmts_debug |
int | _rpmts_stats |
int | _fps_debug |
Definition in file rpmts.h.
|
Value: ( RPMVSF_NOSHA1HEADER | \ RPMVSF_NOMD5HEADER | \ RPMVSF_NOSHA1 | \ RPMVSF_NOMD5 ) Definition at line 41 of file rpmts.h. Referenced by build(), initrpm(), main(), rpmcliQuery(), rpmcliVerify(), rpmErase(), rpmGraph(), rpmInstall(), and rpmRollback(). |
|
Value: ( RPMVSF_NOSHA1HEADER | \ RPMVSF_NOMD5HEADER | \ RPMVSF_NODSAHEADER | \ RPMVSF_NORSAHEADER ) Definition at line 53 of file rpmts.h. Referenced by initrpm(). |
|
Value: ( RPMVSF_NOSHA1 | \ RPMVSF_NOMD5 | \ RPMVSF_NODSA | \ RPMVSF_NORSA ) Definition at line 59 of file rpmts.h. Referenced by initrpm(). |
|
Value: ( RPMVSF_NODSAHEADER | \ RPMVSF_NORSAHEADER | \ RPMVSF_NODSA | \ RPMVSF_NORSA ) Definition at line 47 of file rpmts.h. Referenced by build(), initrpm(), main(), rpmcliQuery(), rpmcliVerify(), rpmErase(), rpmGraph(), rpmInstall(), and rpmRollback(). |
|
Definition at line 316 of file rpmts.h. Referenced by mapInitIterator(), rpmInstallSourcePackage(), rpmpsmNew(), rpmtsCreate(), and XrpmtsiInit(). |
|
Definition at line 300 of file rpmts.h. Referenced by rpmtsFree(). |
|
Indices for timestamps.
Referenced by rpmtsOp(). |
|
Bit(s) to control digest and signature verification.
Referenced by build(), headerCheck(), main(), rpmcliQuery(), rpmcliVerify(), rpmErase(), rpmGraph(), rpmInstall(), rpmInstallSource(), rpmReadPackageFile(), rpmts_SetVSFlags(), rpmtsRun(), rpmtsSetVSFlags(), and rpmtsVSFlags(). |
|
|
Bit(s) to control digest and signature verification.
|
|
Return header color.
Definition at line 88 of file rpmts.c. References HGE_t, int_32, RPMTAG_FILECOLORS, and uint_32. Referenced by rpmtsAddInstallElement(). |
|
Return (malloc'd) header name-version-release string.
Definition at line 69 of file rpmts.c. References headerNVR(), stpcpy(), and xcalloc(). Referenced by addTE(), checkPackageSet(), ensureOlder(), and handleInstInstalledFiles(). |
|
Add package to be erased to transaction set.
Definition at line 322 of file depends.c. References removePackage(), RPMAL_NOMATCH, and rpmts. Referenced by rpmErase(), rpmRollback(), and rpmts_AddErase(). |
|
Add package to be installed to transaction set. The transaction set is checked for duplicate package names. If found, the package with the "newest" EVR will be replaced.
Definition at line 127 of file depends.c. References _, alKey, fnpyKey, headerIsEntry(), HGE_t, hGetColor(), removePackage(), RPMAL_NOMATCH, rpmalAdd(), rpmdbFreeIterator(), rpmdbGetIteratorOffset(), rpmdbNextIterator(), rpmdbPruneIterator(), rpmds, rpmdsAnyMatchesDep(), rpmdsColor(), rpmdsCompare(), rpmdsDNEVR(), rpmdsEVR(), rpmdsFree(), rpmdsInit(), rpmdsLink, rpmdsN(), rpmdsNext(), rpmdsThis(), RPMMESS_WARNING, rpmMessage, RPMSENSE_EQUAL, RPMSENSE_LESS, RPMTAG_ARCH, RPMTAG_BASENAMES, RPMTAG_NAME, RPMTAG_OBSOLETENAME, RPMTAG_OS, RPMTAG_PROVIDENAME, RPMTAG_REQUIRENAME, RPMTAG_SOURCEPACKAGE, rpmte, rpmteA(), rpmteAddedKey(), rpmteDS(), rpmteFI(), rpmteFree(), rpmteN(), rpmteNew(), rpmteO(), rpmteSetAddedKey(), rpmteType(), rpmts, rpmtsColor(), rpmtsGetRdb(), rpmtsi, rpmtsiFree, rpmtsiInit, rpmtsiNext(), rpmtsInitIterator(), rpmtsOpenDB(), rpmVersionCompare(), TR_ADDED, TR_REMOVED, uint_32, and xrealloc(). Referenced by checkSpec(), rpmGraph(), rpmInstall(), rpmInstallSourcePackage(), rpmRollback(), rpmts_AddInstall(), rpmtsSolve(), and verifyDependencies(). |
|
Attempt to solve a needed dependency using memory resident tables.
Definition at line 634 of file rpmts.c. References _free(), fnpyKey, rpmalAllSatisfiesDepend(), rpmds, rpmts, and xrealloc(). |
|
Check that all dependencies can be resolved.
Definition at line 1591 of file depends.c. References checkDependentConflicts(), checkDependentPackages(), checkPackageDeps(), rpmalMakeIndex(), rpmdbCloseDBI(), rpmdbFreeIterator(), RPMDBI_DEPENDS, rpmds, rpmdsInit(), rpmdsN(), rpmdsNext(), rpmfi, rpmfiFN(), rpmfiInit(), rpmfiNext(), RPMMESS_DEBUG, rpmMessage, rpmpsCreate(), rpmpsFree(), rpmswEnter(), rpmswExit(), RPMTAG_BASENAMES, RPMTAG_CONFLICTNAME, RPMTAG_PROVIDENAME, RPMTAG_REQUIRENAME, rpmte, rpmteA(), rpmteColor(), rpmteDS(), rpmteFI(), rpmteN(), rpmteNEVR(), rpmteO(), rpmts, RPMTS_OP_CHECK, rpmtsCloseDB(), rpmtsColor(), rpmtsGetRdb(), rpmtsi, rpmtsiFree, rpmtsiInit, rpmtsiNext(), rpmtsOp(), rpmtsOpenDB(), TR_ADDED, TR_REMOVED, and uint_32. Referenced by checkSpec(), rpmErase(), rpmGraph(), rpmInstall(), rpmRollback(), rpmts_Check(), and verifyDependencies(). |
|
Check a transaction element for disk space problems.
Definition at line 1193 of file rpmts.c. References rpmfiFC(), RPMPROB_DISKNODES, RPMPROB_DISKSPACE, rpmpsAppend(), rpmpsFree(), RPMTAG_BASENAMES, rpmte, rpmteFI(), rpmteKey(), rpmteNEVR(), rpmts, and rpmtsProblems(). Referenced by rpmtsRun(). |
|
Get chrootDone flag, i.e. has chroot(2) been performed?
Definition at line 939 of file rpmts.c. References rpmts. Referenced by rpmpsmStage(), rpmtsRun(), and runScript(). |
|
Free memory needed only for dependency checks and ordering.
Definition at line 693 of file rpmts.c. References _free(), rpmalFree(), rpmpsFree(), rpmte, rpmteCleanDS(), rpmts, rpmtsCleanDig(), rpmtsi, rpmtsiFree, rpmtsiInit, and rpmtsiNext(). Referenced by checkSpec(), rpmcliImportPubkeys(), rpmErase(), rpmInstall(), rpmInstallSourcePackage(), rpmRollback(), rpmts_Clean(), rpmtsEmpty(), and rpmtsOrder(). |
|
Free signature verification data.
Definition at line 687 of file rpmts.c. References headerFreeData(), pgpFreeDig(), and rpmts. Referenced by headerCheck(), rpmReadPackageFile(), rpmtsClean(), and rpmVerifySignatures(). |
|
Close the database used by the transaction.
Definition at line 131 of file rpmts.c. References rpmdbClose(), rpmswAdd(), rpmts, RPMTS_OP_DBDEL, RPMTS_OP_DBGET, RPMTS_OP_DBPUT, and rpmtsOp(). Referenced by ftsCacheUpdate(), rpmts_CloseDB(), rpmts_InitDB(), rpmtsCheck(), rpmtsFree(), and rpmtsOpenDB(). |
|
Close the database used by the transaction to solve dependencies.
Definition at line 419 of file rpmts.c. References rpmdbClose(), rpmswAdd(), rpmts, RPMTS_OP_DBDEL, RPMTS_OP_DBGET, RPMTS_OP_DBPUT, and rpmtsOp(). Referenced by rpmtsFree(). |
|
Retrieve color bits of transaction set.
Definition at line 1319 of file rpmts.c. References rpmts, and uint_32. Referenced by handleInstInstalledFiles(), handleOverlappedFiles(), rpmpsmStage(), rpmtsAddInstallElement(), rpmtsCheck(), rpmtsRun(), and skipFiles(). |
|
Create an empty transaction set.
Definition at line 1385 of file rpmts.c. References rpmExpandNumeric(), rpmswEnter(), rpmts, RPMTS_OP_TOTAL, rpmtsLink, rpmtsOp(), rpmtsSolve(), and xcalloc(). Referenced by cpio_doio(), main(), readRPM(), rpmts_Create(), and rpmts_init(). |
|
Get transaction currDir, i.e. current directory before chroot(2).
Definition at line 895 of file rpmts.c. References rpmts. Referenced by rpmpsmStage(), and rpmtsRun(). |
|
Get OpenPGP packet parameters, i.e. signature/pubkey constants.
Definition at line 1027 of file rpmts.c. References pgpNewDig, and rpmts. Referenced by headerCheck(), rpmReadPackageFile(), rpmtsFindPubkey(), rpmtsPubkey(), rpmtsSignature(), rpmtsStashKeyid(), rpmVerifySignature(), rpmVerifySignatures(), verifyGPGSignature(), verifyMD5Signature(), verifyPGPSignature(), verifySHA1Signature(), and verifySizeSignature(). |
|
Return (ordered) transaction set element.
Definition at line 1255 of file rpmts.c. Referenced by rpmInstallSourcePackage(), rpmtsiFi(), and rpmtsiNextElement(). |
|
Re-create an empty transaction set.
Definition at line 717 of file rpmts.c. References rpmte, rpmteFree(), rpmts, rpmtsClean(), rpmtsi, rpmtsiFree, rpmtsiInit, and rpmtsiNext(). Referenced by rpmcliQuery(), rpmcliVerify(), rpmErase(), rpmInstall(), rpmQueryVerify(), rpmRollback(), rpmtsFree(), and verifyDependencies(). |
|
Get problem ignore bit mask, i.e. bits to filter encountered problems.
Definition at line 1267 of file rpmts.c. References rpmprobFilterFlags, and rpmts. Referenced by handleOverlappedFiles(), relocateFileList(), rpmtsInitDSI(), and rpmtsRun(). |
|
Retrieve pubkey from rpm database.
Definition at line 305 of file rpmts.c. References _free(), pgpDigParams_s::hash_algo, headerFreeData(), headerGetEntry(), int_32, PGPARMOR_PUBKEY, pgpPrtPkts(), PGPPUBKEYALGO_DSA, PGPPUBKEYALGO_RSA, pgpReadPkts(), pgpDigParams_s::pubkey_algo, rpmdbFreeIterator(), rpmdbGetIteratorFileNum(), rpmdbNextIterator(), rpmExpand(), RPMMESS_DEBUG, rpmMessage, rpmRC, RPMRC_NOKEY, RPMRC_OK, RPMTAG_PUBKEYS, rpmts, rpmtsDig(), rpmtsInitIterator(), rpmtsSig(), rpmtsSignature(), and pgpDigParams_s::signid. Referenced by verifyGPGSignature(), and verifyPGPSignature(). |
|
Get transaction flags, i.e. bits that control rpmtsRun().
Definition at line 1272 of file rpmts.c. References rpmtransFlags, and rpmts. Referenced by fsmMapAttrs(), fsmStage(), handleInstInstalledFiles(), rpmErase(), rpmInstall(), rpmpsmStage(), rpmtsOrder(), rpmtsRun(), skipFiles(), unsatisfiedDepend(), and XrpmtsiInit(). |
|
Destroy transaction set, closing the database as well.
Definition at line 781 of file rpmts.c. References _free(), fdFree, rpmalFree(), rpmts, rpmtsCloseDB(), rpmtsCloseSDB(), rpmtsEmpty(), rpmtsPrintStats(), and rpmtsUnlink. Referenced by cpio_doio(), main(), mapFreeIterator(), readRPM(), rpmInstallSourcePackage(), rpmpsmFree(), rpmts_dealloc(), rpmts_free(), and XrpmtsiFree(). |
|
Retrieve keys from ordered transaction set.
Definition at line 1355 of file rpmts.c. References fnpyKey, rpmte, rpmteKey(), rpmteType(), rpmts, rpmtsi, rpmtsiFree, rpmtsiInit, rpmtsiNext(), TR_ADDED, TR_REMOVED, and xmalloc(). Referenced by rpmts_GetKeys(). |
|
Get transaction set database handle.
Definition at line 1056 of file rpmts.c. References rpmts. Referenced by checkDependentConflicts(), ftsCacheUpdate(), handleOneTrigger(), rpmcliImportPubkey(), rpmpsmStage(), rpmtsAddInstallElement(), rpmtsCheck(), rpmtsRun(), runTriggers(), and unsatisfiedDepend(). |
|
Get transaction id, i.e. transaction time stamp.
Definition at line 960 of file rpmts.c. Referenced by fsmSetup(), ftsCacheUpdate(), rpmcliImportPubkey(), and rpmpsmStage(). |
|
Initialize the database used by the transaction.
Definition at line 168 of file rpmts.c. References rpmdbInit(), and rpmts. Referenced by main(), and rpmts_InitDB(). |
|
Initialize disk space info for each and every mounted file systems.
Definition at line 1067 of file rpmts.c. References _, _free(), rpmGetFilesystemList(), RPMMESS_DEBUG, rpmMessage, RPMPROB_FILTER_DISKSPACE, rpmts, rpmtsFilterFlags(), and xcalloc(). Referenced by rpmtsRun(). |
|
Return transaction database iterator.
Definition at line 223 of file rpmts.c. References _, alloca(), isArch(), RPMDBI_LABEL, rpmdbInitIterator(), rpmdbSetHdrChk(), rpmdbSetIteratorRE(), RPMERR_QFMT, rpmError, RPMMIRE_DEFAULT, rpmTag, RPMTAG_ARCH, rpmts, rpmtsOpenDB(), RPMVSF_NOHDRCHK, and xisdigit(). Referenced by checkDependentConflicts(), checkDependentPackages(), ftsCacheUpdate(), handleInstInstalledFiles(), handleRmvdInstalledFiles(), IDTXload(), markReplacedFiles(), rpmErase(), rpmInstall(), rpmpsmStage(), rpmQueryVerify(), rpmts_AddErase(), rpmts_Match(), rpmtsAddInstallElement(), rpmtsFindPubkey(), rpmtsRun(), runImmedTriggers(), runTriggers(), and unsatisfiedDepend(). |
|
Return number of (ordered) transaction set elements.
Definition at line 1246 of file rpmts.c. References rpmts. Referenced by rpmGraph(), rpmtsiNextElement(), rpmtsRun(), and XrpmtsiInit(). |
|
Perform transaction progress notify callback.
Definition at line 1230 of file rpmts.c. References rpmCallbackType, rpmte, rpmts, and TR_ADDED. Referenced by fsmSetup(), fsmStage(), and rpmpsmStage(). |
|
Retrieve operation timestamp from a transaction set.
Definition at line 1334 of file rpmts.c. References rpmts, RPMTS_OP_MAX, and rpmtsOpX. Referenced by fsmStage(), headerCheck(), psmWait(), rpmpsmStage(), rpmtsCheck(), rpmtsCloseDB(), rpmtsCloseSDB(), rpmtsCreate(), rpmtsOrder(), rpmtsPrintStats(), rpmtsRun(), verifyGPGSignature(), verifyMD5Signature(), verifyPGPSignature(), and verifySHA1Signature(). |
|
Open the database used by the transaction.
Definition at line 145 of file rpmts.c. References _, _free(), rpmdbOpen(), rpmGetPath(), RPMMESS_ERROR, rpmMessage, rpmts, and rpmtsCloseDB(). Referenced by ftsCacheUpdate(), rpmcliImportPubkey(), rpmts_Match(), rpmts_OpenDB(), rpmtsAddInstallElement(), rpmtsCheck(), rpmtsInitIterator(), and rpmtsRun(). |
|
Open the database used by the transaction to solve dependencies.
Definition at line 433 of file rpmts.c. References _, _free(), addMacro(), delMacro(), RMIL_DEFAULT, rpmdbOpen(), rpmExpandNumeric(), rpmGetPath(), RPMMESS_WARNING, rpmMessage, and rpmts. Referenced by rpmtsSolve(). |
|
Determine package order in a transaction set according to dependencies. Order packages, returning error if circular dependencies cannot be eliminated by removing Requires'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 rpmtsCheck() to verify that all dependencies can be resolved. The final order ends up as installed packages followed by removed packages, with packages removed for upgrades immediately following the new package to be installed.
Definition at line 1150 of file depends.c. References _, _free(), addQ(), addRelation(), alKey, alloca(), freeBadDeps(), int_32, isErasePreReq, isInstallPreReq, isLegacyPreReq, markLoop(), orderListIndexCmp(), orderListIndex_s::orIndex, orderListIndex_s::pkgKey, RPMAL_NOMATCH, rpmalMakeIndex(), rpmds, rpmdsFlags(), rpmdsInit(), rpmdsNext(), RPMMESS_DEBUG, RPMMESS_ERROR, rpmMessage, rpmswEnter(), rpmswExit(), RPMTAG_REQUIRENAME, rpmte, rpmteAddedKey(), rpmteDegree(), rpmteDependsOnKey(), rpmteDepth(), rpmteDS(), rpmteFreeTSI(), rpmteNEVR(), rpmteNewTSI(), rpmteNpreds(), rpmtePkgFileSize(), rpmteSetDegree(), rpmteSetDepth(), rpmteSetNpreds(), rpmteSetParent(), rpmteSetTree(), rpmteTree(), rpmteTSI(), rpmteType(), RPMTRANS_FLAG_ANACONDA, rpmts, RPMTS_OP_ORDER, rpmtsClean(), rpmtsFlags(), rpmtsi, rpmtsiFree, rpmtsiInit, rpmtsiNext(), rpmtsiOc(), rpmtsOp(), rpmtsUnorderedSuccessors(), stpcpy(), TR_ADDED, TR_REMOVED, tsortInfo, xcalloc(), and zapRelation(). Referenced by rpmErase(), rpmGraph(), rpmInstall(), rpmRollback(), and rpmts_Order(). |
|
Return current transaction set problems.
Definition at line 677 of file rpmts.c. References rpmpsLink, and rpmts. Referenced by checkSpec(), ensureOlder(), handleInstInstalledFiles(), handleOverlappedFiles(), relocateFileList(), rpmErase(), rpmGraph(), rpmInstall(), rpmRollback(), rpmts_Check(), rpmts_Run(), rpmtsCheckDSIProblems(), rpmtsRun(), and verifyDependencies(). |
|
Get OpenPGP pubkey constants.
Definition at line 1047 of file rpmts.c. References pgpDig_s::pubkey, rpmts, and rpmtsDig(). |
|
Rebuild the database used by the transaction.
Definition at line 173 of file rpmts.c. References rpmdbRebuild(), rpmts, and RPMVSF_NOHDRCHK. Referenced by main(), and rpmts_RebuildDB(). |
|
Get current relocate transaction element.
Definition at line 1303 of file rpmts.c. Referenced by relocateFileList(), and rpmfiNew(). |
|
Get transaction rootDir, i.e. path to chroot(2).
Definition at line 862 of file rpmts.c. References rpmts. Referenced by rpmInstall(), rpmInstallSourcePackage(), rpmpsmStage(), rpmtsRun(), rpmVerifyFile(), and runScript(). |
|
Get transaction script file handle, i.e. stdout/stderr on scriptlet execution
Definition at line 913 of file rpmts.c. References rpmts. Referenced by runScript(). |
|
Set chrootDone flag, i.e. has chroot(2) been performed?
Definition at line 948 of file rpmts.c. References rpmts. Referenced by rpmpsmStage(), and rpmtsRun(). |
|
Set color bits of transaction set.
Definition at line 1324 of file rpmts.c. References rpmts, and uint_32. Referenced by rpmts_SetColor(). |
|
Set transaction currDir, i.e. current directory before chroot(2).
Definition at line 904 of file rpmts.c. References _free(), rpmts, and xstrdup(). Referenced by rpmtsRun(). |
|
Set transaction flags, i.e. bits that control rpmtsRun().
Definition at line 1277 of file rpmts.c. References rpmtransFlags, and rpmts. Referenced by rpmErase(), rpmInstall(), rpmRollback(), rpmts_Rollback(), rpmts_SetFlags(), and rpmtsRun(). |
|
Set transaction notify callback function and argument.
Definition at line 1345 of file rpmts.c. References rpmCallbackData, rpmCallbackFunction, and rpmts. Referenced by rpmErase(), rpmInstall(), rpmRollback(), and rpmts_Run(). |
|
Set current relocate transaction element.
Definition at line 1310 of file rpmts.c. Referenced by addTE(), and rpmtsRun(). |
|
Set transaction rootDir, i.e. path to chroot(2).
Definition at line 867 of file rpmts.c. References _free(), alloca(), rpmts, stpcpy(), and xstrdup(). Referenced by main(), rpmts_Create(), and rpmts_init(). |
|
Set transaction script file handle, i.e. stdout/stderr on scriptlet execution
Definition at line 924 of file rpmts.c. References fdFree, fdLink, and rpmts. Referenced by rpmts_setattr(), and rpmVerifyScript(). |
|
Set signature tag info, i.e. from header.
Definition at line 1011 of file rpmts.c. References headerFreeData(), int_32, and rpmts. Referenced by headerCheck(), rpmReadPackageFile(), and rpmVerifySignatures(). |
|
Set dependency solver callback.
Referenced by rpmts_Check(). |
|
Set a spec control structure in transaction set.
Definition at line 1294 of file rpmts.c. References rpmts. Referenced by buildForTarget(), parseSpec(), and rpmspecQuery(). |
|
Set transaction id, i.e. transaction time stamp.
Definition at line 969 of file rpmts.c. Referenced by main(), and rpmtsRun(). |
|
Set verify signatures flag(s).
Definition at line 841 of file rpmts.c. References rpmts, and rpmVSFlags. Referenced by build(), main(), rpmcliQuery(), rpmcliVerify(), rpmErase(), rpmGraph(), rpmInstall(), rpmRollback(), rpmts_Create(), rpmts_init(), rpmts_SetVSFlags(), and rpmtsRun(). |
|
Get signature tag data, i.e. from header.
Definition at line 995 of file rpmts.c. References rpmts. Referenced by rpmtsFindPubkey(), rpmtsStashKeyid(), rpmVerifySignature(), verifyGPGSignature(), verifyMD5Signature(), verifyPGPSignature(), verifySHA1Signature(), and verifySizeSignature(). |
|
Get signature tag data length, i.e. no. of bytes of data.
Definition at line 1003 of file rpmts.c. Referenced by rpmVerifySignature(), verifyGPGSignature(), verifyMD5Signature(), verifyPGPSignature(), and verifySHA1Signature(). |
|
Get OpenPGP signature constants.
Definition at line 1038 of file rpmts.c. References rpmts, rpmtsDig(), and pgpDig_s::signature. Referenced by rpmtsFindPubkey(), rpmtsStashKeyid(), rpmVerifySignatures(), verifyGPGSignature(), and verifyPGPSignature(). |
|
Get signature tag.
Definition at line 979 of file rpmts.c. Referenced by rpmVerifySignature(), verifyGPGSignature(), and verifyPGPSignature(). |
|
Get signature tag type.
|
|
Attempt to solve a needed dependency using the solve database.
Definition at line 480 of file rpmts.c. References _, _free(), Fclose(), Ferror(), fnpyKey, Fopen(), Fstrerror(), headerFree(), headerGetEntry(), headerLink(), headerSprintf(), int_32, rpmdbFreeIterator(), rpmdbInitIterator(), rpmdbNextIterator(), rpmds, rpmdsAnyMatchesDep(), rpmdsN(), rpmdsTagN(), RPMERR_OPEN, RPMERR_QFMT, rpmError, rpmExpand(), RPMMESS_DEBUG, rpmMessage, rpmRC, RPMRC_NOKEY, RPMRC_NOTTRUSTED, RPMRC_OK, rpmReadPackageFile(), rpmTag, RPMTAG_BASENAMES, RPMTAG_BUILDTIME, RPMTAG_NAME, RPMTAG_PROVIDENAME, RPMTAG_REQUIRENAME, RPMTRANS_FLAG_ADDINDEPS, rpmts, rpmtsAddInstallElement(), rpmtsOpenSDB(), sugcmp(), and xrealloc(). Referenced by rpmInstall(), and rpmtsCreate(). |
|
Get spec control structure from transaction set.
Definition at line 1287 of file rpmts.c. References rpmts. |
|
Set index of 1st element of successors.
Definition at line 851 of file rpmts.c. References rpmts. Referenced by rpmtsOrder(), and rpmtsRun(). |
|
Update disk space info for a file.
Definition at line 1143 of file rpmts.c. References FA_ALTNAME, FA_BACKUP, FA_CREATE, FA_ERASE, FA_SAVE, fileAction, rpmts, and uint_32. Referenced by handleOverlappedFiles(). |
|
Verify the database used by the transaction.
Definition at line 183 of file rpmts.c. References rpmdbVerify(), and rpmts. Referenced by main(), and rpmts_VerifyDB(). |
|
Get verify signatures flag(s).
Definition at line 833 of file rpmts.c. References rpmts, and rpmVSFlags. Referenced by headerCheck(), rpmpsmStage(), rpmReadPackageFile(), and rpmtsRun(). |
|
Definition at line 121 of file rpmts.c. References rpmts. |
|
Definition at line 111 of file rpmts.c. References rpmts. |
|
|
|
|
|
|