#include "system.h"
#include <rpmlib.h>
#include "psm.h"
#include "rpmds.h"
#include "rpmfi.h"
#include "rpmte.h"
#include "rpmts.h"
#include "debug.h"
Include dependency graph for rpmte.c:
Go to the source code of this file.
Defines | |
#define | _RPMTE_INTERNAL |
Functions | |
void | rpmteCleanDS (rpmte te) |
Destroy dependency set info of transaction element. | |
static void | delTE (rpmte p) |
Destroy transaction element data. | |
static void | addTE (rpmts ts, rpmte p, Header h, fnpyKey key, rpmRelocation relocs) |
Initialize transaction element data from header. | |
rpmte | rpmteFree (rpmte te) |
Destroy a transaction element. | |
rpmte | rpmteNew (const rpmts ts, Header h, rpmElementType type, fnpyKey key, rpmRelocation relocs, int dboffset, alKey pkgKey) |
Create a transaction element. | |
unsigned int | rpmteDBInstance (rpmte te) |
Retrieve last instance installed to the database. | |
void | rpmteSetDBInstance (rpmte te, unsigned int instance) |
Set last instance installed to the database. | |
Header | rpmteHeader (rpmte te) |
Retrieve header from transaction element. | |
Header | rpmteSetHeader (rpmte te, Header h) |
Save header into transaction element. | |
rpmElementType | rpmteType (rpmte te) |
Retrieve type of transaction element. | |
const char * | rpmteN (rpmte te) |
Retrieve name string of transaction element. | |
const char * | rpmteE (rpmte te) |
Retrieve epoch string of transaction element. | |
const char * | rpmteV (rpmte te) |
Retrieve version string of transaction element. | |
const char * | rpmteR (rpmte te) |
Retrieve release string of transaction element. | |
const char * | rpmteA (rpmte te) |
Retrieve arch string of transaction element. | |
const char * | rpmteO (rpmte te) |
Retrieve os string of transaction element. | |
int | rpmteIsSource (rpmte te) |
Retrieve isSource attribute of transaction element. | |
uint_32 | rpmteColor (rpmte te) |
Retrieve color bits of transaction element. | |
uint_32 | rpmteSetColor (rpmte te, uint_32 color) |
Set color bits of transaction element. | |
uint_32 | rpmtePkgFileSize (rpmte te) |
Retrieve size in bytes of package file. | |
int | rpmteDepth (rpmte te) |
Retrieve dependency tree depth of transaction element. | |
int | rpmteSetDepth (rpmte te, int ndepth) |
Set dependency tree depth of transaction element. | |
int | rpmteBreadth (rpmte te) |
Retrieve dependency tree breadth of transaction element. | |
int | rpmteSetBreadth (rpmte te, int nbreadth) |
Set dependency tree breadth of transaction element. | |
int | rpmteNpreds (rpmte te) |
Retrieve tsort no. | |
int | rpmteSetNpreds (rpmte te, int npreds) |
Set tsort no. | |
int | rpmteTree (rpmte te) |
Retrieve tree index of transaction element. | |
int | rpmteSetTree (rpmte te, int ntree) |
Set tree index of transaction element. | |
rpmte | rpmteParent (rpmte te) |
Retrieve parent transaction element. | |
rpmte | rpmteSetParent (rpmte te, rpmte pte) |
Set parent transaction element. | |
int | rpmteDegree (rpmte te) |
Retrieve number of children of transaction element. | |
int | rpmteSetDegree (rpmte te, int ndegree) |
Set number of children of transaction element. | |
tsortInfo | rpmteTSI (rpmte te) |
Retrieve tsort info for transaction element. | |
void | rpmteFreeTSI (rpmte te) |
Destroy tsort info of transaction element. | |
void | rpmteNewTSI (rpmte te) |
Initialize tsort info of transaction element. | |
alKey | rpmteAddedKey (rpmte te) |
Retrieve pkgKey of TR_ADDED transaction element. | |
alKey | rpmteSetAddedKey (rpmte te, alKey npkgKey) |
Set pkgKey of TR_ADDED transaction element. | |
int | rpmteDBOffset (rpmte te) |
Retrieve rpmdb instance of TR_REMOVED transaction element. | |
const char * | rpmteNEVR (rpmte te) |
Retrieve name-version-release string from transaction element. | |
const char * | rpmteNEVRA (rpmte te) |
Retrieve name-version-release.arch string from transaction element. | |
const char * | rpmtePkgid (rpmte te) |
Retrieve pkgid string from transaction element. | |
const char * | rpmteHdrid (rpmte te) |
Retrieve hdrid string from transaction element. | |
FD_t | rpmteFd (rpmte te) |
Retrieve file handle from transaction element. | |
fnpyKey | rpmteKey (rpmte te) |
Retrieve key from transaction element. | |
rpmds | rpmteDS (rpmte te, rpmTag tag) |
Retrieve dependency tag set from transaction element. | |
rpmfi | rpmteFI (rpmte te, rpmTag tag) |
Retrieve file info tag set from transaction element. | |
void | rpmteColorDS (rpmte te, rpmTag tag) |
Calculate transaction element dependency colors/refs from file info. | |
int | rpmteChain (rpmte p, rpmte q, Header oh, const char *msg) |
Chain p <-> q forward/backward transaction element links. | |
int | rpmtsiOc (rpmtsi tsi) |
Return transaction element index. | |
rpmtsi | XrpmtsiFree (rpmtsi tsi, const char *fn, unsigned int ln) |
Destroy transaction element iterator. | |
rpmtsi | XrpmtsiInit (rpmts ts, const char *fn, unsigned int ln) |
Create transaction element iterator. | |
static rpmte | rpmtsiNextElement (rpmtsi tsi) |
Return next transaction element. | |
rpmte | rpmtsiNext (rpmtsi tsi, rpmElementType type) |
Return next transaction element of type. | |
Variables | |
int | _rpmte_debug = 0 |
static int | __mydebug = 0 |
Definition in file rpmte.c.
|
|
|
Initialize transaction element data from header.
Definition at line 90 of file rpmte.c. References headerFreeData(), headerGetEntryMinMemory(), hGetNEVR(), RPM_BIN_TYPE, RPMTAG_HDRID, RPMTAG_PKGID, xmalloc(), and xstrdup(). Referenced by rpmteNew(). |
|
Destroy transaction element data.
Definition at line 34 of file rpmte.c. References _free(), argvFree(), fdFree, headerFree(), rpmRelocation_s::newPath, rpmRelocation_s::oldPath, rpmfiFree(), and rpmteCleanDS(). Referenced by rpmteFree(). |
|
Retrieve arch string of transaction element.
Definition at line 312 of file rpmte.c. Referenced by rpmpsmStage(), rpmte_A(), rpmte_print(), rpmtsAddInstallElement(), rpmtsCheck(), and rpmtsRun(). |
|
Retrieve pkgKey of TR_ADDED transaction element.
Definition at line 474 of file rpmte.c. References RPMAL_NOMATCH. Referenced by addRelation(), rpmte_AddedKey(), rpmtsAddInstallElement(), and rpmtsOrder(). |
|
Retrieve dependency tree breadth of transaction element.
Definition at line 362 of file rpmte.c. Referenced by rpmte_Breadth(). |
|
Chain p <-> q forward/backward transaction element links.
Definition at line 616 of file rpmte.c. References headerFreeData(), headerGetEntryMinMemory(), hGetNEVRA(), RPM_BIN_TYPE, RPMTAG_PKGID, and xmalloc(). Referenced by findErases(). |
|
Destroy dependency set info of transaction element.
Definition at line 25 of file rpmte.c. References rpmdsFreePRCO(). Referenced by delTE(), and rpmtsClean(). |
|
Retrieve color bits of transaction element.
Definition at line 327 of file rpmte.c. Referenced by addQ(), handleInstInstalledFiles(), populateInstallHeader(), rpmte_Color(), and rpmtsCheck(). |
|
Calculate transaction element dependency colors/refs from file info.
Definition at line 545 of file rpmte.c. References alloca(), rpmdsCount(), rpmdsInit(), rpmdsNext(), rpmdsSetColor(), rpmdsSetRefs(), rpmfiFC(), rpmfiFColor(), rpmfiFDepends(), rpmfiInit(), rpmfiNext(), RPMTAG_BASENAMES, RPMTAG_PROVIDENAME, RPMTAG_REQUIRENAME, rpmteDS(), and rpmteFI(). |
|
Retrieve last instance installed to the database.
|
|
Retrieve rpmdb instance of TR_REMOVED transaction element.
Definition at line 490 of file rpmte.c. Referenced by rpmte_DBOffset(), and rpmtsRun(). |
|
Retrieve number of children of transaction element.
Definition at line 426 of file rpmte.c. Referenced by rpmte_Degree(), and rpmtsOrder(). |
|
Retrieve dependency tree depth of transaction element.
Definition at line 347 of file rpmte.c. Referenced by rpmte_Depth(), and rpmtsOrder(). |
|
Retrieve dependency tag set from transaction element.
Definition at line 527 of file rpmte.c. References rpmdsFromPRCO(). Referenced by rpmte_DS(), rpmteColorDS(), rpmtsAddInstallElement(), rpmtsCheck(), rpmtsOrder(), and zapRelation(). |
|
Retrieve epoch string of transaction element.
Definition at line 297 of file rpmte.c. Referenced by ensureOlder(), rpmpsmStage(), rpmte_E(), and rpmtsRun(). |
|
Retrieve file handle from transaction element.
Definition at line 515 of file rpmte.c. Referenced by rpmpsmStage(), and rpmtsRun(). |
|
Retrieve file info tag set from transaction element.
Definition at line 532 of file rpmte.c. References RPMTAG_BASENAMES. Referenced by rpmte_FI(), rpmteColorDS(), rpmtsCheck(), rpmtsCheckDSIProblems(), and rpmtsOrder(). |
|
Destroy a transaction element.
Definition at line 218 of file rpmte.c. References _free(), and delTE(). Referenced by rpmpsmFree(), and rpmtsEmpty(). |
|
Destroy tsort info of transaction element.
Definition at line 448 of file rpmte.c. References _free(), and rpmteTSI(). Referenced by rpmteNewTSI(). |
|
Retrieve hdrid string from transaction element.
Definition at line 510 of file rpmte.c. Referenced by rpmpsmStage(), and rpmte_Hdrid(). |
|
Retrieve header from transaction element.
Definition at line 272 of file rpmte.c. References headerLink(). Referenced by rpmgiNext(). |
|
Retrieve isSource attribute of transaction element.
Definition at line 322 of file rpmte.c. Referenced by rpmtsAddInstallElement(). |
|
Retrieve key from transaction element.
Definition at line 522 of file rpmte.c. Referenced by ensureOlder(), handleInstInstalledFiles(), handleOverlappedFiles(), rpmte_Key(), rpmtsCheckDSIProblems(), rpmtsNotify(), and rpmtsRun(). |
|
Retrieve name string of transaction element.
Definition at line 292 of file rpmte.c. Referenced by ensureOlder(), rpmpsmStage(), rpmte_N(), rpmtsRun(), and runTriggers(). |
|
Retrieve name-version-release string from transaction element.
Definition at line 495 of file rpmte.c. Referenced by ensureOlder(), handleOverlappedFiles(), rpmpsmStage(), rpmte_NEVR(), rpmte_print(), rpmtsCheck(), rpmtsCheckDSIProblems(), and rpmtsRun(). |
|
Retrieve name-version-release.arch string from transaction element.
Definition at line 500 of file rpmte.c. Referenced by handleInstInstalledFiles(), rpmte_NEVRA(), rpmtsCheck(), rpmtsOrder(), rpmtsRollback(), and zapRelation(). |
|
Create a transaction element.
Definition at line 228 of file rpmte.c. References addTE(), headerGetEntry(), RPMTAG_SIGSIZE, TR_ADDED, TR_REMOVED, and xcalloc(). Referenced by removePackage(). |
|
Initialize tsort info of transaction element.
Definition at line 466 of file rpmte.c. References rpmteFreeTSI(), and xcalloc(). Referenced by rpmtsOrder(). |
|
Retrieve tsort no. of predecessors of transaction element.
Definition at line 377 of file rpmte.c. Referenced by rpmte_Npreds(), and rpmtsOrder(). |
|
Retrieve os string of transaction element.
Definition at line 317 of file rpmte.c. Referenced by rpmpsmStage(), rpmte_O(), rpmtsAddInstallElement(), rpmtsCheck(), and rpmtsRun(). |
|
Retrieve parent transaction element.
Definition at line 407 of file rpmte.c. Referenced by rpmte_Parent(). |
|
Retrieve size in bytes of package file.
Definition at line 342 of file rpmte.c. Referenced by rpmte_PkgFileSize(), and rpmtsOrder(). |
|
Retrieve pkgid string from transaction element.
Definition at line 505 of file rpmte.c. Referenced by rpmte_Pkgid(). |
|
Retrieve release string of transaction element.
Definition at line 307 of file rpmte.c. Referenced by ensureOlder(), rpmpsmStage(), rpmte_R(), and rpmtsRun(). |
|
Set pkgKey of TR_ADDED transaction element.
Definition at line 479 of file rpmte.c. References RPMAL_NOMATCH. Referenced by rpmtsOrder(). |
|
Set dependency tree breadth of transaction element.
Definition at line 367 of file rpmte.c. Referenced by rpmtsOrder(). |
|
Set color bits of transaction element.
|
|
Set last instance installed to the database.
Definition at line 266 of file rpmte.c. Referenced by rpmpsmStage(). |
|
Set number of children of transaction element.
Definition at line 431 of file rpmte.c. Referenced by rpmtsOrder(). |
|
Set dependency tree depth of transaction element.
Definition at line 352 of file rpmte.c. Referenced by rpmtsOrder(). |
|
Save header into transaction element.
Definition at line 277 of file rpmte.c. References headerFree(), and headerLink(). |
|
Set tsort no. of predecessors of transaction element.
Definition at line 382 of file rpmte.c. Referenced by rpmtsOrder(). |
|
Set parent transaction element.
Definition at line 412 of file rpmte.c. Referenced by rpmtsOrder(). |
|
Set tree index of transaction element.
Definition at line 397 of file rpmte.c. Referenced by rpmtsOrder(). |
|
Retrieve tree index of transaction element.
Definition at line 392 of file rpmte.c. Referenced by rpmte_Tree(), and rpmtsOrder(). |
|
Retrieve tsort info for transaction element.
Definition at line 441 of file rpmte.c. Referenced by addQ(), markLoop(), rpmteFreeTSI(), rpmtsOrder(), and zapRelation(). |
|
Retrieve type of transaction element.
Definition at line 287 of file rpmte.c. Referenced by _processFailedPackage(), addQ(), addRelation(), fsmMapPath(), handleOverlappedFiles(), mapInitIterator(), rpmfiTypeString(), rpmgiNext(), rpmte_print(), rpmte_TEType(), rpmtsAddInstallElement(), rpmtsOrder(), and rpmtsRun(). |
|
Retrieve version string of transaction element.
Definition at line 302 of file rpmte.c. Referenced by ensureOlder(), rpmpsmStage(), rpmte_V(), and rpmtsRun(). |
|
Return next transaction element of type.
Definition at line 759 of file rpmte.c. References rpmtsiNextElement(). Referenced by addRelation(), markLinkedFailed(), rpmgiNext(), rpmts_iternext(), rpmtsAddInstallElement(), rpmtsCheck(), rpmtsClean(), rpmtsEmpty(), rpmtsOrder(), rpmtsRollback(), and rpmtsRun(). |
|
Return next transaction element.
Definition at line 737 of file rpmte.c. References rpmtsElement(), and rpmtsNElements(). Referenced by rpmtsiNext(). |
|
Return transaction element index.
Definition at line 694 of file rpmte.c. Referenced by rpmtsOrder(), and rpmtsRun(). |
|
Destroy transaction element iterator.
Definition at line 699 of file rpmte.c. References _free(), _rpmte_debug, and rpmtsFree(). |
|
Create transaction element iterator.
Definition at line 715 of file rpmte.c. References _rpmte_debug, rpmtsLink, rpmtsNElements(), and xcalloc(). |
|
|
|
|