Transaction Set API.
(un)Installing packages:

How to create, run & destroy a package transaction. More...

Collaboration diagram for Transaction Set API.:

## Files

file | rpmte.h
| Structures used for an "rpmte" transaction element.
file | rpmts.h
| Structures and prototypes used for an "rpmts" transaction set.

## Typedefs

typedef void *(* | rpmCallbackFunction) (const void *h, const rpmCallbackType what, const rpm_loff_t amount, const rpm_loff_t total, fnpyKey key, rpmCallbackData data)
| Function pointer type for rpmtsSetNotifyCallback() triggered by rpmtsNotify() More...
typedef enum rpmtsOpX_e | rpmtsOpX
| Indices for timestamps. More...

## 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_NOCAPS = (1 << 9), 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_NOSHA256HEADER = (1 << 9), RPMVSF_NODSAHEADER = (1 << 10), RPMVSF_NORSAHEADER = (1 << 11), RPMVSF_NOPAYLOAD = (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_VERIFY = 17, RPMTS_OP_MAX = 18
}

| Indices for timestamps. More...

## 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...
rpmVSFlags | rpmtsVfyFlags (rpmts ts)
| Get package verify flag(s). More...
rpmVSFlags | rpmtsSetVfyFlags (rpmts ts, rpmVSFlags vfyflags)
| Set package verify flag(s). More...
int | rpmtsVfyLevel (rpmts ts)
| Get enforced package verify level. More...
int | rpmtsSetVfyLevel (rpmts ts, int vfylevel)
| Set enforced package verify level. 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...

## Detailed Description

How to create, run & destroy a package transaction.

## Typedef Documentation

## rpmCallbackFunction

typedef void*(* rpmCallbackFunction) (const void *h, const rpmCallbackType what, const rpm_loff_t amount, const rpm_loff_t total, fnpyKey key, rpmCallbackData data)

Function pointer type for rpmtsSetNotifyCallback() triggered by rpmtsNotify()

Parameters

  h | related header or NULL
  what | kind of notification (See RPMCALLBACK_ constants above)
  amount | number of bytes/packages already processed or tag of the scriptlet involved or 0 or some other number
  total | total number of bytes/packages to be processed or return code of the scriptlet or 0
  key | result of rpmteKey() of related rpmte or 0
  data | user data as passed to rpmtsSetNotifyCallback()

Definition at line 61 of file rpmcallback.h.

## rpmtsOpX

typedef enum rpmtsOpX_e rpmtsOpX

Indices for timestamps.

## Enumeration Type Documentation

## rpmtransFlags_e

enum rpmtransFlags_e

Bit(s) to control rpmtsRun() operation.

Enumerator
RPMTRANS_FLAG_NONE |
RPMTRANS_FLAG_TEST | from –test
RPMTRANS_FLAG_BUILD_PROBS | don't process payload
RPMTRANS_FLAG_NOSCRIPTS | from –noscripts
RPMTRANS_FLAG_JUSTDB | from –justdb
RPMTRANS_FLAG_NOTRIGGERS | from –notriggers
RPMTRANS_FLAG_NODOCS | from –excludedocs
RPMTRANS_FLAG_ALLFILES | from –allfiles
RPMTRANS_FLAG_NOPLUGINS | from –noplugins
RPMTRANS_FLAG_NOCONTEXTS | from –nocontexts
RPMTRANS_FLAG_NOCAPS | from –nocaps
RPMTRANS_FLAG_NOTRIGGERPREIN | from –notriggerprein
RPMTRANS_FLAG_NOPRE | from –nopre
RPMTRANS_FLAG_NOPOST | from –nopost
RPMTRANS_FLAG_NOTRIGGERIN | from –notriggerin
RPMTRANS_FLAG_NOTRIGGERUN | from –notriggerun
RPMTRANS_FLAG_NOPREUN | from –nopreun
RPMTRANS_FLAG_NOPOSTUN | from –nopostun
RPMTRANS_FLAG_NOTRIGGERPOSTUN | from –notriggerpostun
RPMTRANS_FLAG_NOPRETRANS | from –nopretrans
RPMTRANS_FLAG_NOPOSTTRANS | from –noposttrans
RPMTRANS_FLAG_NOMD5 | from –nomd5
RPMTRANS_FLAG_NOFILEDIGEST | from –nofiledigest (alias to –nomd5)
RPMTRANS_FLAG_NOCONFIGS | from –noconfigs
RPMTRANS_FLAG_DEPLOOPS | from –deploops

