rpm  5.2.1
Files | Typedefs | Enumerations | Functions
RPMTE Transaction Element API.
Collaboration diagram for RPMTE Transaction Element API.:

Files

file  rpmlib.h
 In Memoriam: Steve Taylor stayl.nosp@m.or@r.nosp@m.edhat.nosp@m..com was here, now he's not.
 
file  rpmte.h
 Structures used for an "rpmte" transaction element.
 

Typedefs

typedef struct tsortInfo_s * tsortInfo
 Transaction element ordering chain linkage. More...
 
typedef struct rpmtsi_s * rpmtsi
 Transaction element iterator. More...
 
typedef enum rpmElementType_e rpmElementType
 Transaction element type. More...
 
typedef struct rpmte_s * rpmte
 An element of a transaction set, i.e. More...
 

Enumerations

enum  rpmElementType_e { TR_ADDED = (1 << 0), TR_REMOVED = (1 << 1) }
 Transaction element type. More...
 

Functions

Header rpmteHeader (rpmte te)
 Retrieve header from transaction element. More...
 
Header rpmteSetHeader (rpmte te, Header h)
 Save header into transaction element. More...
 
rpmElementType rpmteType (rpmte te)
 Retrieve type of transaction element. More...
 
const char * rpmteN (rpmte te)
 Retrieve name string of transaction element. More...
 
const char * rpmteE (rpmte te)
 Retrieve epoch string of transaction element. More...
 
const char * rpmteV (rpmte te)
 Retrieve version string of transaction element. More...
 
const char * rpmteR (rpmte te)
 Retrieve release string of transaction element. More...
 
const char * rpmteA (rpmte te)
 Retrieve arch string of transaction element. More...
 
const char * rpmteO (rpmte te)
 Retrieve os string of transaction element. More...
 
int rpmteIsSource (rpmte te)
 Retrieve isSource attribute of transaction element. More...
 
rpmuint32_t rpmteColor (rpmte te)
 Retrieve color bits of transaction element. More...
 
rpmuint32_t rpmteSetColor (rpmte te, rpmuint32_t color)
 Set color bits of transaction element. More...
 
unsigned int rpmteDBInstance (rpmte te)
 Retrieve last instance installed to the database. More...
 
void rpmteSetDBInstance (rpmte te, unsigned int instance)
 Set last instance installed to the database. More...
 
rpmuint32_t rpmtePkgFileSize (rpmte te)
 Retrieve size in bytes of package file. More...
 
rpmuint32_trpmteOriginTid (rpmte te)
 Retrieve transaction start time that package was first installed. More...
 
rpmuint32_trpmteOriginTime (rpmte te)
 Retrieve time that package was first installed. More...
 
int rpmteDepth (rpmte te)
 Retrieve dependency tree depth of transaction element. More...
 
int rpmteSetDepth (rpmte te, int ndepth)
 Set dependency tree depth of transaction element. More...
 
int rpmteBreadth (rpmte te)
 Retrieve dependency tree breadth of transaction element. More...
 
int rpmteSetBreadth (rpmte te, int nbreadth)
 Set dependency tree breadth of transaction element. More...
 
int rpmteNpreds (rpmte te)
 Retrieve tsort no. More...
 
int rpmteSetNpreds (rpmte te, int npreds)
 Set tsort no. More...
 
int rpmteTree (rpmte te)
 Retrieve tree index of transaction element. More...
 
int rpmteSetTree (rpmte te, int ntree)
 Set tree index of transaction element. More...
 
rpmte rpmteParent (rpmte te)
 Retrieve parent transaction element. More...
 
rpmte rpmteSetParent (rpmte te, rpmte pte)
 Set parent transaction element. More...
 
int rpmteDegree (rpmte te)
 Retrieve number of children of transaction element. More...
 
int rpmteSetDegree (rpmte te, int ndegree)
 Set number of children of transaction element. More...
 
tsortInfo rpmteTSI (rpmte te)
 Retrieve tsort info for transaction element. More...
 
void rpmteFreeTSI (rpmte te)
 Destroy tsort info of transaction element. More...
 
void rpmteNewTSI (rpmte te)
 Initialize tsort info of transaction element. More...
 
void rpmteCleanDS (rpmte te)
 Destroy dependency set info of transaction element. More...
 
