lib/rpmts.h File Reference

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

#include "rpmps.h"
#include "rpmfi.h"
#include "rpmsw.h"
#include "rpmsx.h"
#include <rpmpgp.h>
#include "rpmhash.h"
#include "rpmal.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.

Defines

#define _noTransScripts
#define _noTransTriggers
#define rpmtsUnlink(_ts, _msg)   XrpmtsUnlink(_ts, _msg, __FILE__, __LINE__)
#define rpmtsLink(_ts, _msg)   XrpmtsLink(_ts, _msg, __FILE__, __LINE__)

Typedefs

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

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.


Define Documentation

#define _noTransScripts

#define _noTransTriggers

#define rpmtsLink ( _ts,
_msg   )     XrpmtsLink(_ts, _msg, __FILE__, __LINE__)

#define rpmtsUnlink ( _ts,
_msg   )     XrpmtsUnlink(_ts, _msg, __FILE__, __LINE__)

Definition at line 411 of file rpmts.h.

Referenced by rpmtsFree().


Function Documentation

rpmts XrpmtsLink ( rpmts  ts,
const char *  msg,
const char *  fn,
unsigned  ln 
)

Todo:
Remove debugging entry from the ABI.

Definition at line 97 of file rpmts.c.

References _rpmts_debug.

rpmts XrpmtsUnlink ( rpmts  ts,
const char *  msg,
const char *  fn,
unsigned  ln 
)

Todo:
Remove debugging entry from the ABI.

Definition at line 87 of file rpmts.c.

References _rpmts_debug.


Variable Documentation

Definition at line 271 of file transaction.c.

Definition at line 79 of file rpmts.c.

Definition at line 85 of file rpmts.c.

Definition at line 82 of file rpmts.c.

Definition at line 28 of file rpminstall.c.


Generated on Thu Nov 19 03:07:02 2009 for rpm by  doxygen 1.5.9