Definition at line 28 of file rpmts.h.

## rpmtsOpX_e

enum rpmtsOpX_e

Indices for timestamps.

Enumerator
RPMTS_OP_TOTAL |
RPMTS_OP_CHECK |
RPMTS_OP_ORDER |
RPMTS_OP_FINGERPRINT |
RPMTS_OP_INSTALL |
RPMTS_OP_ERASE |
RPMTS_OP_SCRIPTLETS |
RPMTS_OP_COMPRESS |
RPMTS_OP_UNCOMPRESS |
RPMTS_OP_DIGEST |
RPMTS_OP_SIGNATURE |
RPMTS_OP_DBADD |
RPMTS_OP_DBREMOVE |
RPMTS_OP_DBGET |
RPMTS_OP_DBPUT |
RPMTS_OP_DBDEL |
RPMTS_OP_VERIFY |
RPMTS_OP_MAX |

Definition at line 153 of file rpmts.h.

## rpmVSFlags_e

enum rpmVSFlags_e

Bit(s) to control digest and signature verification.

Enumerator
RPMVSF_DEFAULT |
RPMVSF_NOHDRCHK |
RPMVSF_NEEDPAYLOAD |
RPMVSF_NOSHA1HEADER |
RPMVSF_NOSHA256HEADER |
RPMVSF_NODSAHEADER |
RPMVSF_NORSAHEADER |
RPMVSF_NOPAYLOAD |
RPMVSF_NOMD5 |
RPMVSF_NODSA |
RPMVSF_NORSA |

Definition at line 94 of file rpmts.h.

## Function Documentation

## rpmtsAddEraseElement()

int rpmtsAddEraseElement | ( | rpmts | ts,
|  | Header | h,
|  | int | dboffset
| ) |  |

Add package to be erased to transaction set.

Parameters

  ts | transaction set
  h | header
  dboffset | ununsed

Returns
  0 on success, 1 on error (not installed)

## rpmtsAddInstallElement()

int rpmtsAddInstallElement | ( | rpmts | ts,
|  | Header | h,
|  | const fnpyKey | key,
|  | int | upgrade,
|  | rpmRelocation * | relocs
| ) |  |

Add package to be installed to transaction set.

The transaction set is checked for duplicate package names. If found, the package with the "newest" EVR will be replaced.

Parameters

  ts | transaction set
  h | header
  key | package retrieval key (e.g. file name)
  upgrade | is package being upgraded?
  relocs | package file relocations

Returns
  0 on success, 1 on I/O error, 2 needs capabilities

## rpmtsAddReinstallElement()

int rpmtsAddReinstallElement | ( | rpmts | ts,
|  | Header | h,
|  | const fnpyKey | key
| ) |  |

Add package to be reinstalled to transaction set.

Parameters

  ts | transaction set
  h | header
  key | package retrieval key (e.g. file name)

Returns
  0 on success

## rpmtsCheck()

int rpmtsCheck | ( | rpmts | ts | ) |

Perform dependency resolution on the transaction set.

Any problems found by rpmtsCheck() can be examined by retrieving the problem set with rpmtsProblems(), success here only means that the resolution was successfully attempted for all packages in the set.

Parameters

  ts | transaction set

Returns
  0 on success

## rpmtsClean()

void rpmtsClean | ( | rpmts | ts | ) |

Free memory needed only for dependency checks and ordering.

Parameters

  ts | transaction set

## rpmtsCleanProblems()

void rpmtsCleanProblems | ( | rpmts | ts | ) |

Clean current transaction problem set.

Parameters

  ts | transaction set

## rpmtsCloseDB()

int rpmtsCloseDB | ( | rpmts | ts | ) |

Close the database used by the transaction.

Parameters

  ts | transaction set

Returns
  0 on success

## rpmtsColor()

rpm_color_t rpmtsColor | ( | rpmts | ts | ) |

Retrieve color bits of transaction set.

Parameters

  ts | transaction set

Returns
  color bits

## rpmtsCreate()

rpmts rpmtsCreate | ( | void |  | ) |

Create an empty transaction set.

Returns
  new transaction set

## rpmtsElement()

rpmte rpmtsElement | ( | rpmts | ts,
|  | int | ix
| ) |  |

Return (ordered) transaction set element.

Parameters

  ts | transaction set
  ix | transaction element index

Returns
  transaction element (or NULL)

## rpmtsEmpty()

