Files | |
file | rpmlib.h |
In Memoriam: Steve Taylor <staylor@redhat.com> was here, now he's not. | |
file | rpmte.h |
Structures used for an "rpmte" transaction element. | |
Typedefs | |
typedef struct rpmte_s * | rpmte |
An element of a transaction set, i.e. | |
typedef struct tsortInfo_s * | tsortInfo |
Transaction element ordering chain linkage. | |
typedef struct rpmtsi_s * | rpmtsi |
Transaction element iterator. | |
typedef enum rpmElementType_e | rpmElementType |
Transaction element type. | |
Enumerations | |
enum | rpmElementType_e { TR_ADDED = (1 << 0), TR_REMOVED = (1 << 1) } |
Transaction element type. More... | |
Functions | |
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. | |
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. | |
uint32_t | rpmteColor (rpmte te) |
Retrieve color bits of transaction element. | |
uint32_t | rpmteSetColor (rpmte te, uint32_t color) |
Set color bits of 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. | |
uint32_t | 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. | |
void | rpmteCleanDS (rpmte te) |
Destroy dependency set 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 | rpmtsiFree (rpmtsi tsi) |
Destroy transaction element iterator. | |
rpmtsi | XrpmtsiFree (rpmtsi tsi, const char *fn, unsigned int ln) |
Destroy transaction element iterator. | |
rpmtsi | rpmtsiInit (rpmts ts) |
Create transaction element iterator. | |
rpmtsi | XrpmtsiInit (rpmts ts, const char *fn, unsigned int ln) |
Create transaction element iterator. | |
rpmte | rpmtsiNext (rpmtsi tsi, rpmElementType type) |
Return next transaction element of type. |
typedef enum rpmElementType_e rpmElementType |
Transaction element type.
typedef struct rpmte_s* rpmte |
typedef struct rpmtsi_s* rpmtsi |
typedef struct tsortInfo_s* tsortInfo |
enum rpmElementType_e |
const char* rpmteA | ( | rpmte | te ) |
Retrieve arch string of transaction element.
te | transaction element |
Definition at line 295 of file rpmte.c.
Referenced by rpmpsmStage(), rpmte_A(), rpmte_print(), rpmtsAddInstallElement(), rpmtsCheck(), and rpmtsRun().
Retrieve pkgKey of TR_ADDED transaction element.
te | transaction element |
Definition at line 455 of file rpmte.c.
References RPMAL_NOMATCH.
Referenced by addRelation(), rpmte_AddedKey(), rpmtsAddInstallElement(), rpmtsOrder(), and rpmtsRun().
int rpmteBreadth | ( | rpmte | te ) |
Retrieve dependency tree breadth of transaction element.
te | transaction element |
Definition at line 345 of file rpmte.c.
Referenced by rpmte_Breadth().
Chain p <-> q forward/backward transaction element links.
p | installed element (needs backward link) |
q | erased element (needs forward link) |
oh | erased element header |
msg | operation identifier for debugging (NULL uses "") |
Definition at line 595 of file rpmte.c.
References __mydebug, _free(), alloca(), argvAdd(), _HE_s::c, headerGet(), _HE_s::p, rpmDataType_u::ptr, RPMTAG_HDRID, RPMTAG_PKGID, rpmDataType_u::str, _HE_s::tag, rpmDataType_u::ui8p, and xmalloc().
Referenced by findErases(), and rpmtsAddInstallElement().
void rpmteCleanDS | ( | rpmte | te ) |
Destroy dependency set info of transaction element.
te | transaction element |
Definition at line 26 of file rpmte.c.
References rpmdsFreePRCO().
Referenced by delTE(), and rpmtsClean().
uint32_t rpmteColor | ( | rpmte | te ) |
Retrieve color bits of transaction element.
te | transaction element |
Definition at line 310 of file rpmte.c.
Referenced by addQ(), handleInstInstalledFiles(), populateInstallHeader(), rpmte_Color(), rpmtsCheck(), and rpmtsRun().
Calculate transaction element dependency colors/refs from file info.
te | transaction element |
tag | dependency tag (RPMTAG_PROVIDENAME, RPMTAG_REQUIRENAME) |
Definition at line 526 of file rpmte.c.
References alloca(), rpmdsCount(), rpmdsInit(), rpmdsNext(), rpmdsSetColor(), rpmdsSetRefs(), rpmfiFC(), rpmfiFColor(), rpmfiFDepends(), rpmfiInit(), rpmfiNext(), rpmteDS(), and rpmteFI().
Referenced by addTE().
unsigned int rpmteDBInstance | ( | rpmte | te ) |
int rpmteDBOffset | ( | rpmte | te ) |
Retrieve rpmdb instance of TR_REMOVED transaction element.
te | transaction element |
Definition at line 471 of file rpmte.c.
Referenced by rpmte_DBOffset(), and rpmtsRun().
int rpmteDegree | ( | rpmte | te ) |
Retrieve number of children of transaction element.
te | transaction element |
Definition at line 407 of file rpmte.c.
Referenced by rpmte_Degree(), and rpmtsOrder().
int rpmteDepth | ( | rpmte | te ) |
Retrieve dependency tree depth of transaction element.
te | transaction element |
Definition at line 330 of file rpmte.c.
Referenced by addRelation(), rpmte_Depth(), and rpmtsOrder().
Retrieve dependency tag set from transaction element.
te | transaction element |
tag | dependency tag |
Definition at line 508 of file rpmte.c.
References rpmdsFromPRCO().
Referenced by rpmte_DS(), rpmteColorDS(), rpmtsAddInstallElement(), rpmtsCheck(), rpmtsOrder(), and zapRelation().
const char* rpmteE | ( | rpmte | te ) |
Retrieve epoch string of transaction element.
te | transaction element |
Definition at line 280 of file rpmte.c.
Referenced by ensureOlder(), rpmpsmStage(), rpmte_E(), and rpmtsRun().
Retrieve file handle from transaction element.
te | transaction element |
Definition at line 496 of file rpmte.c.
Referenced by rpmpsmStage(), and rpmtsRun().
Retrieve file info tag set from transaction element.
te | transaction element |
tag | file info tag (RPMTAG_BASENAMES) |
Definition at line 513 of file rpmte.c.
Referenced by rpmte_FI(), rpmteColorDS(), rpmtsAddInstallElement(), rpmtsCheck(), rpmtsCheckDSIProblems(), and rpmtsOrder().
Destroy a transaction element.
te | transaction element |
Definition at line 199 of file rpmte.c.
References _free(), and delTE().
Referenced by rpmpsmFree(), rpmtsAddInstallElement(), and rpmtsEmpty().
void rpmteFreeTSI | ( | rpmte | te ) |
Destroy tsort info of transaction element.
te | transaction element |
Definition at line 429 of file rpmte.c.
References _free(), and rpmteTSI().
Referenced by rpmteNewTSI(), and rpmtsOrder().
const char* rpmteHdrid | ( | rpmte | te ) |
Retrieve hdrid string from transaction element.
te | transaction element |
Definition at line 491 of file rpmte.c.
Referenced by rpmpsmStage(), and rpmte_Hdrid().
Retrieve header from transaction element.
te | transaction element |
Definition at line 255 of file rpmte.c.
References headerLink().
Referenced by rpmgiNext().
int rpmteIsSource | ( | rpmte | te ) |
Retrieve isSource attribute of transaction element.
te | transaction element |
Definition at line 305 of file rpmte.c.
Referenced by rpmtsAddInstallElement().
Retrieve key from transaction element.
te | transaction element |
Definition at line 503 of file rpmte.c.
Referenced by ensureOlder(), handleInstInstalledFiles(), handleOverlappedFiles(), relocateFileList(), rpmte_Key(), rpmtsAddInstallElement(), rpmtsCheckDSIProblems(), rpmtsNotify(), and rpmtsRun().
const char* rpmteN | ( | rpmte | te ) |
Retrieve name string of transaction element.
te | transaction element |
Definition at line 275 of file rpmte.c.
Referenced by ensureOlder(), ignoreDep(), rpmpsmStage(), rpmte_N(), rpmtsAddInstallElement(), rpmtsRun(), and runTriggers().
const char* rpmteNEVR | ( | rpmte | te ) |
Retrieve name-version-release string from transaction element.
te | transaction element |
Definition at line 476 of file rpmte.c.
Referenced by ensureOlder(), handleOverlappedFiles(), relocateFileList(), rpmpsmStage(), rpmte_NEVR(), rpmte_print(), rpmtsCheck(), rpmtsCheckDSIProblems(), and rpmtsRun().
const char* rpmteNEVRA | ( | rpmte | te ) |
Retrieve name-version-release.arch string from transaction element.
te | transaction element |
Definition at line 481 of file rpmte.c.
Referenced by handleInstInstalledFiles(), rpmte_NEVRA(), rpmtsAddInstallElement(), rpmtsCheck(), rpmtsOrder(), rpmtsRollback(), and zapRelation().
rpmte rpmteNew | ( | const rpmts | ts, |
Header | h, | ||
rpmElementType | type, | ||
fnpyKey | key, | ||
rpmRelocation | relocs, | ||
int | dboffset, | ||
alKey | pkgKey | ||
) |
Create a transaction element.
ts | transaction set |
h | header |
type | TR_ADDED/TR_REMOVED |
key | (TR_ADDED) package retrieval key (e.g. file name) |
relocs | (TR_ADDED) package file relocations |
dboffset | (TR_REMOVED) rpmdb instance |
pkgKey | associated added package (if any) |
Definition at line 209 of file rpmte.c.
References _free(), addTE(), alloca(), headerGet(), _HE_s::p, rpmDataType_u::ptr, RPMTAG_SIGSIZE, _HE_s::tag, TR_ADDED, TR_REMOVED, rpmDataType_u::ui32p, and xcalloc().
Referenced by removePackage(), and rpmtsAddInstallElement().
void rpmteNewTSI | ( | rpmte | te ) |
Initialize tsort info of transaction element.
te | transaction element |
Definition at line 447 of file rpmte.c.
References rpmteFreeTSI(), and xcalloc().
Referenced by rpmtsOrder().
int rpmteNpreds | ( | rpmte | te ) |
Retrieve tsort no.
of predecessors of transaction element.
te | transaction element |
Definition at line 360 of file rpmte.c.
Referenced by rpmte_Npreds(), and rpmtsOrder().
const char* rpmteO | ( | rpmte | te ) |
Retrieve os string of transaction element.
te | transaction element |
Definition at line 300 of file rpmte.c.
Referenced by rpmpsmStage(), rpmte_O(), rpmtsAddInstallElement(), rpmtsCheck(), and rpmtsRun().
Retrieve parent transaction element.
te | transaction element |
Definition at line 390 of file rpmte.c.
Referenced by rpmte_Parent().
uint32_t rpmtePkgFileSize | ( | rpmte | te ) |
Retrieve size in bytes of package file.
te | transaction element |
Definition at line 325 of file rpmte.c.
Referenced by rpmte_PkgFileSize(), and rpmtsOrder().
const char* rpmtePkgid | ( | rpmte | te ) |
Retrieve pkgid string from transaction element.
te | transaction element |
Definition at line 486 of file rpmte.c.
Referenced by rpmte_Pkgid().
const char* rpmteR | ( | rpmte | te ) |
Retrieve release string of transaction element.
te | transaction element |
Definition at line 290 of file rpmte.c.
Referenced by ensureOlder(), rpmpsmStage(), rpmte_R(), and rpmtsRun().
Set pkgKey of TR_ADDED transaction element.
te | transaction element |
npkgKey | new pkgKey |
Definition at line 460 of file rpmte.c.
References RPMAL_NOMATCH.
Referenced by rpmtsAddInstallElement(), and rpmtsOrder().
int rpmteSetBreadth | ( | rpmte | te, |
int | nbreadth | ||
) |
Set dependency tree breadth of transaction element.
te | transaction element |
nbreadth | new breadth |
Definition at line 350 of file rpmte.c.
Referenced by rpmtsOrder().
uint32_t rpmteSetColor | ( | rpmte | te, |
uint32_t | color | ||
) |
void rpmteSetDBInstance | ( | rpmte | te, |
unsigned int | instance | ||
) |
Set last instance installed to the database.
te | transaction element |
instance | Database instance of last install element. |
Definition at line 249 of file rpmte.c.
Referenced by rpmpsmStage().
int rpmteSetDegree | ( | rpmte | te, |
int | ndegree | ||
) |
Set number of children of transaction element.
te | transaction element |
ndegree | new number of children |
Definition at line 412 of file rpmte.c.
Referenced by rpmtsOrder().
int rpmteSetDepth | ( | rpmte | te, |
int | ndepth | ||
) |
Set dependency tree depth of transaction element.
te | transaction element |
ndepth | new depth |
Definition at line 335 of file rpmte.c.
Referenced by addRelation(), and rpmtsOrder().
Save header into transaction element.
te | transaction element |
h | header |
Definition at line 260 of file rpmte.c.
References headerFree(), and headerLink().
Referenced by rpmInstallSourcePackage(), rpmpsmStage(), and rpmtsAddInstallElement().
int rpmteSetNpreds | ( | rpmte | te, |
int | npreds | ||
) |
Set tsort no.
of predecessors of transaction element.
te | transaction element |
npreds | new no. of predecessors |
Definition at line 365 of file rpmte.c.
Referenced by rpmtsOrder().
Set parent transaction element.
te | transaction element |
pte | new parent transaction element |
Definition at line 395 of file rpmte.c.
Referenced by rpmtsOrder().
int rpmteSetTree | ( | rpmte | te, |
int | ntree | ||
) |
Set tree index of transaction element.
te | transaction element |
ntree | new tree index |
Definition at line 380 of file rpmte.c.
Referenced by rpmtsOrder().
int rpmteTree | ( | rpmte | te ) |
Retrieve tree index of transaction element.
te | transaction element |
Definition at line 375 of file rpmte.c.
Referenced by rpmte_Tree(), and rpmtsOrder().
Retrieve tsort info for transaction element.
te | transaction element |
Definition at line 422 of file rpmte.c.
Referenced by addQ(), addRelation(), markLoop(), rpmteFreeTSI(), rpmtsOrder(), and zapRelation().
rpmElementType rpmteType | ( | rpmte | te ) |
Retrieve type of transaction element.
te | transaction element |
Definition at line 270 of file rpmte.c.
Referenced by _processFailedPackage(), addQ(), addRelation(), fsmMapPath(), handleOverlappedFiles(), mapInitIterator(), rpmfiNew(), rpmfiTypeString(), rpmgiNext(), rpmte_print(), rpmte_TEType(), rpmtsAddInstallElement(), rpmtsOrder(), and rpmtsRun().
const char* rpmteV | ( | rpmte | te ) |
Retrieve version string of transaction element.
te | transaction element |
Definition at line 285 of file rpmte.c.
Referenced by ensureOlder(), rpmpsmStage(), rpmte_V(), and rpmtsRun().
Destroy transaction element iterator.
tsi | transaction element iterator |
Referenced by addRelation(), markLinkedFailed(), rpmgiFree(), rpmgiNext(), rpmts_iternext(), rpmtsAddInstallElement(), rpmtsCheck(), rpmtsClean(), rpmtsEmpty(), rpmtsOrder(), rpmtsRollback(), and rpmtsRun().
Create transaction element iterator.
ts | transaction set |
Referenced by addRelation(), markLinkedFailed(), rpmgiNext(), rpmts_iternext(), rpmtsAddInstallElement(), rpmtsCheck(), rpmtsClean(), rpmtsEmpty(), rpmtsOrder(), rpmtsRollback(), and rpmtsRun().
rpmte rpmtsiNext | ( | rpmtsi | tsi, |
rpmElementType | type | ||
) |
Return next transaction element of type.
tsi | transaction element iterator |
type | transaction element type selector (0 for any) |
Definition at line 731 of file rpmte.c.
References rpmtsiNextElement().
Referenced by addRelation(), markLinkedFailed(), rpmgiNext(), rpmts_iternext(), rpmtsAddInstallElement(), rpmtsCheck(), rpmtsClean(), rpmtsEmpty(), rpmtsOrder(), rpmtsRollback(), and rpmtsRun().
int rpmtsiOc | ( | rpmtsi | tsi ) |
Return transaction element index.
tsi | transaction element iterator |
Definition at line 668 of file rpmte.c.
Referenced by rpmtsOrder(), and rpmtsRun().
Destroy transaction element iterator.
tsi | transaction element iterator |
fn | |
ln |
Definition at line 673 of file rpmte.c.
References _free(), _rpmte_debug, and rpmtsFree().
Create transaction element iterator.
ts | transaction set |
fn | |
ln |
Definition at line 689 of file rpmte.c.
References _rpmte_debug, rpmtsLink(), rpmtsNElements(), and xcalloc().