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 enum rpmtransFlags_e rpmtransFlags
 Bit(s) to control rpmtsRun() operation.
typedef enum rpmVSFlags_e rpmVSFlags
 Bit(s) to control digest and signature verification.
typedef enum rpmtsOpX_e rpmtsOpX
 Indices for timestamps.

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_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_REVERSE = (1 << 15), 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_NOMD5 = (1 << 27),
  RPMTRANS_FLAG_NOSUGGEST = (1 << 28), RPMTRANS_FLAG_ADDINDEPS = (1 << 29), 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...

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.
rpmts rpmtsUnlink (rpmts ts, const char *msg)
 Unreference a transaction instance.
rpmts rpmtsLink (rpmts ts, const char *msg)
 Reference a transaction set instance.
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 rpmtsGetDBMode (rpmts ts)
 Return the transaction database mode.
int rpmtsSetDBMode (rpmts ts, int dbmode)
 Set the transaction database mode.
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, pgpDig dig) RPM_GNUC_DEPRECATED
 Retrieve pubkey from rpm database.
rpmRC rpmtsImportPubkey (rpmts ts, const unsigned char *pkt, size_t pktlen)
 Import public key packet(s).
rpmKeyring rpmtsGetKeyring (rpmts ts, int autoload)
 Retrieve handle for keyring used for this transaction set.
int rpmtsSetKeyring (rpmts ts, rpmKeyring keyring)
 Set keyring to use for this transaction set.
int rpmtsSetSolveCallback (rpmts ts, int(*solve)(rpmts ts, rpmds ds, const void *data), const void *solveData)
 Set dependency solver callback.
rpmps rpmtsProblems (rpmts ts)
 Return current transaction set problems.
void rpmtsCleanProblems (rpmts ts)
 Clean current transaction problem set.
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.
int 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.
rpm_tid_t rpmtsGetTid (rpmts ts)
 Get transaction id, i.e.
rpm_tid_t rpmtsSetTid (rpmts ts, rpm_tid_t tid)
 Set transaction id, i.e.
rpmdb rpmtsGetRdb (rpmts ts)
 Get transaction set database handle.
int rpmtsInitDSI (const rpmts ts)
 Initialize disk space info for each and every mounted file systems.
