rpm 5.2.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

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.
typedef struct rpmtsi_s * | rpmtsi
| Transaction element iterator.
typedef enum rpmElementType_e | rpmElementType
| Transaction element type.
typedef struct rpmte_s * | rpmte
| An element of a transaction set, i.e.

## 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.
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.
rpmuint32_t | rpmteColor (rpmte te)
| Retrieve color bits of transaction element.
rpmuint32_t | rpmteSetColor (rpmte te, rpmuint32_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.
rpmuint32_t | rpmtePkgFileSize (rpmte te)
| Retrieve size in bytes of package file.
rpmuint32_t * | rpmteOriginTid (rpmte te)
| Retrieve transaction start time that package was first installed.
rpmuint32_t * | rpmteOriginTime (rpmte te)
| Retrieve time that package was first installed.
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.
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.
const char * | rpmteSourcerpm (rpmte te)
| Retrieve sourcerpm 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 | 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 Documentation

typedef enum rpmElementType_e rpmElementType

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

enum rpmElementType_e

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:

  te | transaction 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:

  te | transaction 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:

  p | installed element (needs backward link)
  q | erased element (needs forward link)
  oh | erased element header
  msg | operation 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:

  te | transaction 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:

  te | transaction 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:

  te | transaction element
  tag | dependency 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:

  te | transaction 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:

  te | transaction 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:

  te | transaction 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:

  te | transaction 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:

  te | transaction element
  tag | dependency 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:

  te | transaction 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:

  te | transaction 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:

  te | transaction element
  tag | file 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:

  te | transaction 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:

  te | transaction 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:

  te | transaction 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:

  te | transaction 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:

  te | transaction 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:

  te | transaction 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:

  te | transaction 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:

  te | transaction 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:

  te | transaction 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:

  te | transaction 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:

  te | transaction 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:

  te | transaction 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:

  te | transaction element

Returns:
  origin time

Definition at line 369 of file rpmte.c.

Referenced by populateInstallHeader().

rpmte rpmteParent | ( | rpmte | te | ) |

Retrieve parent transaction element.

Parameters:

  te | transaction 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:

  te | transaction 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:

  te | transaction 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:

  te | transaction 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:

  te | transaction element
  nbreadth | new 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:

  te | transaction element
  color | new 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:

  te | transaction element
  instance | Database 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:

  te | transaction element
  ndegree | new 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:

  te | transaction element
  ndepth | new 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:

  te | transaction element
  h | header

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:

  te | transaction element
  npreds | new 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:

  te | transaction element
  pte | new 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:

  te | transaction element
  ntree | new 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:

  te | transaction 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:

  te | transaction 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:

  te | transaction 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:

  te | transaction 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:

  te | transaction 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:

  tsi | transaction 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:

  ts | transaction 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:

  tsi | transaction element iterator
  type | transaction 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:

  tsi | transaction 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:

  ts | transaction set
  fn |
  ln |

Returns:
  transaction element iterator

Definition at line 751 of file rpmte.c.

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