Main Page   Modules   Compound List   File List   Compound Members   File Members   Related Pages  

RPMDB.


Files

file  rpmdb.c
file  rpmdb.h
 Access RPM indices using Berkeley db[123] interface.

file  rpmlib.h

Compounds

struct  rpmdb_s

RPMDB

Header rpmdbNextIterator (rpmdbMatchIterator mi)
int rpmdbOpen (const char * prefix, rpmdb *dbp, int mode, int perms)
int rpmdbInit (const char * prefix, int perms)
int rpmdbClose (rpmdb rpmdb)
int rpmdbSync (rpmdb rpmdb)
int rpmdbOpenAll (rpmdb rpmdb)
int rpmdbCountPackages (rpmdb rpmdb, const char * name)
void rpmdbFreeIterator (rpmdbMatchIterator mi)
rpmdb rpmdbGetIteratorRpmDB (rpmdbMatchIterator mi)
unsigned int rpmdbGetIteratorOffset (rpmdbMatchIterator mi)
int rpmdbGetIteratorCount (rpmdbMatchIterator mi)
int rpmdbAppendIterator (rpmdbMatchIterator mi, int * hdrNums, int nHdrNums)
int rpmdbPruneIterator (rpmdbMatchIterator mi, int * hdrNums, int nHdrNums, int sorted)
void rpmdbSetIteratorVersion (rpmdbMatchIterator mi, const char * version)
void rpmdbSetIteratorRelease (rpmdbMatchIterator mi, const char * release)
int rpmdbSetIteratorModified (rpmdbMatchIterator mi, int modified)
rpmdbMatchIterator rpmdbInitIterator (rpmdb rpmdb, int rpmtag, const void * keyp, size_t keylen)
int rpmdbAdd (rpmdb rpmdb, int iid, Header h)
int rpmdbRemove (rpmdb rpmdb, int rid, unsigned int hdrNum)
int rpmdbRebuild (const char * rootdir)

Enumerations

enum  rpmdbFlags { RPMDB_FLAG_JUSTCHECK = (1 << 0), RPMDB_FLAG_MINIMAL = (1 << 1), RPMDB_FLAG_CHROOT = (1 << 2) }

Functions

unsigned int rpmdbGetIteratorFileNum (rpmdbMatchIterator mi)
int rpmdbFindFpList (rpmdb rpmdb, fingerPrint * fpList, dbiIndexSet * matchList, int numItems)

Enumeration Type Documentation

enum rpmdbFlags
 

Enumeration values:
RPMDB_FLAG_JUSTCHECK  
RPMDB_FLAG_MINIMAL  
RPMDB_FLAG_CHROOT  

Definition at line 276 of file rpmdb.h.


Function Documentation

int rpmdbAdd ( rpmdb rpmdb,
int iid,
Header h )
 

Add package header to rpm database and indices.

Parameters:
rpmdb   rpm database
iid   install transaction id (or -1 to skip)
h   header
Returns:
0 on success

Definition at line 1766 of file rpmdb.c.

Referenced by installBinaryPackage(), and rpmdbRebuild().

int rpmdbAppendIterator ( rpmdbMatchIterator mi,
int * hdrNums,
int nHdrNums )
 

Append items to set of package instances to iterate.

Parameters:
mi   rpm database iterator
hdrNums   array of package instances
nHdrNums   number of elements in array
Returns:
0 on success, 1 on failure (bad args)

Definition at line 1481 of file rpmdb.c.

Referenced by markReplacedFiles(), and rpmRunTransactions().

int rpmdbClose ( rpmdb rpmdb )
 

Close all database indices and free rpmdb.

Parameters:
rpmdb   rpm database
Returns:
0 always

Definition at line 669 of file rpmdb.c.

Referenced by checkSpec(), newRpmdb(), openDatabase(), rpmErase(), rpmInstall(), rpmQuery(), rpmVerify(), rpmdbDealloc(), rpmdbInit(), and rpmdbRebuild().

int rpmdbCountPackages ( rpmdb db,
const char * name )
 

Return number of instances of package in rpm database.

Parameters:
db   rpm database
name   rpm package name
Returns:
number of instances

Definition at line 1004 of file rpmdb.c.

Referenced by handleOneTrigger(), installBinaryPackage(), removeBinaryPackage(), and runTriggers().

int rpmdbFindFpList ( rpmdb rpmdb,
fingerPrint * fpList,
dbiIndexSet * matchList,
int numItems )
 

Parameters:
rpmdb   rpm database

Definition at line 1983 of file rpmdb.c.

Referenced by rpmRunTransactions().

void rpmdbFreeIterator ( rpmdbMatchIterator mi )
 

Destroy rpm database iterator.

Parameters:
mi   rpm database iterator

Definition at line 1209 of file rpmdb.c.

Referenced by dbiFindMatches(), handleDbResult(), handleInstInstalledFiles(), handleRmvdInstalledFiles(), installBinaryPackage(), markReplacedFiles(), rpmErase(), rpmInstall(), rpmRunTransactions(), rpmdbFindByFile(), rpmdbFindFpList(), rpmdbFirst(), rpmdbLength(), rpmdbMIDealloc(), rpmdbRebuild(), rpmdbRemove(), rpmdbSubscript(), rpmtransAddPackage(), rpmtransRemove(), runImmedTriggers(), runTriggers(), and showMatches().

int rpmdbGetIteratorCount ( rpmdbMatchIterator mi )
 

Return number of elements in rpm database iterator.

Parameters:
mi   rpm database iterator
Returns:
number of elements

Definition at line 1275 of file rpmdb.c.