int rpmteDBOffset (rpmte te)
 Retrieve rpmdb instance of TR_REMOVED transaction element. More...
 
const char * rpmteNEVR (rpmte te)
 Retrieve name-version-release string from transaction element. More...
 
const char * rpmteNEVRA (rpmte te)
 Retrieve name-version-release.arch string from transaction element. More...
 
const char * rpmtePkgid (rpmte te)
 Retrieve pkgid string from transaction element. More...
 
const char * rpmteHdrid (rpmte te)
 Retrieve hdrid string from transaction element. More...
 
const char * rpmteSourcerpm (rpmte te)
 Retrieve sourcerpm string from transaction element. More...
 
FD_t rpmteFd (rpmte te)
 Retrieve file handle from transaction element. More...
 
fnpyKey rpmteKey (rpmte te)
 Retrieve key from transaction element. More...
 
rpmds rpmteDS (rpmte te, rpmTag tag)
 Retrieve dependency tag set from transaction element. More...
 
rpmfi rpmteFI (rpmte te, rpmTag tag)
 Retrieve file info tag set from transaction element. More...
 
void rpmteColorDS (rpmte te, rpmTag tag)
 Calculate transaction element dependency colors/refs from file info. More...
 
int rpmteChain (rpmte p, rpmte q, Header oh, const char *msg)
 Chain p <-> q forward/backward transaction element links. More...
 
int rpmtsiOc (rpmtsi tsi)
 Return transaction element index. More...
 
rpmtsi rpmtsiFree (rpmtsi tsi)
 Destroy transaction element iterator. More...
 
rpmtsi rpmtsiInit (rpmts ts)
 Create transaction element iterator. More...
 
rpmtsi XrpmtsiInit (rpmts ts, const char *fn, unsigned int ln)
 Create transaction element iterator. More...
 
rpmte rpmtsiNext (rpmtsi tsi, rpmElementType type)
 Return next transaction element of type. More...
 

Detailed Description

Typedef Documentation

Transaction element type.

typedef struct rpmte_s* rpmte

An element of a transaction set, i.e.

a TR_ADDED or TR_REMOVED package.

Definition at line 33 of file rpmtypes.h.

typedef struct rpmtsi_s* rpmtsi

Transaction element iterator.

Definition at line 25 of file rpmte.h.

typedef struct tsortInfo_s* tsortInfo

Transaction element ordering chain linkage.

Definition at line 20 of file rpmte.h.

Enumeration Type Documentation

Transaction element type.

Enumerator
TR_ADDED 

Package will be installed.

TR_REMOVED 

Package will be removed.

Definition at line 30 of file rpmte.h.

Function Documentation

const char* rpmteA ( rpmte  te)

Retrieve arch string of transaction element.

Parameters
tetransaction element
Returns
arch string

Definition at line 329 of file rpmte.c.

Referenced by rpmpsmStage(), rpmte_A(), rpmte_print(), rpmtsAddInstallElement(), rpmtsCheck(), and rpmtsRun().

int rpmteBreadth ( rpmte  te)

Retrieve dependency tree breadth of transaction element.

Parameters
tetransaction element
Returns
breadth

Definition at line 389 of file rpmte.c.

Referenced by rpmte_Breadth().

int rpmteChain ( rpmte  p,
rpmte  q,
Header  oh,
const char *  msg 
)

Chain p <-> q forward/backward transaction element links.

Parameters
pinstalled element (needs backward link)
qerased element (needs forward link)
oherased element header
msgoperation identifier for debugging (NULL uses "")
Returns
0 on success

Definition at line 644 of file rpmte.c.

References _free(), alloca(), argvAdd(), _HE_s::c, headerGet(), _HE_s::p, rpmDataType_u::ptr, RPMTAG_HDRID, RPMTAG_NVRA, RPMTAG_PKGID, rpmDataType_u::str, _HE_s::tag, rpmDataType_u::ui8p, and xmalloc().

Referenced by findErases(), rpmtsAddObsoletes(), rpmtsAddUpgrades(), and rpmtsEraseDebuginfo().

void rpmteCleanDS ( rpmte  te)

Destroy dependency set info of transaction element.

Parameters
tetransaction element

Definition at line 29 of file rpmte.c.

References rpmdsFreePRCO().

Referenced by delTE(), and rpmtsClean().

rpmuint32_t rpmteColor ( rpmte  te)

Retrieve color bits of transaction element.

