rpmts.h File Reference
RPMTS Transaction Set API.

Structures and prototypes used for an "rpmts" transaction set. More...

`#include "rpmps.h"`
`#include "rpmsw.h"`
`#include "rpmsx.h"`
`#include <rpmpgp.h>`
Include dependency graph for rpmts.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Macros

#define | _noTransScripts
#define | _noTransTriggers
#define | rpmtsUnlink(_ts, _msg) ((rpmts) rpmioUnlinkPoolItem((rpmioItem)(_ts), _msg, __FILE__, __LINE__))
#define | rpmtsLink(_ts, _msg) ((rpmts) rpmioLinkPoolItem((rpmioItem)(_ts), _msg, __FILE__, __LINE__))
#define | rpmtsFree(_ts) ((rpmts) rpmioFreePoolItem((rpmioItem)(_ts), __FUNCTION__, __FILE__, __LINE__))

## Typedefs

typedef pgpVSFlags | rpmVSFlags
| Bit(s) to control digest and signature verification. More...
typedef enum rpmdepFlags_e | rpmdepFlags
| Bit(s) to control rpmtsCheck() and rpmtsOrder() operation. More...
typedef enum rpmtransFlags_e | rpmtransFlags
| Bit(s) to control rpmtsRun() operation. More...
typedef enum rpmtsOpX_e | rpmtsOpX
| Indices for timestamps. More...
typedef enum rpmTSType_e | rpmTSType
| Transaction Types. More...
typedef enum tsStage_e | tsmStage

## Enumerations

enum

rpmdepFlags_e {
RPMDEPS_FLAG_NONE = 0, RPMDEPS_FLAG_NOUPGRADE = (1 << 0), RPMDEPS_FLAG_NOREQUIRES = (1 << 1), RPMDEPS_FLAG_NOCONFLICTS = (1 << 2),
RPMDEPS_FLAG_NOOBSOLETES = (1 << 3), RPMDEPS_FLAG_NOPARENTDIRS = (1 << 4), RPMDEPS_FLAG_NOLINKTOS = (1 << 5), RPMDEPS_FLAG_ANACONDA = (1 << 6),
RPMDEPS_FLAG_NOSUGGEST = (1 << 7), RPMDEPS_FLAG_ADDINDEPS = (1 << 8), RPMDEPS_FLAG_DEPLOOPS = (1 << 9)
}

| Bit(s) to control rpmtsCheck() and rpmtsOrder() operation. More...

enum

rpmtransFlags_e {
RPMTRANS_FLAG_NONE = 0, RPMTRANS_FLAG_TEST = (1 << 0), RPMTRANS_FLAG_BUILD_PROBS = (1 << 1), RPMTRANS_FLAG_NOSCRIPTS = (1 << 2),
RPMTRANS_FLAG_JUSTDB = (1 << 3), RPMTRANS_FLAG_NOTRIGGERS = (1 << 4), RPMTRANS_FLAG_NODOCS = (1 << 5), RPMTRANS_FLAG_ALLFILES = (1 << 6),
RPMTRANS_FLAG_NOCONTEXTS = (1 << 8), RPMTRANS_FLAG_DIRSTASH = (1 << 9), RPMTRANS_FLAG_REPACKAGE = (1 << 10), RPMTRANS_FLAG_PKGCOMMIT = (1 << 11),
RPMTRANS_FLAG_PKGUNDO = (1 << 12), RPMTRANS_FLAG_COMMIT = (1 << 13), RPMTRANS_FLAG_UNDO = (1 << 14), RPMTRANS_FLAG_APPLYONLY = (1 << 25),
RPMTRANS_FLAG_NOTRIGGERPREIN = (1 << 16), RPMTRANS_FLAG_NOPRE = (1 << 17), RPMTRANS_FLAG_NOPOST = (1 << 18), RPMTRANS_FLAG_NOTRIGGERIN = (1 << 19),
RPMTRANS_FLAG_NOTRIGGERUN = (1 << 20), RPMTRANS_FLAG_NOPREUN = (1 << 21), RPMTRANS_FLAG_NOPOSTUN = (1 << 22), RPMTRANS_FLAG_NOTRIGGERPOSTUN = (1 << 23),
RPMTRANS_FLAG_NOPAYLOAD = (1 << 24), RPMTRANS_FLAG_NORPMDB = (1 << 25), RPMTRANS_FLAG_NOFDIGESTS = (1 << 27), RPMTRANS_FLAG_NOPRETRANS = (1 << 28),
RPMTRANS_FLAG_NOPOSTTRANS = (1 << 29), RPMTRANS_FLAG_NOCONFIGS = (1 << 30)
}

