python/rpmmodule.c File Reference

#include <errno.h>
#include <fcntl.h>
#include <time.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <unistd.h>
#include <glob.h>
#include <dirent.h>
#include <locale.h>
#include "Python.h"
#include "rpmio_internal.h"
#include "rpmcli.h"
#include "misc.h"
#include "header_internal.h"
#include "upgrade.h"

Go to the source code of this file.

Data Structures

struct  hdrObject_s
struct  rpmdbObject_s
struct  rpmdbMIObject_s
struct  rpmtransObject_s
struct  tsCallbackType
struct  FDlist_t

Defines

#define REGISTER_ENUM(val)

Typedefs

typedef struct rpmdbObject_s rpmdbObject
typedef struct rpmdbMIObject_s rpmdbMIObject
typedef struct rpmtransObject_s rpmtransObject
typedef struct hdrObject_s hdrObject

Functions

static Header headerAllocated (Header h)
int mdfile (const char *fn, unsigned char *digest)
int rpmvercmp (const char *one, const char *two)
 Segmented string compare for version and/or release.

Variables

int _rpmio_debug
static PyObject * pyrpmError

Module: rpm

typedef struct FDlist_t FDlist
static PyObject * errorCB = NULL
static PyObject * errorData = NULL
static FDlistfdhead = NULL
static FDlistfdtail = NULL
static PyMethodDef rpmModuleMethods []
void initrpm (void)
static PyObject * rpmtransCreate (PyObject *self, PyObject *args)
static PyObject * doAddMacro (PyObject *self, PyObject *args)
static PyObject * doDelMacro (PyObject *self, PyObject *args)
static PyObject * archScore (PyObject *self, PyObject *args)
static int psGetArchScore (Header h)
static int pkgCompareVer (void *first, void *second)
static void pkgSort (struct pkgSet *psp)
static PyObject * findUpgradeSet (PyObject *self, PyObject *args)
static PyObject * rpmHeaderFromPackage (PyObject *self, PyObject *args)
static PyObject * hdrLoad (PyObject *self, PyObject *args)
static PyObject * rhnLoad (PyObject *self, PyObject *args)
static PyObject * rpmInitDB (PyObject *self, PyObject *args)
static rpmdbObjectrpmOpenDB (PyObject *self, PyObject *args)
static PyObject * rebuildDB (PyObject *self, PyObject *args)
static PyObject * rpmReadHeaders (FD_t fd)
static PyObject * rpmHeaderFromFD (PyObject *self, PyObject *args)
static PyObject * rpmHeaderFromFile (PyObject *self, PyObject *args)
static int rpmMergeHeaders (PyObject *list, FD_t fd, int matchTag)
 This assumes the order of list matches the order of the new headers, and throws an exception if that isn't true.
static PyObject * rpmMergeHeadersFromFD (PyObject *self, PyObject *args)
static void errorcb (void)
static PyObject * errorSetCallback (PyObject *self, PyObject *args)
static PyObject * errorString (PyObject *self, PyObject *args)
static PyObject * versionCompare (PyObject *self, PyObject *args)
static PyObject * labelCompare (PyObject *self, PyObject *args)
static PyObject * checkSig (PyObject *self, PyObject *args)
static PyObject * getTsHeader (PyObject *self, PyObject *args)
static PyObject * setVerbosity (PyObject *self, PyObject *args)
static int closeCallback (FILE *f)
static PyObject * doFopen (PyObject *self, PyObject *args)

Class: header

static struct PyMethodDef hdrMethods []
static PyMappingMethods hdrAsMapping
static PyTypeObject hdrType
static PyObject * hdrKeyList (hdrObject *s, PyObject *args)
static PyObject * hdrUnload (hdrObject *s, PyObject *args, PyObject *keywords)
static PyObject * hdrVerifyFile (hdrObject *s, PyObject *args)
 Returns a list of these tuples for each item that failed: (attr_name, correctValue, currentValue) It should be passed the file number to verify.
static PyObject * hdrExpandFilelist (hdrObject *s, PyObject *args)
static PyObject * hdrCompressFilelist (hdrObject *s, PyObject *args)
static void mungeFilelist (Header h)
static PyObject * rhnUnload (hdrObject *s, PyObject *args)
static PyObject * hdrFullFilelist (hdrObject *s, PyObject *args)
static PyObject * hdrSprintf (hdrObject *s, PyObject *args)
static PyObject * hdrGetAttr (hdrObject *s, char *name)
static void hdrDealloc (hdrObject *s)
static long tagNumFromPyObject (PyObject *item)
static PyObject * hdrSubscript (hdrObject *s, PyObject *item)

