rpmts.h File Reference
Transaction Set API.

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

`#include <sys/types.h>`
`#include <rpm/rpmtypes.h>`
`#include <rpm/rpmte.h>`
`#include <rpm/rpmps.h>`
`#include <rpm/rpmsw.h>`
`#include <rpm/rpmpgp.h>`
`#include <rpm/rpmfi.h>`
`#include <rpm/rpmcallback.h>`
Include dependency graph for rpmts.h:

Go to the source code of this file.

## Macros

#define | _noTransScripts
#define | _noTransTriggers
#define | RPMTRANS_FLAG_NOPAYLOAD 0
#define | RPMTRANS_FLAG_APPLYONLY 0
#define | RPMTRANS_FLAG_KEEPOBSOLETE 0
#define | RPMTRANS_FLAG_DIRSTASH 0
#define | RPMTRANS_FLAG_REPACKAGE 0
#define | RPMTRANS_FLAG_PKGCOMMIT 0
#define | RPMTRANS_FLAG_PKGUNDO 0
#define | RPMTRANS_FLAG_COMMIT 0
#define | RPMTRANS_FLAG_UNDO 0
#define | RPMTRANS_FLAG_REVERSE 0
#define | RPMTRANS_FLAG_NOSUGGEST 0
#define | RPMTRANS_FLAG_ADDINDEPS 0
#define | _RPMVSF_NODIGESTS
#define | _RPMVSF_NOSIGNATURES
#define | _RPMVSF_NOHEADER
#define | _RPMVSF_NOPAYLOAD

## Typedefs

typedef rpmFlags | rpmtransFlags
typedef rpmFlags | rpmVSFlags
typedef enum rpmtsOpX_e | rpmtsOpX
| Indices for timestamps. More...
typedef rpmFlags | rpmtxnFlags

## Enumerations

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_NOPLUGINS = (1 << 7), RPMTRANS_FLAG_NOCONTEXTS = (1 << 8), 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_NOPRETRANS = (1 << 24), RPMTRANS_FLAG_NOPOSTTRANS = (1 << 25),
RPMTRANS_FLAG_NOMD5 = (1 << 27), RPMTRANS_FLAG_NOFILEDIGEST = (1 << 27), RPMTRANS_FLAG_NOCONFIGS = (1 << 30), RPMTRANS_FLAG_DEPLOOPS = (1 << 31)
}

| Bit(s) to control rpmtsRun() operation. More...
enum | rpmVSFlags_e { RPMVSF_DEFAULT = 0, RPMVSF_NOHDRCHK = (1 << 0), RPMVSF_NEEDPAYLOAD = (1 << 1), RPMVSF_NOSHA1HEADER = (1 << 8), RPMVSF_NOMD5HEADER = (1 << 9), RPMVSF_NODSAHEADER = (1 << 10), RPMVSF_NORSAHEADER = (1 << 11), RPMVSF_NOSHA1 = (1 << 16), RPMVSF_NOMD5 = (1 << 17), RPMVSF_NODSA = (1 << 18), RPMVSF_NORSA = (1 << 19) }
| Bit(s) to control digest and signature verification. More...
enum | rpmtsOpX_e { RPMTS_OP_TOTAL = 0, RPMTS_OP_CHECK = 1, RPMTS_OP_ORDER = 2, RPMTS_OP_FINGERPRINT = 3, 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_MAX = 17 }
| Indices for timestamps. More...
enum | rpmtxnFlags_e { RPMTXN_READ = (1 << 0), RPMTXN_WRITE = (1 << 1) }

