Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

rpminstall.c File Reference

#include "system.h"
#include <rpmcli.h>
#include "manifest.h"
#include "misc.h"
#include "debug.h"

Go to the source code of this file.

Typedefs

typedef const char * str_t

Functions

static void printHash (const unsigned long amount, const unsigned long total)
void * rpmShowProgress (const void *arg, const rpmCallbackType what, const unsigned long amount, const unsigned long total, const void *pkgKey, void *data)
 The rpm CLI generic transaction callback.
int rpmInstall (const char *rootdir, const char **fileArgv, rpmtransFlags transFlags, rpmInstallInterfaceFlags interfaceFlags, rpmprobFilterFlags probFilter, rpmRelocation *relocations)
int rpmErase (const char *rootdir, const char **argv, rpmtransFlags transFlags, rpmEraseInterfaceFlags interfaceFlags)
int rpmInstallSource (const char *rootdir, const char *arg, const char **specFile, char **cookie)
static int IDTintcmp (const void *a, const void *b)
IDTX IDTXfree (IDTX idtx)
 Destroy id index.
IDTX IDTXnew (void)
 Create id index.
IDTX IDTXgrow (IDTX idtx, int need)
 Insure that index has room for "need" elements.
IDTX IDTXsort (IDTX idtx)
 Sort tag (instance,value) pairs.
IDTX IDTXload (rpmdb db, rpmTag tag)
 Load tag (instance,value) pairs from rpm databse, and return sorted id index.
IDTX IDTXglob (const char *globstr, rpmTag tag)
 Load tag (instance,value) pairs from packages, and return sorted id index.
int rpmRollback (struct rpmInstallArguments_s *ia, const char **argv)

Variables

static int hashesPrinted = 0
int packagesTotal = 0
static int progressTotal = 0
static int progressCurrent = 0
static int reverse = -1


Detailed Description

Definition in file rpminstall.c.


Typedef Documentation

typedef const char* str_t
 

Definition at line 176 of file rpminstall.c.


Function Documentation

static int IDTintcmp const void *  a,
const void *  b
[static]
 

Definition at line 724 of file rpminstall.c.

References IDT_s::n, reverse, IDT_s::u32, and IDT_s::val.

Referenced by IDTXsort().

IDTX IDTXfree IDTX  idtx  ) 
 

Destroy id index.

Parameters:
idtx id index
Returns:
NULL always

Definition at line 738 of file rpminstall.c.

References _free(), IDT_s::h, headerFree(), IDTindex_s::idt, and IDT_s::key.

Referenced by rpmRollback().

IDTX IDTXglob const char *  globstr,
rpmTag  tag
 

Load tag (instance,value) pairs from packages, and return sorted id index.

Parameters:
db glob expression
tag rpm tag
Returns:
id index

Definition at line 831 of file rpminstall.c.

References _, _free(), Fclose(), Ferror(), Fopen(), Fstrerror(), IDT_s::h, headerFree(), headerLink(), headerNVR(), IDTindex_s::idt, IDTXgrow(), IDTXsort(), IDT_s::instance, IDT_s::key, IDT_s::n, IDTindex_s::nidt, IDT_s::r, RPMERR_OPEN, rpmError, rpmGlob(), RPMRC_OK, rpmReadPackageHeader(), IDT_s::u32, IDT_s::v, IDT_s::val, and xstrdup().

Referenced by rpmRollback().

IDTX IDTXgrow IDTX  idtx,
int  need
 

Insure that index has room for "need" elements.

Parameters:
idtx id index
need additional no. of elements needed
Returns:
id index (with room for "need" elements)

Definition at line 762 of file rpminstall.c.

References IDTindex_s::alloced, IDTindex_s::delta, IDTindex_s::idt, IDTXnew(), IDTindex_s::nidt, IDTindex_s::size, and xrealloc().

Referenced by IDTXglob(), and IDTXload().

IDTX IDTXload rpmdb  db,
rpmTag  tag
 