Class: rpmdbMatchIterator

static struct PyMethodDef rpmdbMIMethods []
static PyTypeObject rpmdbMIType
static PyObject * rpmdbMINext (rpmdbMIObject *s, PyObject *args)
static PyObject * rpmdbMIGetAttr (rpmdbObject *s, char *name)
static void rpmdbMIDealloc (rpmdbMIObject *s)

Class: rpmdb

static struct PyMethodDef rpmdbMethods []
static PyMappingMethods rpmdbAsMapping
static PyTypeObject rpmdbType
static PyObject * rpmdbFirst (rpmdbObject *s, PyObject *args)
static PyObject * rpmdbNext (rpmdbObject *s, PyObject *args)
static PyObject * handleDbResult (rpmdbMatchIterator mi)
static PyObject * rpmdbByFile (rpmdbObject *s, PyObject *args)
static PyObject * rpmdbByName (rpmdbObject *s, PyObject *args)
static PyObject * rpmdbByProvides (rpmdbObject *s, PyObject *args)
static rpmdbMIObjectpy_rpmdbInitIterator (rpmdbObject *s, PyObject *args)
static PyObject * rpmdbGetAttr (rpmdbObject *s, char *name)
static void rpmdbDealloc (rpmdbObject *s)
static int rpmdbLength (rpmdbObject *s)
static hdrObjectrpmdbSubscript (rpmdbObject *s, PyObject *key)

Class: rpmtrans

static Header transactionSetHeader = NULL
static struct PyMethodDef rpmtransMethods []
static PyTypeObject rpmtransType
static PyObject * rpmtransAdd (rpmtransObject *s, PyObject *args)
static PyObject * rpmtransRemove (rpmtransObject *s, PyObject *args)
static PyObject * rpmtransDepCheck (rpmtransObject *s, PyObject *args)
static PyObject * rpmtransOrder (rpmtransObject *s, PyObject *args)
static PyObject * py_rpmtransGetKeys (rpmtransObject *s, PyObject *args)
static void * tsCallback (const void *hd, const rpmCallbackType what, const unsigned long amount, const unsigned long total, const void *pkgKey, rpmCallbackData data)
static PyObject * rpmtransRun (rpmtransObject *s, PyObject *args)
static PyObject * rpmtransGetAttr (rpmtransObject *o, char *name)
static void rpmtransDealloc (PyObject *o)
static int rpmtransSetAttr (rpmtransObject *o, char *name, PyObject *val)


Detailed Description

Definition in file rpmmodule.c.


Define Documentation

#define REGISTER_ENUM ( val   ) 

Value:

PyDict_SetItemString(d, #val, o=PyInt_FromLong( val )); \
    Py_DECREF(o);


Typedef Documentation

typedef struct FDlist_t FDlist

Definition at line 2381 of file rpmmodule.c.


Function Documentation

static PyObject* archScore ( PyObject *  self,
PyObject *  args 
) [static]

Definition at line 1704 of file rpmmodule.c.

static PyObject* checkSig ( PyObject *  self,
PyObject *  args 
) [static]

Definition at line 2331 of file rpmmodule.c.

static int closeCallback ( FILE *  f  )  [static]

Definition at line 2402 of file rpmmodule.c.

static PyObject* doAddMacro ( PyObject *  self,
PyObject *  args 
) [static]

Definition at line 1676 of file rpmmodule.c.

static PyObject* doDelMacro ( PyObject *  self,
PyObject *  args 
) [static]

Definition at line 1690 of file rpmmodule.c.

static PyObject* doFopen ( PyObject *  self,
PyObject *  args 
) [static]

Definition at line 2433 of file rpmmodule.c.

static void errorcb ( void   )  [static]

Definition at line 2225 of file rpmmodule.c.

static PyObject* errorSetCallback ( PyObject *  self,
PyObject *  args 
) [static]

Definition at line 2244 of file rpmmodule.c.

static PyObject* errorString ( PyObject *  self,
PyObject *  args 
) [static]

Definition at line 2284 of file rpmmodule.c.

static PyObject* findUpgradeSet ( PyObject *  self,
PyObject *  args 
) [static]

Definition at line 1786 of file rpmmodule.c.

static PyObject* getTsHeader ( PyObject *  self,
PyObject *  args 
) [static]

Definition at line 2348 of file rpmmodule.c.

static PyObject* handleDbResult ( rpmdbMatchIterator  mi  )  [static]

Definition at line 1010 of file rpmmodule.c.

static PyObject* hdrLoad ( PyObject *  self,
PyObject *  args 
) [static]

Definition at line 1882 of file rpmmodule.c.

static Header headerAllocated ( Header  h  )  [inline, static]

Definition at line 25 of file rpmmodule.c.

void initrpm ( void   ) 

Definition at line 2511 of file rpmmodule.c.

static PyObject* labelCompare ( PyObject *  self,
PyObject *  args 
) [static]

Definition at line 2300 of file rpmmodule.c.

int mdfile ( const char *  fn,
unsigned char *  digest 
)

static int pkgCompareVer ( void *  first,
void *  second 
) [static]

Definition at line 1731 of file rpmmodule.c.

static void pkgSort ( struct pkgSet psp  )  [static]

Definition at line 1753 of file rpmmodule.c.

static int psGetArchScore ( Header  h  )  [static]

Definition at line 1718 of file rpmmodule.c.

static rpmdbMIObject* py_rpmdbInitIterator ( rpmdbObject s,
PyObject *  args 
) [static]

Definition at line 1060 of file rpmmodule.c.

static PyObject* rebuildDB ( PyObject *  self,
PyObject *  args 
) [static]

Definition at line 2039 of file rpmmodule.c.

static PyObject* rhnLoad ( PyObject *  self,
PyObject *  args 
) [static]

Definition at line 1919 of file rpmmodule.c.

static PyObject* rpmdbByFile ( rpmdbObject s,
PyObject *  args 
) [static]

Definition at line 1029 of file rpmmodule.c.

static PyObject* rpmdbByName ( rpmdbObject s,
PyObject *  args 
) [static]

Definition at line 1039 of file rpmmodule.c.

static PyObject* rpmdbByProvides ( rpmdbObject s,
PyObject *  args 
) [static]

Definition at line 1049 of file rpmmodule.c.

static void rpmdbDealloc ( rpmdbObject s  )  [static]

Definition at line 1109 of file rpmmodule.c.

static PyObject* rpmdbFirst ( rpmdbObject s,
PyObject *  args 
) [static]

Definition at line 949 of file rpmmodule.c.

static PyObject* rpmdbGetAttr ( rpmdbObject s,
char *  name 
) [static]

Definition at line 1103 of file rpmmodule.c.

static int rpmdbLength ( rpmdbObject s  )  [static]

Definition at line 1123 of file rpmmodule.c.

static PyObject* rpmdbNext ( rpmdbObject s,
PyObject *  args 
) [static]

Definition at line 988 of file rpmmodule.c.

static hdrObject* rpmdbSubscript ( rpmdbObject s,
PyObject *  key 
) [static]

Definition at line 1141 of file rpmmodule.c.

static PyObject* rpmHeaderFromFD ( PyObject *  self,
PyObject *  args 
) [static]

Definition at line 2091 of file rpmmodule.c.

static PyObject* rpmHeaderFromFile ( PyObject *  self,
PyObject *  args 
) [static]

Definition at line 2107 of file rpmmodule.c.

static PyObject* rpmHeaderFromPackage ( PyObject *  self,
PyObject *  args 
) [static]

Definition at line 1837 of file rpmmodule.c.

static PyObject* rpmInitDB ( PyObject *  self,
PyObject *  args 
) [static]

Definition at line 1983 of file rpmmodule.c.

static int rpmMergeHeaders ( PyObject *  list,
FD_t  fd,
int  matchTag 
) [static]

This assumes the order of list matches the order of the new headers, and throws an exception if that isn't true.

Definition at line 2130 of file rpmmodule.c.

static PyObject* rpmMergeHeadersFromFD ( PyObject *  self,
PyObject *  args 
) [static]

Definition at line 2191 of file rpmmodule.c.

static rpmdbObject* rpmOpenDB ( PyObject *  self,
PyObject *  args 
) [static]

Definition at line 2007 of file rpmmodule.c.

static PyObject* rpmReadHeaders ( FD_t  fd  )  [static]

Definition at line 2049 of file rpmmodule.c.

static PyObject* rpmtransCreate ( PyObject *  self,
PyObject *  args 
) [static]

Definition at line 1652 of file rpmmodule.c.

static PyObject* setVerbosity ( PyObject *  self,
PyObject *  args 
) [static]

Definition at line 2367 of file rpmmodule.c.

static PyObject* versionCompare ( PyObject *  self,
PyObject *  args 
) [static]

Definition at line 2290 of file rpmmodule.c.


Variable Documentation

Definition at line 123 of file rpmio.c.

PyObject* errorCB = NULL [static]

Definition at line 2221 of file rpmmodule.c.

PyObject * errorData = NULL [static]

Definition at line 2221 of file rpmmodule.c.

FDlist* fdhead = NULL [static]

Definition at line 2394 of file rpmmodule.c.

FDlist* fdtail = NULL [static]

Definition at line 2398 of file rpmmodule.c.

PyMappingMethods rpmdbAsMapping [static]

Initial value:

 {
        (inquiry) rpmdbLength,          
        (binaryfunc) rpmdbSubscript,    
        (objobjargproc)0,               
}

Definition at line 1175 of file rpmmodule.c.

struct PyMethodDef rpmdbMethods[] [static]

Initial value:

 {
        {"firstkey",        (PyCFunction) rpmdbFirst,   1 },
        {"nextkey",         (PyCFunction) rpmdbNext,    1 },
        {"findbyfile",      (PyCFunction) rpmdbByFile, 1 },
        {"findbyname",      (PyCFunction) rpmdbByName, 1 },
        {"findbyprovides",  (PyCFunction) rpmdbByProvides, 1 },
        {"match",           (PyCFunction) py_rpmdbInitIterator, 1 },
        {NULL,          NULL}           
}

Definition at line 1091 of file rpmmodule.c.

PyTypeObject rpmdbType [static]

Initial value:

 {
        PyObject_HEAD_INIT(NULL)
        0,                              
        "rpmdb",                        
        sizeof(rpmdbObject),            
        0,                              
        (destructor) rpmdbDealloc,      
        0,                              
        (getattrfunc) rpmdbGetAttr,     
        0,                              
        0,                              
        0,                              
        0,                              
        0,                              

        &rpmdbAsMapping,                



}

Definition at line 1184 of file rpmmodule.c.

PyMethodDef rpmModuleMethods[] [static]

Initial value:

 {
    { "TransactionSet", (PyCFunction) rpmtransCreate, METH_VARARGS, NULL },
    { "addMacro", (PyCFunction) doAddMacro, METH_VARARGS, NULL },
    { "delMacro", (PyCFunction) doDelMacro, METH_VARARGS, NULL },
    { "archscore", (PyCFunction) archScore, METH_VARARGS, NULL },
    { "findUpgradeSet", (PyCFunction) findUpgradeSet, METH_VARARGS, NULL },
    { "headerFromPackage", (PyCFunction) rpmHeaderFromPackage, METH_VARARGS, NULL },
    { "headerLoad", (PyCFunction) hdrLoad, METH_VARARGS, NULL },
    { "rhnLoad", (PyCFunction) rhnLoad, METH_VARARGS, NULL },
    { "initdb", (PyCFunction) rpmInitDB, METH_VARARGS, NULL },
    { "opendb", (PyCFunction) rpmOpenDB, METH_VARARGS, NULL },
    { "rebuilddb", (PyCFunction) rebuildDB, METH_VARARGS, NULL },
    { "mergeHeaderListFromFD", (PyCFunction) rpmMergeHeadersFromFD, METH_VARARGS, NULL },
    { "readHeaderListFromFD", (PyCFunction) rpmHeaderFromFD, METH_VARARGS, NULL },
    { "readHeaderListFromFile", (PyCFunction) rpmHeaderFromFile, METH_VARARGS, NULL },
    { "errorSetCallback", (PyCFunction) errorSetCallback, METH_VARARGS, NULL },
    { "errorString", (PyCFunction) errorString, METH_VARARGS, NULL },
    { "versionCompare", (PyCFunction) versionCompare, METH_VARARGS, NULL },
    { "labelCompare", (PyCFunction) labelCompare, METH_VARARGS, NULL },
    { "checksig", (PyCFunction) checkSig, METH_VARARGS, NULL },
    { "getTransactionCallbackHeader", (PyCFunction) getTsHeader, METH_VARARGS, NULL },

    { "setVerbosity", (PyCFunction) setVerbosity, METH_VARARGS, NULL },
    { NULL }
}

Definition at line 2483 of file rpmmodule.c.


Generated on Wed Nov 18 01:34:27 2009 for rpm by  doxygen 1.5.9