void rpmtsEmpty | ( | rpmts | ts | ) |

Re-create an empty transaction set.

Parameters

  ts | transaction set

## rpmtsFilterFlags()

rpmprobFilterFlags rpmtsFilterFlags | ( | rpmts | ts | ) |

Get problem ignore bit mask, i.e.

bits to filter encountered problems.

Parameters

  ts | transaction set

Returns
  ignore bit mask

## rpmtsFlags()

rpmtransFlags rpmtsFlags | ( | rpmts | ts | ) |

Get transaction flags, i.e.

bits that control rpmtsRun().

Parameters

  ts | transaction set

Returns
  transaction flags

## rpmtsFree()

rpmts rpmtsFree | ( | rpmts | ts | ) |

Destroy transaction set, closing the database as well.

Parameters

  ts | transaction set

Returns
  NULL always

## rpmtsGetDBMode()

int rpmtsGetDBMode | ( | rpmts | ts | ) |

Return the transaction database mode.

Parameters

  ts | transaction set

Returns
  O_RDONLY, O_RDWR or -1 (lazy opens disabled)

## rpmtsGetKeyring()

rpmKeyring rpmtsGetKeyring | ( | rpmts | ts,
|  | int | autoload
| ) |  |

Retrieve handle for keyring used for this transaction set.

Parameters

  ts | transaction set
  autoload | load default keyring if keyring is not set

Returns
  keyring handle (or NULL)

## rpmtsGetRdb()

rpmdb rpmtsGetRdb | ( | rpmts | ts | ) |

Get transaction set database handle.

Parameters

  ts | transaction set

Returns
  transaction database handle

## rpmtsGetTid()

rpm_tid_t rpmtsGetTid | ( | rpmts | ts | ) |

Get transaction id, i.e.

transaction time stamp.

Parameters

  ts | transaction set

Returns
  transaction id

## rpmtsImportHeader()

rpmRC rpmtsImportHeader | ( | rpmtxn | txn,
|  | Header | h,
|  | rpmFlags | flags
| ) |  |

Import a header into the rpmdb.

Parameters

  txn | transaction handle
  h | header
  flags | (unused)

Returns
  RPMRC_OK/RPMRC_FAIL

## rpmtsImportPubkey()

rpmRC rpmtsImportPubkey | ( | rpmts | ts,
|  | const unsigned char * | pkt,
|  | size_t | pktlen
| ) |  |

Import public key packet(s).

Todo:
  Implicit –update policy for gpg-pubkey headers.

Parameters

  ts | transaction set
  pkt | pgp pubkey packet(s)
  pktlen | pgp pubkey length

Returns
  RPMRC_OK/RPMRC_FAIL

## rpmtsInitDB()

int rpmtsInitDB | ( | rpmts | ts,
|  | int | dbmode
| ) |  |

Initialize the database used by the transaction.

Deprecated:
  An explicit rpmdbInit() is almost never needed.

Parameters

  ts | transaction set
  dbmode | O_RDONLY or O_RDWR

Returns
  0 on success

## rpmtsInitIterator()

rpmdbMatchIterator rpmtsInitIterator | ( | const rpmts | ts,
|  | rpmDbiTagVal | rpmtag,
|  | const void * | keyp,
|  | size_t | keylen
| ) |  |

Return transaction database iterator.

Parameters

  ts | transaction set
  rpmtag | database index tag
  keyp | key data (NULL for sequential access)
  keylen | key data length (0 will use strlen(keyp))

Returns
  NULL on failure

## rpmtsLink()

rpmts rpmtsLink | ( | rpmts | ts | ) |

Reference a transaction set instance.

Parameters

  ts | transaction set

Returns
  new transaction set reference

## rpmtsNElements()

int rpmtsNElements | ( | rpmts | ts | ) |

Return number of (ordered) transaction set elements.

Parameters

  ts | transaction set

Returns
  no. of transaction set elements

## rpmtsNotify()

void* rpmtsNotify | ( | rpmts | ts,
|  | rpmte | te,
|  | rpmCallbackType | what,
|  | rpm_loff_t | amount,
|  | rpm_loff_t | total
| ) |  |

Perform transaction progress notify callback.

Parameters

  ts | transaction set
  te | current transaction element
  what | type of call back
  amount | current value
  total | final value

Returns
  callback dependent pointer

## rpmtsOp()

rpmop rpmtsOp | ( | rpmts | ts,
|  | rpmtsOpX | opx
| ) |  |