Parameters
tetransaction element
Returns
color bits

Definition at line 344 of file rpmte.c.

Referenced by addQ(), handleInstInstalledFiles(), populateInstallHeader(), rpmte_Color(), rpmtsCheck(), and rpmtsRun().

void rpmteColorDS ( rpmte  te,
rpmTag  tag 
)

Calculate transaction element dependency colors/refs from file info.

Parameters
tetransaction element
tagdependency tag (RPMTAG_PROVIDENAME, RPMTAG_REQUIRENAME)

Definition at line 575 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().

Referenced by addTE().

unsigned int rpmteDBInstance ( rpmte  te)

Retrieve last instance installed to the database.

Parameters
tetransaction element
Returns
last install instance.

Definition at line 265 of file rpmte.c.

int rpmteDBOffset ( rpmte  te)

Retrieve rpmdb instance of TR_REMOVED transaction element.

Parameters
tetransaction element
Returns
rpmdb instance

Definition at line 515 of file rpmte.c.

Referenced by rpmte_DBOffset(), and rpmtsRun().

int rpmteDegree ( rpmte  te)

Retrieve number of children of transaction element.

Parameters
tetransaction element
Returns
tree index

Definition at line 451 of file rpmte.c.

Referenced by rpmte_Degree(), and rpmtsOrder().

int rpmteDepth ( rpmte  te)

Retrieve dependency tree depth of transaction element.

Parameters
tetransaction element
Returns
depth

Definition at line 374 of file rpmte.c.

Referenced by addRelation(), rpmte_Depth(), and rpmtsOrder().

rpmds rpmteDS ( rpmte  te,
rpmTag  tag 
)

Retrieve dependency tag set from transaction element.

Parameters
tetransaction element
tagdependency tag
Returns
dependency tag set

Definition at line 557 of file rpmte.c.

References rpmdsFromPRCO().

Referenced by rpmte_DS(), rpmteColorDS(), rpmtsAddInstallElement(), rpmtsAddObsoletes(), rpmtsCheck(), rpmtsOrder(), and zapRelation().

const char* rpmteE ( rpmte  te)

Retrieve epoch string of transaction element.

Parameters
tetransaction element
Returns
epoch string

Definition at line 307 of file rpmte.c.

Referenced by ensureOlder(), rpmpsmStage(), rpmte_E(), and rpmtsRun().

FD_t rpmteFd ( rpmte  te)

Retrieve file handle from transaction element.

Parameters
tetransaction element
Returns
file handle

Definition at line 545 of file rpmte.c.

Referenced by rpmpsmStage(), and rpmtsRun().

rpmfi rpmteFI ( rpmte  te,
rpmTag  tag 
)

Retrieve file info tag set from transaction element.

Parameters
tetransaction element
tagfile info tag (RPMTAG_BASENAMES)
Returns
file info tag set

Definition at line 562 of file rpmte.c.

References RPMTAG_BASENAMES.

Referenced by rpmte_FI(), rpmteColorDS(), rpmtsAddInstallElement(), rpmtsCheck(), rpmtsCheckDSIProblems(), and rpmtsOrder().

void rpmteFreeTSI ( rpmte  te)

Destroy tsort info of transaction element.

Parameters
tetransaction element

Definition at line 473 of file rpmte.c.

References _free(), and rpmteTSI().

Referenced by rpmteNewTSI(), and rpmtsOrder().

const char* rpmteHdrid ( rpmte  te)

Retrieve hdrid string from transaction element.

Parameters
tetransaction element
Returns
hdrid string

Definition at line 535 of file rpmte.c.

Referenced by rpmpsmStage(), and rpmte_Hdrid().

Header rpmteHeader ( rpmte  te)

Retrieve header from transaction element.

Parameters
tetransaction element
Returns
header

Definition at line 277 of file rpmte.c.

References headerLink().

Referenced by rpmgiNext().

int rpmteIsSource ( rpmte  te)

Retrieve isSource attribute of transaction element.

Parameters
tetransaction element
Returns
isSource attribute

Definition at line 339 of file rpmte.c.

Referenced by rpmtsAddInstallElement(), and rpmtsRun().

fnpyKey rpmteKey ( rpmte  te)

Retrieve key from transaction element.

Parameters
tetransaction element
Returns
key

Definition at line 552 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.

