#include "system.h"
#include <rpmlib.h>
#include <rpmte.h>
#include <rpmgi.h>
#include <rpmdb.h>
#include <rpmmacro.h>
#include "manifest.h"
#include "debug.h"
Go to the source code of this file.
Defines | |
#define | _RPMGI_INTERNAL |
#define | _RPMTS_INTERNAL |
Functions | |
static const char * | ftsInfoStr (int fts_info) |
static FD_t | rpmgiOpen (const char *path, const char *fmode) |
Open a file after macro expanding path. | |
static rpmRC | rpmgiLoadManifest (rpmgi gi, const char *path) |
Load manifest into iterator arg list. | |
static Header | rpmgiReadHeader (rpmgi gi, const char *path) |
Return header from package. | |
static rpmRC | rpmgiLoadReadHeader (rpmgi gi) |
Read next header from package, lazily expanding manifests as found. | |
static rpmRC | rpmgiWalkPathFilter (rpmgi gi) |
Filter file tree walk path. | |
static rpmRC | rpmgiWalkReadHeader (rpmgi gi) |
Read header from next package, lazily walking file tree. | |
static rpmRC | rpmgiGlobArgv (rpmgi gi, ARGV_t argv) |
Append globbed arg list to iterator. | |
static rpmRC | rpmgiInitFilter (rpmgi gi) |
Return rpmdb match iterator with filters (if any) set. | |
rpmgi | XrpmgiUnlink (rpmgi gi, const char *msg, const char *fn, unsigned ln) |
rpmgi | XrpmgiLink (rpmgi gi, const char *msg, const char *fn, unsigned ln) |
rpmgi | rpmgiFree (rpmgi gi) |
Destroy a generalized iterator. | |
rpmgi | rpmgiNew (rpmts ts, int tag, const void *keyp, size_t keylen) |
Return a generalized iterator. | |
rpmRC | rpmgiNext (rpmgi gi) |
Perform next iteration step. | |
const char * | rpmgiHdrPath (rpmgi gi) |
Return current header path. | |
Header | rpmgiHeader (rpmgi gi) |
Return current iteration header. | |
rpmts | rpmgiTs (rpmgi gi) |
Return current iteration transaction set. | |
rpmRC | rpmgiSetArgs (rpmgi gi, ARGV_t argv, int ftsOpts, rpmgiFlags flags) |
Load iterator args. | |
Variables | |
int | _rpmgi_debug = 0 |
rpmgiFlags | giFlags = RPMGI_NONE |
static int | indent = 2 |
static const char * | ftsInfoStrings [] |
|
|
|
|
|
Definition at line 54 of file rpmgi.c. References ftsInfoStrings. Referenced by ftsPrint(), rpmfts_print(), and rpmgiWalkPathFilter(). |
|
Destroy a generalized iterator.
Definition at line 402 of file rpmgi.c. References _free(), argvFree(), Fclose(), Fts_close(), headerFree(), rpmdbFreeIterator(), rpmgiUnlink, rpmtsFree(), and rpmtsiFree. Referenced by main(), and rpmcliArgIter(). |
|
Append globbed arg list to iterator.
Definition at line 285 of file rpmgi.c. References argvAppend(), argvFree(), RPMDBI_ARGLIST, RPMDBI_FTSWALK, RPMDBI_HDLIST, RPMGI_NOGLOB, rpmGlob(), and RPMRC_OK. Referenced by rpmgiSetArgs(). |
|
Return current header path.
Definition at line 665 of file rpmgi.c. Referenced by rpmcliArgIter(), and rpmgiPathOrQF(). |
|
Return current iteration header.
Definition at line 670 of file rpmgi.c. Referenced by rpmgiPathOrQF(), and rpmgiShowMatches(). |
|
Return rpmdb match iterator with filters (if any) set.
Definition at line 327 of file rpmgi.c. References _, _free(), _rpmgi_debug, rpmdbFreeIterator(), rpmdbSetIteratorRE(), RPMERR_QUERYINFO, rpmError, RPMMIRE_DEFAULT, RPMRC_FAIL, RPMRC_OK, RPMTAG_NAME, rpmtsInitIterator(), tagName(), tagValue(), and xstrdup(). Referenced by rpmgiNext(). |
|
Load manifest into iterator arg list.
Definition at line 96 of file rpmgi.c. References Fclose(), rpmgiOpen(), RPMRC_FAIL, and rpmReadPackageManifest(). Referenced by rpmgiLoadReadHeader(). |
|
Read next header from package, lazily expanding manifests as found.
Definition at line 156 of file rpmgi.c. References _free(), headerFree(), headerLink(), RPMGI_NOHEADER, RPMGI_NOMANIFEST, rpmgiLoadManifest(), rpmgiReadHeader(), RPMRC_NOTFOUND, and RPMRC_OK. Referenced by rpmgiNext(). |
|
Return a generalized iterator.
Definition at line 441 of file rpmgi.c. References rpmgiLink, rpmtsLink, and xcalloc(). Referenced by main(), and rpmcliArgIter(). |
|
Perform next iteration step.
Definition at line 475 of file rpmgi.c. References _, _free(), _rpmgi_debug, Fclose(), Fts_close(), Fts_open(), HEADER_MAGIC_YES, headerFree(), headerLink(), headerRead(), rpmdbFreeIterator(), rpmdbGetIteratorOffset(), RPMDBI_ADDED, RPMDBI_ARGLIST, RPMDBI_FTSWALK, RPMDBI_HDLIST, RPMDBI_PACKAGES, rpmdbNextIterator(), rpmExpand(), RPMGI_NOHEADER, RPMGI_TSADD, RPMGI_TSORDER, rpmgiInitFilter(), rpmgiLoadReadHeader(), rpmgiOpen(), rpmgiWalkReadHeader(), rpmIsVerbose, RPMMESS_VERBOSE, rpmMessage, rpmpsFree(), rpmpsNumProblems(), rpmpsPrint(), RPMRC_NOTFOUND, RPMRC_OK, rpmteHeader(), rpmtsAddInstallElement(), rpmtsCheck(), rpmtsCloseDB(), rpmtsiFree, rpmtsiInit, rpmtsiNext(), rpmtsOrder(), rpmtsProblems(), TR_ADDED, and xstrdup(). Referenced by main(), rpmcliArgIter(), and rpmgiShowMatches(). |
|
Open a file after macro expanding path.
Definition at line 73 of file rpmgi.c. References _, _free(), Fclose(), Ferror(), Fopen(), Fstrerror(), RPMERR_OPEN, rpmError, and rpmExpand(). Referenced by rpmgiLoadManifest(), rpmgiNext(), and rpmgiReadHeader(). |
|
Return header from package.
Definition at line 117 of file rpmgi.c. References Fclose(), headerFree(), rpmgiOpen(), RPMRC_FAIL, RPMRC_NOKEY, RPMRC_NOTFOUND, RPMRC_NOTTRUSTED, RPMRC_OK, and rpmReadPackageFile(). Referenced by rpmgiLoadReadHeader(), and rpmgiWalkReadHeader(). |
|
Load iterator args.
Definition at line 684 of file rpmgi.c. References rpmgiGlobArgv(). Referenced by main(), and rpmcliArgIter(). |
|
Return current iteration transaction set.
|
|
Filter file tree walk path.
Definition at line 202 of file rpmgi.c. References _rpmgi_debug, 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, FTS_SL, FTS_SLNONE, FTS_W, ftsInfoStr(), indent, RPMMESS_DEBUG, rpmMessage, RPMRC_NOTFOUND, and RPMRC_OK. Referenced by rpmgiWalkReadHeader(). |
|
Read header from next package, lazily walking file tree.
Definition at line 251 of file rpmgi.c. References Fts_read(), headerFree(), headerLink(), RPMGI_NOHEADER, rpmgiReadHeader(), rpmgiWalkPathFilter(), RPMRC_NOTFOUND, and RPMRC_OK. Referenced by rpmgiNext(). |
|
Definition at line 391 of file rpmgi.c. References _rpmgi_debug. |
|
Definition at line 380 of file rpmgi.c. References _rpmgi_debug. |
|
|
|
Initial value: { "UNKNOWN", "D", "DC", "DEFAULT", "DNR", "DOT", "DP", "ERR", "F", "INIT", "NS", "NSOK", "SL", "SLNONE", "W", } Definition at line 35 of file rpmgi.c. Referenced by ftsInfoStr(). |
|
Definition at line 29 of file rpmgi.c. Referenced by main(), and rpmcliArgIter(). |
|
Definition at line 32 of file rpmgi.c. Referenced by ftsPrint(), ftsStashLatest(), rpmfts_print(), and rpmgiWalkPathFilter(). |