Retrieve operation timestamp from a transaction set.

Parameters

  ts | transaction set
  opx | operation timestamp index

Returns
  pointer to operation timestamp.

## rpmtsOpenDB()

int rpmtsOpenDB | ( | rpmts | ts,
|  | int | dbmode
| ) |  |

Open the database used by the transaction.

Parameters

  ts | transaction set
  dbmode | O_RDONLY or O_RDWR

Returns
  0 on success

## rpmtsOrder()

int rpmtsOrder | ( | rpmts | ts | ) |

Determine package order in a transaction set according to dependencies.

Order packages, returning error if circular dependencies cannot be eliminated by removing Requires's from the loop(s). Only dependencies from added or removed packages are used to determine ordering using a topological sort (Knuth vol. 1, p. 262). Use rpmtsCheck() to verify that all dependencies can be resolved.

The final order ends up as installed packages followed by removed packages, with packages removed for upgrades immediately following the new package to be installed.

Parameters

  ts | transaction set

Returns
  no. of (added) packages that could not be ordered

## rpmtsPlugins()

rpmPlugins rpmtsPlugins | ( | rpmts | ts | ) |

Get the plugins associated with a transaction set.

Parameters

  ts | transaction set

Returns
  plugins

## rpmtsPrefColor()

rpm_color_t rpmtsPrefColor | ( | rpmts | ts | ) |

Retrieve preferred file color.

Parameters

  ts | transaction set

Returns
  color bits

## rpmtsProblems()

rpmps rpmtsProblems | ( | rpmts | ts | ) |

Return current transaction set problems.

Parameters

  ts | transaction set

Returns
  current problem set (or NULL if no problems)

## rpmtsRebuildDB()

int rpmtsRebuildDB | ( | rpmts | ts | ) |

Rebuild the database used by the transaction.

Parameters

  ts | transaction set

Returns
  0 on success

## rpmtsRootDir()

const char* rpmtsRootDir | ( | rpmts | ts | ) |

Get transaction rootDir, i.e.

path to chroot(2).

Parameters

  ts | transaction set

Returns
  transaction rootDir

## rpmtsRun()

int rpmtsRun | ( | rpmts | ts,
|  | rpmps | okProbs,
|  | rpmprobFilterFlags | ignoreSet
| ) |  |

Process all package elements in a transaction set.

Before calling rpmtsRun be sure to have:

- setup the rpm root dir via rpmtsSetRoot().
- setup the rpm notify callback via rpmtsSetNotifyCallback().
- setup the rpm transaction flags via rpmtsSetFlags().

Additionally, though not required you may want to:

- setup the rpm verify signature flags via rpmtsSetVSFlags().

Parameters

  ts | transaction set
  okProbs | unused
  ignoreSet | bits to filter problem types

Returns
  0 on success, -1 on error, >0 with newProbs set

## rpmtsScriptFd()

FD_t rpmtsScriptFd | ( | rpmts | ts | ) |

Get transaction script file handle, i.e.

stdout/stderr on scriptlet execution

Parameters

  ts | transaction set

Returns
  transaction script file handle

## rpmtsSetColor()

rpm_color_t rpmtsSetColor | ( | rpmts | ts,
|  | rpm_color_t | color
| ) |  |

Set color bits of transaction set.

Parameters

  ts | transaction set
  color | new color bits

Returns
  previous color bits

## rpmtsSetDBMode()

int rpmtsSetDBMode | ( | rpmts | ts,
|  | int | dbmode
| ) |  |

Set the transaction database mode.

Only permitted when when backing database hasn't been opened yet (ie rpmtsGetRdb(ts) == NULL)

Parameters

  ts | transaction set
  dbmode | O_RDONLY, O_RDWR or -1 (disable lazy opens)

Returns
  0 on success, 1 on error

## rpmtsSetFlags()

rpmtransFlags rpmtsSetFlags | ( | rpmts | ts,
|  | rpmtransFlags | transFlags
| ) |  |

Set transaction flags, i.e.

bits that control rpmtsRun().

Parameters

  ts | transaction set
  transFlags | new transaction flags

Returns
  previous transaction flags

## rpmtsSetKeyring()

int rpmtsSetKeyring | ( | rpmts | ts,
|  | rpmKeyring | keyring
| ) |  |

Set keyring to use for this transaction set.

Keyring can be only changed while the underlying rpm database is not yet open.