Parameters
tetransaction element
Returns
name string

Definition at line 302 of file rpmte.c.

Referenced by ensureOlder(), ignoreDep(), rpmpsmStage(), rpmte_N(), rpmtsAddInstallElement(), rpmtsAddObsoletes(), rpmtsAddUpgrades(), rpmtsRun(), and runTriggers().

const char* rpmteNEVR ( rpmte  te)

Retrieve name-version-release string from transaction element.

Parameters
tetransaction element
Returns
name-version-release string

Definition at line 520 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.

Parameters
tetransaction element
Returns
name-version-release.arch string

Definition at line 525 of file rpmte.c.

Referenced by handleInstInstalledFiles(), rpmte_NEVRA(), rpmtsAddObsoletes(), rpmtsAddUpgrades(), rpmtsCheck(), rpmtsEraseDebuginfo(), rpmtsOrder(), rpmtsRollback(), and zapRelation().

void rpmteNewTSI ( rpmte  te)

Initialize tsort info of transaction element.

Parameters
tetransaction element

Definition at line 491 of file rpmte.c.

References rpmteFreeTSI(), and xcalloc().

Referenced by rpmtsOrder().

int rpmteNpreds ( rpmte  te)

Retrieve tsort no.

of predecessors of transaction element.

Parameters
tetransaction element
Returns
no. of predecessors

Definition at line 404 of file rpmte.c.

Referenced by rpmte_Npreds(), and rpmtsOrder().

const char* rpmteO ( rpmte  te)

Retrieve os string of transaction element.

Parameters
tetransaction element
Returns
os string

Definition at line 334 of file rpmte.c.

Referenced by rpmpsmStage(), rpmte_O(), rpmtsAddInstallElement(), rpmtsCheck(), and rpmtsRun().

rpmuint32_t* rpmteOriginTid ( rpmte  te)

Retrieve transaction start time that package was first installed.

Parameters
tetransaction element
Returns
origin time

Definition at line 364 of file rpmte.c.

Referenced by populateInstallHeader().

rpmuint32_t* rpmteOriginTime ( rpmte  te)

Retrieve time that package was first installed.

Parameters
tetransaction element
Returns
origin time

Definition at line 369 of file rpmte.c.

Referenced by populateInstallHeader().

rpmte rpmteParent ( rpmte  te)

Retrieve parent transaction element.

Parameters
tetransaction element
Returns
parent transaction element

Definition at line 434 of file rpmte.c.

Referenced by rpmte_Parent().

rpmuint32_t rpmtePkgFileSize ( rpmte  te)

Retrieve size in bytes of package file.

Todo:
Signature header is estimated at 256b.
Parameters
tetransaction element
Returns
size in bytes of package file.

Definition at line 359 of file rpmte.c.

Referenced by rpmte_PkgFileSize(), and rpmtsOrder().

const char* rpmtePkgid ( rpmte  te)

Retrieve pkgid string from transaction element.

Parameters
tetransaction element
Returns
pkgid string

Definition at line 530 of file rpmte.c.

Referenced by rpmte_Pkgid().

const char* rpmteR ( rpmte  te)

Retrieve release string of transaction element.

Parameters
tetransaction element
Returns
release string

Definition at line 317 of file rpmte.c.

Referenced by ensureOlder(), rpmpsmStage(), rpmte_R(), and rpmtsRun().

int rpmteSetBreadth ( rpmte  te,
int  nbreadth 
)

Set dependency tree breadth of transaction element.

Parameters
tetransaction element
nbreadthnew breadth
Returns
previous breadth

Definition at line 394 of file rpmte.c.

Referenced by rpmtsOrder().

rpmuint32_t rpmteSetColor ( rpmte  te,
rpmuint32_t  color 
)

Set color bits of transaction element.

Parameters
tetransaction element
colornew color bits
Returns
previous color bits

Definition at line 349 of file rpmte.c.

void rpmteSetDBInstance ( rpmte  te,
unsigned int  instance 
)

Set last instance installed to the database.

Parameters
tetransaction element
instanceDatabase instance of last install element.
Returns
last install instance.

Definition at line 271 of file rpmte.c.

Referenced by rpmpsmStage().

int rpmteSetDegree ( rpmte  te,
int  ndegree 
)

Set number of children of transaction element.

Parameters
tetransaction element
ndegreenew number of children
Returns
previous number of children