void rpmtsUpdateDSI (const rpmts ts, dev_t dev, rpm_loff_t fileSize, rpm_loff_t prevSize, rpm_loff_t fixupSize, rpmFileAction 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, rpm_loff_t amount, rpm_loff_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.
rpmSpec rpmtsSpec (rpmts ts)
 Get spec control structure from transaction set.
rpmSpec rpmtsSetSpec (rpmts ts, rpmSpec 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.
rpm_color_t rpmtsColor (rpmts ts)
 Retrieve color bits of transaction set.
rpm_color_t rpmtsPrefColor (rpmts ts)
 Retrieve prefered file color.
rpm_color_t rpmtsSetColor (rpmts ts, rpm_color_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.
int rpmtsGetKeys (rpmts ts, fnpyKey **ep, int *nep)
 Retrieve keys from ordered transaction set.

Typedef Documentation

Bit(s) to control rpmtsRun() operation.

typedef enum rpmtsOpX_e rpmtsOpX

Indices for timestamps.

typedef enum rpmVSFlags_e rpmVSFlags

Bit(s) to control digest and signature verification.


Enumeration Type Documentation

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_KEEPOBSOLETE 
Todo:
Document.
RPMTRANS_FLAG_NOCONTEXTS  from --nocontexts
RPMTRANS_FLAG_DIRSTASH  obsolete, unused
RPMTRANS_FLAG_REPACKAGE  obsolete, unused
RPMTRANS_FLAG_PKGCOMMIT 
RPMTRANS_FLAG_PKGUNDO 
RPMTRANS_FLAG_COMMIT 
RPMTRANS_FLAG_UNDO 
RPMTRANS_FLAG_REVERSE 
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_NOPAYLOAD 
RPMTRANS_FLAG_APPLYONLY 
RPMTRANS_FLAG_NOMD5  from --nomd5
RPMTRANS_FLAG_NOSUGGEST  from --nosuggest
RPMTRANS_FLAG_ADDINDEPS  from --aid
RPMTRANS_FLAG_NOCONFIGS  from --noconfigs
RPMTRANS_FLAG_DEPLOOPS  from --deploops

Definition at line 29 of file rpmts.h.

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_MAX 

Definition at line 128 of file rpmts.h.

Bit(s) to control digest and signature verification.

Enumerator:
RPMVSF_DEFAULT 
RPMVSF_NOHDRCHK 
RPMVSF_NEEDPAYLOAD 
RPMVSF_NOSHA1HEADER 
RPMVSF_NOMD5HEADER 
RPMVSF_NODSAHEADER 
RPMVSF_NORSAHEADER 
RPMVSF_NOSHA1 
RPMVSF_NOMD5 
RPMVSF_NODSA 
RPMVSF_NORSA 

Definition at line 84 of file rpmts.h.


Function Documentation

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

Add package to be erased to transaction set.

Parameters:
ts transaction set
h header
dboffset rpm database instance
Returns:
0 on success

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

Referenced by checkSpec().

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

Referenced by checkSpec().

void rpmtsCheckDSIProblems ( const rpmts  ts,
const rpmte  te 
)

Check a transaction element for disk space problems.

Parameters:
ts transaction set
te current transaction element

int rpmtsChrootDone ( rpmts  ts  ) 

Get chrootDone flag, i.e.

has chroot(2) been performed?

Parameters:
ts transaction set
Returns:
chrootDone flag

void rpmtsClean ( rpmts  ts  ) 

Free memory needed only for dependency checks and ordering.

Parameters:
ts transaction set

Referenced by checkSpec().

void rpmtsCleanProblems ( rpmts  ts  ) 

Clean current transaction problem set.

Parameters:
ts transaction set

int rpmtsCloseDB ( rpmts  ts  ) 

Close the database used by the transaction.

Parameters:
ts transaction set
Returns:
0 on success

rpm_color_t rpmtsColor ( rpmts  ts  ) 

Retrieve color bits of transaction set.

Parameters:
ts transaction set
Returns:
color bits

rpmts rpmtsCreate ( void   ) 

Create an empty transaction set.

Returns:
new transaction set

Referenced by main().

const char* rpmtsCurrDir ( rpmts  ts  ) 

Get transaction currDir, i.e.

current directory before chroot(2).

Parameters:
ts transaction set
Returns:
transaction currDir

rpmte rpmtsElement ( rpmts  ts,
int  ix 
)

Return (ordered) transaction set element.

Parameters:
ts transaction set
ix transaction element index
Returns:
transaction element (or NULL)

void rpmtsEmpty ( rpmts  ts  ) 

Re-create an empty transaction set.

Parameters:
ts transaction set

rpmprobFilterFlags rpmtsFilterFlags ( rpmts  ts  ) 

Get problem ignore bit mask, i.e.

bits to filter encountered problems.

Parameters:
ts transaction set
Returns:
ignore bit mask

rpmRC rpmtsFindPubkey ( rpmts  ts,
pgpDig  dig 
)

Retrieve pubkey from rpm database.

Parameters:
ts rpm transaction
dig OpenPGP packet container
Returns:
RPMRC_OK on success, RPMRC_NOKEY if not found

rpmtransFlags rpmtsFlags ( rpmts  ts  ) 

Get transaction flags, i.e.

bits that control rpmtsRun().

Parameters:
ts transaction set
Returns:
transaction flags

rpmts rpmtsFree ( rpmts  ts  ) 

Destroy transaction set, closing the database as well.

Parameters:
ts transaction set
Returns:
NULL always

Referenced by main().

int rpmtsGetDBMode ( rpmts  ts  ) 

Return the transaction database mode.

Parameters:
ts transaction set
Returns:
O_RDONLY, O_RDWR or -1 (lazy opens disabled)

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)

int rpmtsGetKeys ( rpmts  ts,
fnpyKey **  ep,
int *  nep 
)

Retrieve keys from ordered transaction set.

Todo:
Removed packages have no keys, returned as interleaved NULL pointers.
Parameters:
ts transaction set
Return values:
ep address of returned element array pointer (or NULL)
nep address of no. of returned elements (or NULL)
Returns:
0 always

rpmdb rpmtsGetRdb ( rpmts  ts  ) 

Get transaction set database handle.

Parameters:
ts transaction set
Returns:
transaction database handle

rpm_tid_t rpmtsGetTid ( rpmts  ts  ) 

Get transaction id, i.e.

transaction time stamp.

Parameters:
ts transaction set
Returns:
transaction id

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

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

Referenced by main().

int rpmtsInitDSI ( const rpmts  ts  ) 

Initialize disk space info for each and every mounted file systems.

Parameters:
ts transaction set
Returns:
0 on success

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

Return transaction database iterator.

Parameters:
ts transaction set
rpmtag rpm tag
keyp key data (NULL for sequential access)
keylen key data length (0 will use strlen(keyp))
Returns:
NULL on failure

rpmts rpmtsLink ( rpmts  ts,
const char *  msg 
)

Reference a transaction set instance.

Parameters:
ts transaction set
msg 
Returns:
new transaction set reference

int rpmtsNElements ( rpmts  ts  ) 

Return number of (ordered) transaction set elements.

Parameters:
ts transaction set
Returns:
no. of transaction set elements

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

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.

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

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

rpm_color_t rpmtsPrefColor ( rpmts  ts  ) 

Retrieve prefered file color.

Parameters:
ts transaction set
Returns:
color bits

rpmps rpmtsProblems ( rpmts  ts  ) 

Return current transaction set problems.

Parameters:
ts transaction set
Returns:
current problem set (or NULL)

Referenced by checkSpec().

int rpmtsRebuildDB ( rpmts  ts  ) 

Rebuild the database used by the transaction.

Parameters:
ts transaction set
Returns:
0 on success

Referenced by main().

rpmte rpmtsRelocateElement ( rpmts  ts  ) 

Get current relocate transaction element.

Parameters:
ts transaction set
Returns:
current relocate transaction element

const char* rpmtsRootDir ( rpmts  ts  ) 

Get transaction rootDir, i.e.

path to chroot(2).

Parameters:
ts transaction set
Returns:
transaction rootDir

Referenced by buildForTarget().

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

Process all package elements in a transaction set.

Before calling rpmtsRun be sure to have:

Additionally, though not required you may want to:

Parameters:
ts transaction set
okProbs previously known problems (or NULL)
ignoreSet bits to filter problem types
Returns:
0 on success, -1 on error, >0 with newProbs set

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

int rpmtsSELinuxEnabled ( rpmts  ts  ) 

Get selinuxEnabled flag, i.e.

is SE linux enabled?

Parameters:
ts transaction set
Returns:
selinuxEnabled flag

int rpmtsSetChrootDone ( rpmts  ts,
int  chrootDone 
)

Set chrootDone flag, i.e.

has chroot(2) been performed?

Parameters:
ts transaction set
chrootDone new chrootDone flag
Returns:
previous chrootDone flag

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

void rpmtsSetCurrDir ( rpmts  ts,
const char *  currDir 
)

Set transaction currDir, i.e.

current directory before chroot(2).

Parameters:
ts transaction set
currDir new transaction currDir (or NULL)

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

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

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

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

rpmte rpmtsSetRelocateElement ( rpmts  ts,
rpmte  relocateElement 
)

Set current relocate transaction element.

Parameters:
ts transaction set
relocateElement new relocate transaction element
Returns:
previous relocate transaction element

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)

Referenced by main().

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)

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