Parameters

  ts | transaction set
  keyring | keyring handle (NULL to free current keyring)

Returns
  0 on success, -1 on error

## rpmtsSetNotifyCallback()

int rpmtsSetNotifyCallback | ( | rpmts | ts,
|  | rpmCallbackFunction | notify,
|  | rpmCallbackData | notifyData
| ) |  |

Set transaction notify callback function and argument.

Warning
  This call must be made before rpmtsRun() for install/upgrade/freshen to function correctly.

Parameters

  ts | transaction set
  notify | progress callback
  notifyData | progress callback private data

Returns
  0 on success

## rpmtsSetPrefColor()

rpm_color_t rpmtsSetPrefColor | ( | rpmts | ts,
|  | rpm_color_t | color
| ) |  |

Set preferred file color.

Parameters

  ts | transaction set
  color | new color bits

Returns
  previous color bits

## rpmtsSetRootDir()

int rpmtsSetRootDir | ( | rpmts | ts,
|  | const char * | rootDir
| ) |  |

Set transaction rootDir, i.e.

path to chroot(2).

Parameters

  ts | transaction set
  rootDir | new transaction rootDir (or NULL)

Returns
  0 on success, -1 on error (invalid rootDir)

## rpmtsSetScriptFd()

void rpmtsSetScriptFd | ( | rpmts | ts,
|  | FD_t | scriptFd
| ) |  |

Set transaction script file handle, i.e.

stdout/stderr on scriptlet execution

Parameters

  ts | transaction set
  scriptFd | new script file handle (or NULL)

## rpmtsSetSolveCallback()

int rpmtsSetSolveCallback | ( | rpmts | ts,
|  | int(*)(rpmts ts, rpmds ds, const void *data) | solve,
|  | const void * | solveData
| ) |  |

Set dependency solver callback.

Parameters

  ts | transaction set
  (*solve) | dependency solver callback
  solveData | dependency solver callback data (opaque)

Returns
  0 on success

## rpmtsSetTid()

rpm_tid_t rpmtsSetTid | ( | rpmts | ts,
|  | rpm_tid_t | tid
| ) |  |

Set transaction id, i.e.

transaction time stamp.

Parameters

  ts | transaction set
  tid | new transaction id

Returns
  previous transaction id

## rpmtsSetVfyFlags()

rpmVSFlags rpmtsSetVfyFlags | ( | rpmts | ts,
|  | rpmVSFlags | vfyflags
| ) |  |

Set package verify flag(s).

Parameters

  ts | transaction set
  vfyflags | new package verify flags

Returns
  old package verify flags

## rpmtsSetVfyLevel()

int rpmtsSetVfyLevel | ( | rpmts | ts,
|  | int | vfylevel
| ) |  |

Set enforced package verify level.

Parameters

  ts | transaction set
  vfylevel | new package verify level

Returns
  old package verify level

## rpmtsSetVSFlags()

rpmVSFlags rpmtsSetVSFlags | ( | rpmts | ts,
|  | rpmVSFlags | vsflags
| ) |  |

Set verify signatures flag(s).

Parameters

  ts | transaction set
  vsflags | new verify signatures flags

Returns
  previous value

## rpmtsVerifyDB()

int rpmtsVerifyDB | ( | rpmts | ts | ) |

Verify the database used by the transaction.

Parameters

  ts | transaction set

Returns
  0 on success

## rpmtsVfyFlags()

rpmVSFlags rpmtsVfyFlags | ( | rpmts | ts | ) |

Get package verify flag(s).

Parameters

  ts | transaction set

Returns
  verify signatures flags

## rpmtsVfyLevel()

int rpmtsVfyLevel | ( | rpmts | ts | ) |

Get enforced package verify level.

Parameters

  ts | transaction set

Returns
  package verify level

## rpmtsVSFlags()

rpmVSFlags rpmtsVSFlags | ( | rpmts | ts | ) |

Get verify signatures flag(s).

Parameters

  ts | transaction set

Returns
  verify signatures flags

## rpmtxnBegin()

rpmtxn rpmtxnBegin | ( | rpmts | ts,
|  | rpmtxnFlags | flags
| ) |  |

Create a transaction (lock) handle.

Parameters

  ts | transaction set
  flags | flags

Returns
  transaction handle

## rpmtxnEnd()

rpmtxn rpmtxnEnd | ( | rpmtxn | txn | ) |

Destroy transaction (lock) handle.

Parameters

  txn | transaction handle

Returns
  NULL always