Definition at line 456 of file rpmte.c.

Referenced by rpmtsOrder().

int rpmteSetDepth ( rpmte  te,
int  ndepth 
)

Set dependency tree depth of transaction element.

Parameters
tetransaction element
ndepthnew depth
Returns
previous depth

Definition at line 379 of file rpmte.c.

Referenced by addRelation(), and rpmtsOrder().

Header rpmteSetHeader ( rpmte  te,
Header  h 
)

Save header into transaction element.

Parameters
tetransaction element
hheader
Returns
NULL always

Definition at line 284 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.

Parameters
tetransaction element
npredsnew no. of predecessors
Returns
previous no. of predecessors

Definition at line 409 of file rpmte.c.

Referenced by rpmtsOrder().

rpmte rpmteSetParent ( rpmte  te,
rpmte  pte 
)

Set parent transaction element.

Parameters
tetransaction element
ptenew parent transaction element
Returns
previous parent transaction element

Definition at line 439 of file rpmte.c.

Referenced by rpmtsOrder().

int rpmteSetTree ( rpmte  te,
int  ntree 
)

Set tree index of transaction element.

Parameters
tetransaction element
ntreenew tree index
Returns
previous tree index

Definition at line 424 of file rpmte.c.

Referenced by rpmtsOrder().

const char* rpmteSourcerpm ( rpmte  te)

Retrieve sourcerpm string from transaction element.

Parameters
tetransaction element
Returns
sourcerpm string

Definition at line 540 of file rpmte.c.

Referenced by rpmtsEraseDebuginfo().

int rpmteTree ( rpmte  te)

Retrieve tree index of transaction element.

Parameters
tetransaction element
Returns
tree index

Definition at line 419 of file rpmte.c.

Referenced by rpmte_Tree(), and rpmtsOrder().

tsortInfo rpmteTSI ( rpmte  te)

Retrieve tsort info for transaction element.

Parameters
tetransaction element
Returns
tsort info

Definition at line 466 of file rpmte.c.

Referenced by addQ(), addRelation(), markLoop(), rpmteFreeTSI(), rpmtsOrder(), and zapRelation().

rpmElementType rpmteType ( rpmte  te)

Retrieve type of transaction element.

Parameters
tetransaction element
Returns
type

Definition at line 297 of file rpmte.c.

Referenced by _processFailedPackage(), addQ(), addRelation(), fsmMapPath(), fsmSetup(), handleOverlappedFiles(), iosmMapPath(), iosmSetup(), rpmfiNew(), rpmfiTypeString(), rpmgiNext(), rpmte_print(), rpmte_TEType(), rpmtsAddInstallElement(), rpmtsOrder(), rpmtsRun(), and zapRelation().

const char* rpmteV ( rpmte  te)

Retrieve version string of transaction element.

Parameters
tetransaction element
Returns
version string

Definition at line 312 of file rpmte.c.

Referenced by ensureOlder(), rpmpsmStage(), rpmte_V(), and rpmtsRun().

rpmtsi rpmtsiFree ( rpmtsi  tsi)

Destroy transaction element iterator.

Parameters
tsitransaction element iterator
Returns
NULL on last dereference

Referenced by addRelation(), markLinkedFailed(), rpmgiFini(), rpmgiNext(), rpmts_iternext(), rpmtsAddInstallElement(), rpmtsCheck(), rpmtsClean(), rpmtsEmpty(), rpmtsOrder(), rpmtsRollback(), and rpmtsRun().

rpmtsi rpmtsiInit ( rpmts  ts)

Create transaction element iterator.

Parameters
tstransaction set
Returns
transaction element iterator

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.

Parameters
tsitransaction element iterator
typetransaction element type selector (0 for any)
Returns
next transaction element of type, NULL on termination

Definition at line 791 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.

Parameters
tsitransaction element iterator
Returns
transaction element index

Definition at line 717 of file rpmte.c.

Referenced by rpmtsOrder(), and rpmtsRun().

rpmtsi XrpmtsiInit ( rpmts  ts,
const char *  fn,
unsigned int  ln 
)

Create transaction element iterator.

Parameters
tstransaction set
fn
ln
Returns
transaction element iterator

Definition at line 751 of file rpmte.c.

References rpmioLinkPoolItem(), rpmtsiGetPool(), rpmtsLink(), and rpmtsNElements().