Referenced by rpmErase(), rpmInstall(), rpmdbFindFpList(), rpmtransRemove(), and runImmedTriggers().

unsigned int rpmdbGetIteratorFileNum ( rpmdbMatchIterator mi )
 

Definition at line 1269 of file rpmdb.c.

unsigned int rpmdbGetIteratorOffset ( rpmdbMatchIterator mi )
 

Return join key for current position of rpm database iterator.

Parameters:
mi   rpm database iterator
Returns:
current join key

Definition at line 1263 of file rpmdb.c.

Referenced by handleDbResult(), installBinaryPackage(), markReplacedFiles(), rpmErase(), rpmdbFirst(), rpmtransAddPackage(), and rpmtransRemove().

rpmdb rpmdbGetIteratorRpmDB ( rpmdbMatchIterator mi )
 

Return rpm database used by iterator.

Parameters:
mi   rpm database iterator
Returns:
rpm database handle

Definition at line 1257 of file rpmdb.c.

Referenced by showMatches().

int rpmdbInit ( const char * root,
int perms )
 

Initialize database.

Parameters:
root   path to top of install tree
perms   database permissions
Returns:
0 on success

Definition at line 869 of file rpmdb.c.

Referenced by main(), and rpmInitDB().

rpmdbMatchIterator rpmdbInitIterator ( rpmdb rpmdb,
int rpmtag,
const void * key,
size_t keylen )
 

Return database iterator.

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

Definition at line 1492 of file rpmdb.c.

Referenced by dbiFindMatches(), handleInstInstalledFiles(), handleRmvdInstalledFiles(), installBinaryPackage(), markReplacedFiles(), py_rpmdbInitIterator(), rpmErase(), rpmInstall(), rpmQueryVerify(), rpmRunTransactions(), rpmdbByFile(), rpmdbByName(), rpmdbByProvides(), rpmdbFindByFile(), rpmdbFindFpList(), rpmdbFirst(), rpmdbLength(), rpmdbRebuild(), rpmdbRemove(), rpmdbSubscript(), rpmtransAddPackage(), rpmtransRemove(), runImmedTriggers(), and runTriggers().

Header rpmdbNextIterator ( rpmdbMatchIterator mi )
 

Return next package header from iteration.

Parameters:
mi   rpm database iterator
Returns:
NULL on end of iteration.

int rpmdbOpen ( const char * root,
rpmdb * dbp,
int mode,
int perms )
 

Open rpm database.

Parameters:
root   path to top of install tree
Return values:
dbp   address of rpm database
Parameters:
mode   open(2) flags: O_RDWR or O_RDONLY (O_CREAT also)
perms   database permissions
Returns:
0 on success

Definition at line 863 of file rpmdb.c.

Referenced by checkSpec(), rpmErase(), rpmInstall(), rpmOpenDB(), rpmQuery(), and rpmVerify().

int rpmdbOpenAll ( rpmdb rpmdb )
 

Open all database indices.

Parameters:
rpmdb   rpm database
Returns:
0 always

Definition at line 656 of file rpmdb.c.

Referenced by rpmRunTransactions(), and rpmdbInit().

int rpmdbPruneIterator ( rpmdbMatchIterator mi,
int * hdrNums,
int nHdrNums,
int sorted )
 

Remove items from set of package instances to iterate.

Parameters:
mi   rpm database iterator
hdrNums   array of package instances
nHdrNums   number of elements in array
sorted   is the array sorted? (array will be sorted on return)
Returns:
0 on success, 1 on failure (bad args)

Definition at line 1470 of file rpmdb.c.

Referenced by rpmtransAddPackage().

int rpmdbRebuild ( const char * root )
 

Rebuild database indices from package headers.

Parameters:
root   path to top of install tree

Definition at line 2262 of file rpmdb.c.

Referenced by main(), and rebuildDB().

int rpmdbRemove ( rpmdb db,
int rid,
unsigned int offset )
 

Remove package header from rpm database and indices.

Parameters:
rpmdb   rpm database
rid   remove transaction id (or -1 to skip)
offset   location in Packages dbi
Returns:
0 on success

Definition at line 1609 of file rpmdb.c.

Referenced by installBinaryPackage(), and removeBinaryPackage().

int rpmdbSetIteratorModified ( rpmdbMatchIterator mi,
int modified )
 

Modify iterator to mark header for lazy write.

Parameters:
mi   rpm database iterator
modified   new value of modified
Returns:
previous value

Definition at line 1301 of file rpmdb.c.

Referenced by markReplacedFiles().

void rpmdbSetIteratorRelease ( rpmdbMatchIterator mi,
const char * release )
 

Modify iterator to filter out headers that do not match release.

Todo:
Replace with a more general mechanism using RE's on tag content.
Parameters:
mi   rpm database iterator
release   release to check for

Definition at line 1281 of file rpmdb.c.

Referenced by installBinaryPackage(), rpmRunTransactions(), and rpmdbRebuild().

void rpmdbSetIteratorVersion ( rpmdbMatchIterator mi,
const char * version )
 

Modify iterator to filter out headers that do not match version.

Todo:
Replace with a more general mechanism using RE's on tag content.
Parameters:
mi   rpm database iterator
version   version to check for

Definition at line 1291 of file rpmdb.c.

Referenced by installBinaryPackage(), rpmRunTransactions(), and rpmdbRebuild().

int rpmdbSync ( rpmdb rpmdb )
 

Sync all database indices.

Parameters:
rpmdb   rpm database
Returns:
0 always

Definition at line 699 of file rpmdb.c.

Referenced by rpmRunTransactions().


Generated at Sun Apr 8 18:43:07 2001 for rpm by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000