## 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...
rpmts | rpmtsLink (rpmts ts)
| 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 | rpmtsGetDBMode (rpmts ts)
| Return the transaction database mode. More...
int | rpmtsSetDBMode (rpmts ts, int dbmode)
| Set the transaction database mode. 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...
rpmdbMatchIterator | rpmtsInitIterator (const rpmts ts, rpmDbiTagVal rpmtag, const void *keyp, size_t keylen)
| Return transaction database iterator. More...
rpmRC | rpmtsImportHeader (rpmtxn txn, Header h, rpmFlags flags)
| Import a header into the rpmdb. More...
rpmRC | rpmtsImportPubkey (rpmts ts, const unsigned char *pkt, size_t pktlen)
| Import public key packet(s). More...
rpmKeyring | rpmtsGetKeyring (rpmts ts, int autoload)
| Retrieve handle for keyring used for this transaction set. More...
int | rpmtsSetKeyring (rpmts ts, rpmKeyring keyring)
| Set keyring to use for this transaction set. More...
int | rpmtsSetSolveCallback (rpmts ts, int(*solve)(rpmts ts, rpmds ds, const void *data), const void *solveData)
| Set dependency solver callback. More...
rpmps | rpmtsProblems (rpmts ts)
| Return current transaction set problems. More...
void | rpmtsCleanProblems (rpmts ts)
| Clean current transaction problem set. 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...
rpmVSFlags | rpmtsVSFlags (rpmts ts)
| Get verify signatures flag(s). More...
rpmVSFlags | rpmtsSetVSFlags (rpmts ts, rpmVSFlags vsflags)
| Set verify signatures flag(s). More...
const char * | rpmtsRootDir (rpmts ts)
| Get transaction rootDir, i.e. More...
int | rpmtsSetRootDir (rpmts ts, const char *rootDir)
| Set transaction rootDir, i.e. More...
FD_t | rpmtsScriptFd (rpmts ts)
| Get transaction script file handle, i.e. More...
void | rpmtsSetScriptFd (rpmts ts, FD_t scriptFd)
| Set transaction script file handle, i.e. More...
rpm_tid_t | rpmtsGetTid (rpmts ts)
| Get transaction id, i.e. More...
rpm_tid_t | rpmtsSetTid (rpmts ts, rpm_tid_t tid)
| Set transaction id, i.e. More...
rpmdb | rpmtsGetRdb (rpmts ts)
| Get transaction set database handle. More...
void * | rpmtsNotify (rpmts ts, rpmte te, rpmCallbackType what, rpm_loff_t amount, rpm_loff_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...
rpm_color_t | rpmtsColor (rpmts ts)
| Retrieve color bits of transaction set. More...
rpm_color_t | rpmtsPrefColor (rpmts ts)
| Retrieve preferred file color. More...
rpm_color_t | rpmtsSetColor (rpmts ts, rpm_color_t color)
| Set color bits of transaction set. More...
rpm_color_t | rpmtsSetPrefColor (rpmts ts, rpm_color_t color)
| Set preferred file color. More...
rpmop | rpmtsOp (rpmts ts, rpmtsOpX opx)
| Retrieve operation timestamp from a transaction set. More...
rpmPlugins | rpmtsPlugins (rpmts ts)
| Get the plugins associated with 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 | rpmtsAddReinstallElement (rpmts ts, Header h, const fnpyKey key)
| Add package to be reinstalled to transaction set. More...
int | rpmtsAddEraseElement (rpmts ts, Header h, int dboffset)
| Add package to be erased to transaction set. More...
rpmtxn | rpmtxnBegin (rpmts ts, rpmtxnFlags flags)
| Create a transaction (lock) handle. More...
rpmtxn | rpmtxnEnd (rpmtxn txn)
| Destroy transaction (lock) handle. More...
rpmtsi | rpmtsiFree (rpmtsi tsi)
| Destroy transaction element iterator. More...
rpmtsi | rpmtsiInit (rpmts ts)
| Create transaction element iterator. More...
rpmte | rpmtsiNext (rpmtsi tsi, rpmElementTypes types)
| Return next transaction element of type. More...

## Variables

int | _rpmts_stats

## Detailed Description

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

Definition in file rpmts.h.

## Macro Definition Documentation

#define _noTransScripts

Value:
( RPMTRANS_FLAG_NOPRE | \
RPMTRANS_FLAG_NOPOST | \
RPMTRANS_FLAG_NOPREUN | \
RPMTRANS_FLAG_NOPOSTUN | \
RPMTRANS_FLAG_NOPRETRANS | \
RPMTRANS_FLAG_NOPOSTTRANS \
)
RPMTRANS_FLAG_NOPREUN
Definition: rpmts.h:45
RPMTRANS_FLAG_NOPOST
Definition: rpmts.h:42
RPMTRANS_FLAG_NOPOSTUN
Definition: rpmts.h:46
RPMTRANS_FLAG_NOPRE
Definition: rpmts.h:41
RPMTRANS_FLAG_NOPRETRANS
Definition: rpmts.h:48
RPMTRANS_FLAG_NOPOSTTRANS
Definition: rpmts.h:49

Definition at line 60 of file rpmts.h.

Referenced by main().

#define _noTransTriggers

Value:
( RPMTRANS_FLAG_NOTRIGGERPREIN | \
RPMTRANS_FLAG_NOTRIGGERIN | \
RPMTRANS_FLAG_NOTRIGGERUN | \
RPMTRANS_FLAG_NOTRIGGERPOSTUN \
)
RPMTRANS_FLAG_NOTRIGGERIN
Definition: rpmts.h:43
RPMTRANS_FLAG_NOTRIGGERUN
Definition: rpmts.h:44
RPMTRANS_FLAG_NOTRIGGERPREIN
Definition: rpmts.h:40
RPMTRANS_FLAG_NOTRIGGERPOSTUN
Definition: rpmts.h:47

Definition at line 69 of file rpmts.h.

Referenced by main().

#define _RPMVSF_NODIGESTS

Value:
( RPMVSF_NOSHA1HEADER | \
RPMVSF_NOMD5HEADER | \
RPMVSF_NOSHA1 | \
RPMVSF_NOMD5 )
RPMVSF_NOMD5
Definition: rpmts.h:104
RPMVSF_NOMD5HEADER
Definition: rpmts.h:99
RPMVSF_NOSHA1HEADER
Definition: rpmts.h:98
RPMVSF_NOSHA1
Definition: rpmts.h:103

Definition at line 112 of file rpmts.h.

Referenced by build(), and main().

#define _RPMVSF_NOHEADER

Value:
( RPMVSF_NOSHA1HEADER | \
RPMVSF_NOMD5HEADER | \
RPMVSF_NODSAHEADER | \
RPMVSF_NORSAHEADER )
RPMVSF_NODSAHEADER
Definition: rpmts.h:100
RPMVSF_NOMD5HEADER
Definition: rpmts.h:99
RPMVSF_NOSHA1HEADER
Definition: rpmts.h:98
RPMVSF_NORSAHEADER
Definition: rpmts.h:101

Definition at line 124 of file rpmts.h.

#define _RPMVSF_NOPAYLOAD

Value:
( RPMVSF_NOSHA1 | \
RPMVSF_NOMD5 | \
RPMVSF_NODSA | \
RPMVSF_NORSA )
RPMVSF_NOMD5
Definition: rpmts.h:104
RPMVSF_NORSA
Definition: rpmts.h:106
RPMVSF_NOSHA1
Definition: rpmts.h:103
RPMVSF_NODSA
Definition: rpmts.h:105

Definition at line 130 of file rpmts.h.

#define _RPMVSF_NOSIGNATURES

Value:
( RPMVSF_NODSAHEADER | \
RPMVSF_NORSAHEADER | \
RPMVSF_NODSA | \
RPMVSF_NORSA )
RPMVSF_NODSAHEADER
Definition: rpmts.h:100
RPMVSF_NORSAHEADER
Definition: rpmts.h:101
RPMVSF_NORSA
Definition: rpmts.h:106
RPMVSF_NODSA
Definition: rpmts.h:105

Definition at line 118 of file rpmts.h.

Referenced by build(), and main().

#define RPMTRANS_FLAG_ADDINDEPS 0

Definition at line 88 of file rpmts.h.

#define RPMTRANS_FLAG_APPLYONLY 0

Definition at line 78 of file rpmts.h.

#define RPMTRANS_FLAG_COMMIT 0

Definition at line 84 of file rpmts.h.

#define RPMTRANS_FLAG_DIRSTASH 0

Definition at line 80 of file rpmts.h.

#define RPMTRANS_FLAG_KEEPOBSOLETE 0

Definition at line 79 of file rpmts.h.

#define RPMTRANS_FLAG_NOPAYLOAD 0

Definition at line 77 of file rpmts.h.

#define RPMTRANS_FLAG_NOSUGGEST 0

Definition at line 87 of file rpmts.h.

#define RPMTRANS_FLAG_PKGCOMMIT 0

Definition at line 82 of file rpmts.h.

#define RPMTRANS_FLAG_PKGUNDO 0

Definition at line 83 of file rpmts.h.

#define RPMTRANS_FLAG_REPACKAGE 0

Definition at line 81 of file rpmts.h.

#define RPMTRANS_FLAG_REVERSE 0

Definition at line 86 of file rpmts.h.

#define RPMTRANS_FLAG_UNDO 0

Definition at line 85 of file rpmts.h.

## Typedef Documentation

typedef rpmFlags rpmtransFlags

Definition at line 58 of file rpmts.h.

typedef rpmFlags rpmtxnFlags

Definition at line 163 of file rpmts.h.

typedef rpmFlags rpmVSFlags

Definition at line 110 of file rpmts.h.

## Enumeration Type Documentation

enum rpmtxnFlags_e

Enumerator
RPMTXN_READ |
RPMTXN_WRITE |

Definition at line 159 of file rpmts.h.

## Variable Documentation

int _rpmts_stats