rpm  5.2.1
Data Structures | Macros | Typedefs | Functions | Variables
rpmcache.c File Reference
#include "system.h"
#include <fnmatch.h>
#include <fts.h>
#include <rpmio.h>
#include <rpmiotypes.h>
#include <poptIO.h>
#include <rpmtypes.h>
#include <rpmtag.h>
#include "rpmdb.h"
#include "rpmps.h"
#include "misc.h"
#include <rpmgi.h>
#include <rpmcli.h>
#include "debug.h"
Include dependency graph for rpmcache.c:

Go to the source code of this file.

Data Structures

struct  ftsglob_s
 
struct  Item_s
 

Macros

#define _RPMGI_INTERNAL
 

Typedefs

typedef struct Item_sItem
 

Functions

static Item freeItem (Item item)
 
static Item newItem (void)
 
static int cmpItem (const void *a, const void *b)
 
static void freeItems (void)
 
static int ftsCachePrint (rpmts ts, FILE *fp)
 
static int ftsCacheUpdate (rpmts ts)
 
static rpmRC cacheStashLatest (rpmgi gi, Header h)
 
static const char * ftsInfoStr (int fts_info)
 
static rpmRC cacheWalkPathFilter (rpmgi gi)
 
static void initGlobs (rpmts ts, const char **argv)
 Initialize fts and glob structures. More...
 
static void freeGlobs (void)
 
int main (int argc, char *argv[])
 

Variables

const char * __progname
 
static int _debug = 0
 
static int noCache = -1
 
static ARGV_t ftsSet
 
const char * bhpath
 
int bhpathlen = 0
 
int bhlvl = -1
 
static struct ftsglob_sbhglobs
 
static int nbhglobs = 5
 
static int indent = 2
 
static Itemitems = NULL
 
static int nitems = 0
 
static const char * ftsInfoStrings []
 
static rpmVSFlags vsflags = 0
 
static struct poptOption optionsTable []
 

Macro Definition Documentation

#define _RPMGI_INTERNAL

Definition at line 24 of file rpmcache.c.

Typedef Documentation

typedef struct Item_s * Item

Function Documentation

static rpmRC cacheStashLatest ( rpmgi  gi,
Header  h 
)
static
static rpmRC cacheWalkPathFilter ( rpmgi  gi)
static
static int cmpItem ( const void *  a,
const void *  b 
)
static

Definition at line 80 of file rpmcache.c.

References rpmdsN(), and Item_s::this.

Referenced by cacheStashLatest().

static void freeGlobs ( void  )
static

Definition at line 515 of file rpmcache.c.

References _free(), ftsSet, nbhglobs, and ftsglob_s::patterns.

Referenced by main().

static Item freeItem ( Item  item)
inlinestatic

Definition at line 63 of file rpmcache.c.

References _free(), Item_s::h, headerFree(), Item_s::path, rpmdsFree(), and Item_s::this.

Referenced by cacheStashLatest(), and freeItems().

static void freeItems ( void  )
static

Definition at line 87 of file rpmcache.c.

References _free(), freeItem(), and nitems.

Referenced by main().

static int ftsCachePrint ( rpmts  ts,
FILE *  fp 
)
static

Definition at line 95 of file rpmcache.c.

References nitems, and Item_s::path.

Referenced by main().

static int ftsCacheUpdate ( rpmts  ts)
static
static const char* ftsInfoStr ( int  fts_info)
static

Definition at line 312 of file rpmcache.c.

References ftsInfoStrings.

Referenced by cacheWalkPathFilter().

static void initGlobs ( rpmts  ts,
const char **  argv 
)
static

Initialize fts and glob structures.

Parameters
tstransaction set
argvpackage names to match

Definition at line 445 of file rpmcache.c.

References _free(), bhpath, bhpathlen, ftsglob_s::fnflags, FNM_EXTMATCH, FNM_PATHNAME, FNM_PERIOD, ftsSet, Glob_pattern_p(), nbhglobs, ftsglob_s::patterns, rpmExpand(), rpmlog(), RPMLOG_DEBUG, stpcpy(), and xcalloc().

Referenced by main().

int main ( int  argc,
char *  argv[] 
)
static Item newItem ( void  )
inlinestatic

Definition at line 75 of file rpmcache.c.

References xcalloc().

Referenced by cacheStashLatest().

Variable Documentation

const char* __progname

Definition at line 6 of file rpmcache.c.

int _debug = 0
static

Definition at line 31 of file rpmcache.c.

Referenced by cacheWalkPathFilter().

struct ftsglob_s* bhglobs
static

Definition at line 47 of file rpmcache.c.

Referenced by cacheWalkPathFilter().

int bhlvl = -1

Definition at line 40 of file rpmcache.c.

Referenced by cacheWalkPathFilter().

const char* bhpath

Definition at line 38 of file rpmcache.c.

Referenced by cacheWalkPathFilter(), and initGlobs().

int bhpathlen = 0

Definition at line 39 of file rpmcache.c.

Referenced by cacheWalkPathFilter(), and initGlobs().

const char* ftsInfoStrings[]
static
Initial value:
= {
"UNKNOWN",
"D",
"DC",
"DEFAULT",
"DNR",
"DOT",
"DP",
"ERR",
"F",
"INIT",
"NS",
"NSOK",
"SL",
"SLNONE",
"W",
}

Definition at line 294 of file rpmcache.c.

Referenced by ftsInfoStr().

ARGV_t ftsSet
static

Definition at line 36 of file rpmcache.c.

Referenced by freeGlobs(), initGlobs(), main(), and recurseDir().

int indent = 2
static

Definition at line 50 of file rpmcache.c.

Referenced by cacheStashLatest(), and cacheWalkPathFilter().

Item* items = NULL
static

Definition at line 60 of file rpmcache.c.

Referenced by cacheStashLatest(), and rpmsxParse().

int nbhglobs = 5
static

Definition at line 48 of file rpmcache.c.

Referenced by cacheWalkPathFilter(), freeGlobs(), and initGlobs().

int nitems = 0
static
int noCache = -1
static

Definition at line 34 of file rpmcache.c.

Referenced by main().

struct poptOption optionsTable[]
static
Initial value:
= {
{ "nolegacy", '\0', POPT_BIT_SET, &vsflags, RPMVSF_NEEDPAYLOAD,
N_("don't verify header+payload signature"), NULL },
{ "cache", '\0', POPT_ARG_VAL, &noCache, 0,
N_("update cache database"), NULL },
{ "nocache", '\0', POPT_ARG_VAL, &noCache, -1,
N_("don't update cache database, only print package paths"), NULL },
{ NULL, '\0', POPT_ARG_INCLUDE_TABLE, rpmioFtsPoptTable, 0,
N_("File tree walk options:"),
NULL },
{ NULL, '\0', POPT_ARG_INCLUDE_TABLE, rpmcliAllPoptTable, 0,
N_("Common options for all rpm modes and executables:"),
NULL },
POPT_AUTOALIAS
POPT_AUTOHELP
POPT_TABLEEND
}

Definition at line 529 of file rpmcache.c.

Referenced by main().

rpmVSFlags vsflags = 0
static