#include "system.h"
#include <fnmatch.h>
#include <fts.h>
#include <rpmcli.h>
#include "rpmps.h"
#include "rpmdb.h"
#include "rpmds.h"
#include "rpmts.h"
#include "debug.h"
Go to the source code of this file.
Data Structures | |
struct | ftsglob_s |
struct | Item_s |
Typedefs | |
typedef Item_s * | Item |
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 int | archOkay (const char *pkgArch) |
static int | osOkay (const char *pkgOs) |
static int | ftsStashLatest (FTSENT *fts, rpmts ts) |
static const char * | ftsInfoStr (int fts_info) |
static int | ftsPrint (FTS *ftsp, FTSENT *fts, rpmts ts) |
static void | initGlobs (rpmts ts, const char **argv) |
Initialize fts and glob structures. | |
int | main (int argc, char *const argv[]) |
Variables | |
const char * | program_name |
static int | _debug = 0 |
static int | noCache = 0 |
static char ** | ftsSet |
const char * | bhpath |
int | bhpathlen = 0 |
int | bhlvl = -1 |
static struct ftsglob_s * | bhglobs |
static int | nbhglobs = 5 |
static int | indent = 2 |
static Item * | items = NULL |
static int | nitems = 0 |
static const char * | ftsInfoStrings [] |
static rpmVSFlags | vsflags = 0 |
static struct poptOption | optionsTable [] |
Definition in file rpmcache.c.
static int archOkay | ( | const char * | pkgArch | ) | [static] |
Definition at line 165 of file rpmcache.c.
References RPM_MACHTABLE_INSTARCH, and rpmMachineScore().
static int cmpItem | ( | const void * | a, | |
const void * | b | |||
) | [static] |
Definition at line 67 of file rpmcache.c.
References rpmdsN(), and Item_s::this.
Referenced by ftsStashLatest().
Definition at line 52 of file rpmcache.c.
References _free(), Item_s::h, headerFree(), Item_s::path, rpmdsFree(), and Item_s::this.
Referenced by freeItems(), and ftsStashLatest().
static void freeItems | ( | void | ) | [static] |
Definition at line 74 of file rpmcache.c.
References _free(), freeItem(), items, and nitems.
Referenced by main().
static int ftsCachePrint | ( | rpmts | ts, | |
FILE * | fp | |||
) | [static] |
static int ftsCacheUpdate | ( | rpmts | ts | ) | [static] |
Definition at line 102 of file rpmcache.c.
References headerAddOrAppendEntry(), headerGetEntryMinMemory(), items, nitems, RMIL_CMDLINE, RPM_INT32_TYPE, RPM_STRING_ARRAY_TYPE, rpmdbAdd(), rpmdbFreeIterator(), rpmdbGetIteratorCount(), rpmDefineMacro(), RPMTAG_CACHECTIME, RPMTAG_CACHEPKGMTIME, RPMTAG_CACHEPKGPATH, RPMTAG_CACHEPKGSIZE, RPMTAG_SIGMD5, rpmtsCloseDB(), rpmtsGetRdb(), rpmtsGetTid(), rpmtsInitIterator(), and rpmtsOpenDB().
Referenced by main().
static const char* ftsInfoStr | ( | int | fts_info | ) | [static] |
Definition at line 314 of file rpmcache.c.
References _debug, bhglobs, bhlvl, bhpath, bhpathlen, ftsglob_s::fnflags, FTS_D, FTS_DC, FTS_DEFAULT, FTS_DNR, FTS_DOT, FTS_DP, FTS_ERR, FTS_F, _ftsent::fts_info, FTS_INIT, _ftsent::fts_level, _ftsent::fts_name, _ftsent::fts_namelen, FTS_NS, FTS_NSOK, _ftsent::fts_parent, _ftsent::fts_path, _ftsent::fts_pathlen, Fts_set(), FTS_SKIP, FTS_SL, FTS_SLNONE, FTS_W, ftsInfoStr(), ftsStashLatest(), indent, nbhglobs, and ftsglob_s::patterns.
Referenced by main().
Definition at line 181 of file rpmcache.c.
References alloca(), archOkay(), cmpItem(), Fclose(), Ferror(), Fopen(), freeItem(), _ftsent::fts_accpath, _ftsent::fts_level, _ftsent::fts_name, _ftsent::fts_path, _ftsent::fts_statp, Item_s::h, headerFree(), headerGetEntry(), headerLink(), indent, items, Item_s::mtime, newItem(), nitems, osOkay(), Item_s::path, rpmdsCompare(), rpmdsFree(), rpmdsThis(), RPMMESS_DEBUG, rpmMessage, RPMRC_OK, rpmReadPackageFile(), RPMSENSE_EQUAL, RPMSENSE_LESS, RPMTAG_ARCH, RPMTAG_OS, RPMTAG_PROVIDENAME, RPMTAG_REQUIRENAME, Item_s::size, Stat(), Item_s::this, xrealloc(), and xstrdup().
Referenced by ftsPrint().
static void initGlobs | ( | rpmts | ts, | |
const char ** | argv | |||
) | [static] |
Initialize fts and glob structures.
ts | transaction set | |
argv | package names to match |
Definition at line 441 of file rpmcache.c.
References _free(), bhglobs, bhpath, bhpathlen, ftsSet, Glob_pattern_p(), nbhglobs, ftsglob_s::patterns, rpmExpand(), RPMMESS_DEBUG, rpmMessage, stpcpy(), and xcalloc().
Referenced by main().
int main | ( | int | argc, | |
char *const | argv[] | |||
) |
Definition at line 534 of file rpmcache.c.
References _, __progname, _free(), _RPMVSF_NODIGESTS, _RPMVSF_NOSIGNATURES, EXIT_FAILURE, freeItems(), Fts_close(), FTS_COMFOLLOW, FTS_LOGICAL, FTS_NOSTAT, Fts_open(), Fts_read(), ftsCachePrint(), ftsCacheUpdate(), ftsOpts, ftsPrint(), ftsSet, initGlobs(), noCache, optionsTable, rpmcliFini(), rpmcliInit(), rpmcliQueryFlags, rpmExpand(), rpmMkdirPath(), RPMRC_FAIL, RPMRC_OK, rpmtsCreate(), rpmtsFree(), rpmtsSetTid(), rpmtsSetVSFlags(), RPMVSF_NOHDRCHK, VERIFY_DIGEST, VERIFY_HDRCHK, VERIFY_SIGNATURE, and vsflags.
static Item newItem | ( | void | ) | [inline, static] |
static int osOkay | ( | const char * | pkgOs | ) | [static] |
int _debug = 0 [static] |
Definition at line 20 of file rpmcache.c.
int bhlvl = -1 |
const char* bhpath |
int bhpathlen = 0 |
const char* ftsInfoStrings[] [static] |
Initial value:
{ "UNKNOWN", "D", "DC", "DEFAULT", "DNR", "DOT", "DP", "ERR", "F", "INIT", "NS", "NSOK", "SL", "SLNONE", "W", }
Definition at line 290 of file rpmcache.c.
char** ftsSet [static] |
int indent = 2 [static] |
Definition at line 39 of file rpmcache.c.
Definition at line 49 of file rpmcache.c.
Referenced by freeItems(), ftsCachePrint(), ftsCacheUpdate(), ftsStashLatest(), and rpmsxParse().
int nbhglobs = 5 [static] |
int nitems = 0 [static] |
Definition at line 50 of file rpmcache.c.
Referenced by freeItems(), fts_build(), Fts_open(), ftsCachePrint(), ftsCacheUpdate(), and ftsStashLatest().
int noCache = 0 [static] |
struct poptOption optionsTable[] [static] |
Initial value:
{ { "nolegacy", '\0', POPT_BIT_SET, &vsflags, RPMVSF_NEEDPAYLOAD, "don't verify header+payload signature" , NULL }, { "nocache", '\0', POPT_ARG_VAL, &noCache, -1, "don't update cache database, only print package paths" , NULL }, { NULL, '\0', POPT_ARG_INCLUDE_TABLE, rpmcliFtsPoptTable, 0, "File tree walk options:" , NULL }, { NULL, '\0', POPT_ARG_INCLUDE_TABLE, rpmcliAllPoptTable, 0, "Common options for all rpm modes and executables:" , NULL }, POPT_AUTOALIAS POPT_AUTOHELP POPT_TABLEEND }
Definition at line 513 of file rpmcache.c.
const char* program_name |
Definition at line 6 of file rpmcache.c.
rpmVSFlags vsflags = 0 [static] |
Definition at line 511 of file rpmcache.c.
Referenced by build(), headerCheck(), main(), rpmcliQuery(), rpmcliVerify(), rpmErase(), rpmGraph(), rpmInstall(), rpmReadPackageFile(), rpmts_Create(), rpmts_init(), rpmts_SetVSFlags(), rpmtsRun(), and rpmtsVSFlags().