rpmSpec rpmtsSetSpec ( rpmts  ts,
rpmSpec  spec 
)

Set a spec control structure in transaction set.

Parameters:
ts transaction set
spec new spec control structure
Returns:
previous spec control structure

Referenced by buildForTarget().

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

rpmVSFlags rpmtsSetVSFlags ( rpmts  ts,
rpmVSFlags  vsflags 
)

Set verify signatures flag(s).

Parameters:
ts transaction set
vsflags new verify signatures flags
Returns:
previous value

Referenced by build(), and main().

rpmSpec rpmtsSpec ( rpmts  ts  ) 

Get spec control structure from transaction set.

Parameters:
ts transaction set
Returns:
spec control structure

rpmts rpmtsUnlink ( rpmts  ts,
const char *  msg 
)

Unreference a transaction instance.

Parameters:
ts transaction set
msg 
Returns:
NULL always

int rpmtsUnorderedSuccessors ( rpmts  ts,
int  first 
)

Set index of 1st element of successors.

Parameters:
ts transaction set
first new index of 1st element of successors
Returns:
previous value

void rpmtsUpdateDSI ( const rpmts  ts,
dev_t  dev,
rpm_loff_t  fileSize,
rpm_loff_t  prevSize,
rpm_loff_t  fixupSize,
rpmFileAction  action 
)

Update disk space info for a file.

Parameters:
ts transaction set
dev mount point device
fileSize long (64bit) file size
prevSize previous long file size (if upgrading)
fixupSize long size difference
action file disposition

int rpmtsVerifyDB ( rpmts  ts  ) 

Verify the database used by the transaction.

Parameters:
ts transaction set
Returns:
0 on success

Referenced by main().

rpmVSFlags rpmtsVSFlags ( rpmts  ts  ) 

Get verify signatures flag(s).

Parameters:
ts transaction set
Returns:
verify signatures flags


Generated on Wed Dec 17 15:19:10 2008 for rpm by  doxygen 1.5.7.1