Load tag (instance,value) pairs from rpm databse, and return sorted id index.

Parameters:
db rpm database
tag rpm tag
Returns:
id index

Definition at line 786 of file rpminstall.c.

References IDT_s::h, headerLink(), headerNVR(), IDTindex_s::idt, IDTXgrow(), IDTXsort(), IDT_s::instance, IDT_s::key, IDT_s::n, IDTindex_s::nidt, IDT_s::r, RPM_INT32_TYPE, RPM_NULL_TYPE, rpmdbFreeIterator(), rpmdbGetIteratorOffset(), rpmdbInitIterator(), rpmdbNextIterator(), IDT_s::u32, IDT_s::v, and IDT_s::val.

Referenced by rpmRollback().

IDTX IDTXnew void   ) 
 

Create id index.

Returns:
new id index

Definition at line 754 of file rpminstall.c.

References IDTindex_s::delta, IDTindex_s::size, and xcalloc().

Referenced by IDTXgrow().

IDTX IDTXsort IDTX  idtx  ) 
 

Sort tag (instance,value) pairs.

Parameters:
idtx id index
Returns:
id index

Definition at line 779 of file rpminstall.c.

References IDTindex_s::idt, IDTintcmp(), IDTindex_s::nidt, and IDTindex_s::size.

Referenced by IDTXglob(), and IDTXload().

static void printHash const unsigned long  amount,
const unsigned long  total
[static]
 

Definition at line 33 of file rpminstall.c.

References hashesPrinted, progressCurrent, and progressTotal.

Referenced by rpmShowProgress().

void* rpmShowProgress const void *  arg,
const rpmCallbackType  what,
const unsigned long  amount,
const unsigned long  total,
const void *  pkgKey,
void *  data
 

The rpm CLI generic transaction callback.

Deprecated:
Transaction callback arguments need to change, so don't rely on this routine in the rpmcli API.
Parameters:
arg per-callback private data (e.g. an rpm header)
what callback identifier
amount per-callback progress info
total per-callback progress info
pkgkey opaque header key (e.g. file name or PyObject)
data private data (e.g. rpmInstallInterfaceFlags)
Returns:
per-callback data (e.g. an opened FD_t)

Definition at line 75 of file rpminstall.c.

References _, _free(), Fclose(), fdFree, fdLink, Fopen(), hashesPrinted, headerSprintf(), INSTALL_HASH, INSTALL_LABEL, INSTALL_PERCENT, packagesTotal, printHash(), progressCurrent, progressTotal, RPMCALLBACK_INST_CLOSE_FILE, RPMCALLBACK_INST_OPEN_FILE, RPMCALLBACK_INST_PROGRESS, RPMCALLBACK_INST_START, RPMCALLBACK_TRANS_PROGRESS, RPMCALLBACK_TRANS_START, RPMCALLBACK_TRANS_STOP, RPMCALLBACK_UNINST_PROGRESS, RPMCALLBACK_UNINST_START, RPMCALLBACK_UNINST_STOP, rpmHeaderFormats, and rpmTagTable.

Referenced by rpmInstall(), and rpmRollback().


Variable Documentation

int hashesPrinted = 0 [static]
 

Definition at line 22 of file rpminstall.c.

Referenced by printHash(), and rpmShowProgress().

int packagesTotal = 0
 

Definition at line 25 of file rpminstall.c.

Referenced by rpmInstall(), rpmRollback(), and rpmShowProgress().

int progressCurrent = 0 [static]
 

Definition at line 29 of file rpminstall.c.

Referenced by printHash(), and rpmShowProgress().

int progressTotal = 0 [static]
 

Definition at line 27 of file rpminstall.c.

Referenced by printHash(), and rpmShowProgress().

int reverse = -1 [static]
 

Definition at line 720 of file rpminstall.c.

Referenced by IDTintcmp().


Generated on Fri Apr 1 02:59:36 2005 for rpm by  doxygen 1.4.1