| Bit(s) to control rpmtsRun() operation. 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_READHDR = 17, RPMTS_OP_HDRLOAD = 18, RPMTS_OP_HDRGET = 19,
RPMTS_OP_DEBUG = 20, RPMTS_OP_MAX = 20
}

| Indices for timestamps. More...
enum | rpmTSType_e { RPMTRANS_TYPE_NORMAL = 0, RPMTRANS_TYPE_ROLLBACK = (1 << 0), RPMTRANS_TYPE_AUTOROLLBACK = (1 << 1) }
| Transaction Types. More...
enum | tsStage_e { TSM_UNKNOWN = 0, TSM_INSTALL = 7, TSM_ERASE = 8 }

## Functions

int | rpmtsCheck (rpmts ts)
| Perform dependency resolution on the transaction set. More...
int | rpmtsOrder (rpmts ts)
| Determine package order in a transaction set according to dependencies. More...
int | rpmtsRun (rpmts ts, rpmps okProbs, rpmprobFilterFlags ignoreSet)
| Process all package elements in a transaction set. More...
rpmRC | rpmtsRollback (rpmts rbts, rpmprobFilterFlags ignoreSet, int running, rpmte rbte)
| Rollback a failed transaction. More...
rpmts | rpmtsUnlink (rpmts ts, const char *msg)
| Unreference a transaction instance. More...
rpmts | rpmtsLink (rpmts ts, const char *msg)
| Reference a transaction set instance. More...
int | rpmtsCloseDB (rpmts ts)
| Close the database used by the transaction. More...
int | rpmtsOpenDB (rpmts ts, int dbmode)
| Open the database used by the transaction. More...
int | rpmtsInitDB (rpmts ts, int dbmode)
| Initialize the database used by the transaction. More...
int | rpmtsRebuildDB (rpmts ts)
| Rebuild the database used by the transaction. More...
int | rpmtsVerifyDB (rpmts ts)
| Verify the database used by the transaction. More...
rpmmi | rpmtsInitIterator (const rpmts ts, rpmTag rpmtag, const void *keyp, size_t keylen)
| Return transaction database iterator. More...
rpmRC | rpmtsFindPubkey (rpmts ts, void *_dig)
| Retrieve pubkey from rpm database. More...
int | rpmtsCloseSDB (rpmts ts)
| Close the database used by the transaction to solve dependencies. More...
int | rpmtsOpenSDB (rpmts ts, int dbmode)
| Open the database used by the transaction to solve dependencies. More...
int | rpmtsSolve (rpmts ts, rpmds ds, const void *data)
| Attempt to solve a needed dependency using the solve database. More...
int | rpmtsAvailable (rpmts ts, const rpmds ds)
| Attempt to solve a needed dependency using memory resident tables. More...
int | rpmtsSetSolveCallback (rpmts ts, int(*solve)(rpmts ts, rpmds ds, const void *data), const void *solveData)
| Set dependency solver callback. More...
rpmTSType | rpmtsType (rpmts ts)
| Return the type of a transaction. More...
void | rpmtsSetType (rpmts ts, rpmTSType type)
| Set transaction type. More...
rpmuint32_t | rpmtsARBGoal (rpmts ts)
| Return the autorollback goal. More...
void | rpmtsSetARBGoal (rpmts ts, rpmuint32_t goal)
| Set autorollback goal. More...
rpmps | rpmtsProblems (rpmts ts)
| Return current transaction set problems. More...
void | rpmtsCleanDig (rpmts ts)
| Free signature verification data. More...
void | rpmtsClean (rpmts ts)
| Free memory needed only for dependency checks and ordering. More...
void | rpmtsEmpty (rpmts ts)
| Re-create an empty transaction set. More...
rpmts | rpmtsFree (rpmts ts)
| Destroy transaction set, closing the database as well. More...
void * | rpmtsGetKeyring (rpmts ts, int autoload)
| Get transaction keyring. More...
int | rpmtsSetKeyring (rpmts ts, void *_keyring)
| Set transaction keyring. More...
rpmVSFlags | rpmtsVSFlags (rpmts ts)
| Get verify signatures flag(s). More...
rpmVSFlags | rpmtsSetVSFlags (rpmts ts, rpmVSFlags vsflags)
| Set verify signatures flag(s). More...
int | rpmtsUnorderedSuccessors (rpmts ts, int first)
| Set index of 1st element of successors. More...
const char * | rpmtsRootDir (rpmts ts)
| Get transaction rootDir, i.e. More...
void | rpmtsSetRootDir (rpmts ts, const char *rootDir)
| Set transaction rootDir, i.e. More...
const char * | rpmtsCurrDir (rpmts ts)
| Get transaction currDir, i.e. More...
void | rpmtsSetCurrDir (rpmts ts, const char *currDir)
| Set transaction currDir, i.e. More...
int | rpmtsSELinuxEnabled (rpmts ts)
| Get selinuxEnabled flag, i.e. More...
int | rpmtsChrootDone (rpmts ts)
| Get chrootDone flag, i.e. More...
int | rpmtsSetChrootDone (rpmts ts, int chrootDone)
| Set chrootDone flag, i.e. More...
rpmuint32_t | rpmtsGetTid (rpmts ts)
| Get transaction id, i.e. More...
rpmuint32_t | rpmtsSetTid (rpmts ts, rpmuint32_t tid)
| Set transaction id, i.e. More...
pgpDig | rpmtsDig (rpmts ts)
| Get OpenPGP packet parameters, i.e. More...
pgpDigParams | rpmtsPubkey (const rpmts ts)
| Return OpenPGP pubkey constants. More...
rpmdb | rpmtsGetRdb (rpmts ts)
| Get transaction set database handle. More...
rpmPRCO | rpmtsPRCO (rpmts ts)
| Get transaction set dependencies. More...
int | rpmtsInitDSI (const rpmts ts)
| Initialize disk space info for each and every mounted file systems. More...
void | rpmtsUpdateDSI (const rpmts ts, dev_t dev, rpmuint32_t fileSize, rpmuint32_t prevSize, rpmuint32_t fixupSize, int _action)
| Update disk space info for a file. More...
void | rpmtsCheckDSIProblems (const rpmts ts, const rpmte te)
| Check a transaction element for disk space problems. More...
void * | rpmtsNotify (rpmts ts, rpmte te, rpmCallbackType what, rpmuint64_t amount, rpmuint64_t total)
| Perform transaction progress notify callback. More...
int | rpmtsNElements (rpmts ts)
| Return number of (ordered) transaction set elements. More...
rpmte | rpmtsElement (rpmts ts, int ix)
| Return (ordered) transaction set element. More...
rpmprobFilterFlags | rpmtsFilterFlags (rpmts ts)
| Get problem ignore bit mask, i.e. More...
rpmtransFlags | rpmtsFlags (rpmts ts)
| Get transaction flags, i.e. More...
rpmtransFlags | rpmtsSetFlags (rpmts ts, rpmtransFlags transFlags)
| Set transaction flags, i.e. More...
rpmdepFlags | rpmtsDFlags (rpmts ts)
| Get dependency flags, i.e. More...
rpmdepFlags | rpmtsSetDFlags (rpmts ts, rpmdepFlags depFlags)
| Set dependency flags, i.e. More...
Spec | rpmtsSpec (rpmts ts)
| Get spec control structure from transaction set. More...
Spec | rpmtsSetSpec (rpmts ts, Spec spec)
| Set a spec control structure in transaction set. More...
rpmte | rpmtsRelocateElement (rpmts ts)
| Get current relocate transaction element. More...
rpmte | rpmtsSetRelocateElement (rpmts ts, rpmte relocateElement)
| Set current relocate transaction element. More...
tsmStage | rpmtsGoal (rpmts ts)
| Retrieve goal of transaction set. More...
tsmStage | rpmtsSetGoal (rpmts ts, tsmStage goal)
| Set goal of transaction set. More...
int | rpmtsDBMode (rpmts ts)
| Retrieve dbmode of transaction set. More...
int | rpmtsSetDBMode (rpmts ts, int dbmode)
| Set dbmode of transaction set. More...
rpmuint32_t | rpmtsColor (rpmts ts)
| Retrieve color bits of transaction set. More...
rpmuint32_t | rpmtsPrefColor (rpmts ts)
| Retrieve prefered file color. More...
rpmuint32_t | rpmtsSetColor (rpmts ts, rpmuint32_t color)
| Set color bits of transaction set. More...
rpmop | rpmtsOp (rpmts ts, rpmtsOpX opx)
| Retrieve operation timestamp from a transaction set. More...
int | rpmtsSetNotifyCallback (rpmts ts, rpmCallbackFunction notify, rpmCallbackData notifyData)
| Set transaction notify callback function and argument. More...
rpmts | rpmtsCreate (void)
| Create an empty transaction set. More...
int | rpmtsAddInstallElement (rpmts ts, Header h, const fnpyKey key, int upgrade, rpmRelocation relocs)
| Add package to be installed to transaction set. More...
int | rpmtsAddEraseElement (rpmts ts, Header h, int dboffset)
| Add package to be erased to transaction set. More...

## Variables

int | _rpmts_debug
int | _rpmts_macros
int | _rpmts_stats
int | _fps_debug
int | rpmcliPackagesTotal

## Detailed Description

Structures and prototypes used for an "rpmts" transaction set.

Definition in file rpmts.h.

## Macro Definition Documentation

#define _noTransScripts

Value:
( RPMTRANS_FLAG_NOPRETRANS | \
RPMTRANS_FLAG_NOPRE | \
RPMTRANS_FLAG_NOPOST | \
RPMTRANS_FLAG_NOPREUN | \
RPMTRANS_FLAG_NOPOSTUN | \
RPMTRANS_FLAG_NOPOSTTRANS \
)

Definition at line 96 of file rpmts.h.

Referenced by installArgCallback(), main(), and rpmtsRun().

#define _noTransTriggers

Value:
( RPMTRANS_FLAG_NOTRIGGERPREIN | \
RPMTRANS_FLAG_NOTRIGGERIN | \
RPMTRANS_FLAG_NOTRIGGERUN | \
RPMTRANS_FLAG_NOTRIGGERPOSTUN \
)

Definition at line 105 of file rpmts.h.

Referenced by installArgCallback(), main(), and rpmtsRun().

#define rpmtsFree | ( |  | _ts | ) | ((rpmts) rpmioFreePoolItem((rpmioItem)(_ts), __FUNCTION__, __FILE__, __LINE__))

Definition at line 636 of file rpmts.h.

#define rpmtsLink | ( |  | _ts,
|  |  | _msg
| ) |  | ((rpmts) rpmioLinkPoolItem((rpmioItem)(_ts), _msg, __FILE__, __LINE__))

Definition at line 420 of file rpmts.h.

#define rpmtsUnlink | ( |  | _ts,
|  |  | _msg
| ) |  | ((rpmts) rpmioUnlinkPoolItem((rpmioItem)(_ts), _msg, __FILE__, __LINE__))

Definition at line 408 of file rpmts.h.

## Variable Documentation

int _fps_debug

Definition at line 308 of file transaction.c.

int _rpmts_debug

Definition at line 83 of file rpmts.c.

int _rpmts_macros

Definition at line 89 of file rpmts.c.

int _rpmts_stats

Definition at line 86 of file rpmts.c.

int rpmcliPackagesTotal

Definition at line 40 of file rpminstall.c.