|
rpm 5.3.7
|
#include "system.h"#include <rpmio.h>#include <rpmiotypes.h>#include <rpmcb.h>#include <rpmmacro.h>#include <rpmtypes.h>#include <rpmtag.h>#include <rpmdb.h>#include <rpmte.h>#include <pkgio.h>#include <rpmgi.h>#include "manifest.h"#include <rpmcli.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. | |
| Header | rpmgiReadHeader (rpmgi gi, const char *path) |
| Return header from package. | |
| static rpmRC | rpmgiLoadNextKey (rpmgi gi) |
| Load next key from argv list. | |
| 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. | |
| const char * | rpmgiEscapeSpaces (const char *s) |
| Escape isspace(3) characters in string. | |
| 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. | |
| static void | rpmgiFini (void *_gi) |
| static rpmgi | rpmgiGetPool (rpmioPool pool) |
| rpmgi | rpmgiNew (rpmts ts, int tag, const void *keyp, size_t keylen) |
| Return a generalized iterator. | |
| rpmRC | rpmgiNext (rpmgi gi) |
| Perform next iteration step. | |
| rpmgiFlags | rpmgiGetFlags (rpmgi gi) |
| Return current iteration flags. | |
| 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 [] |
| rpmioPool | _rpmgiPool |
| static const char * | _query_hdlist_path = "/usr/share/comps/%{_arch}/hdlist" |
Definition in file rpmgi.c.
| static const char* ftsInfoStr | ( | int | fts_info | ) | [static] |
Definition at line 73 of file rpmgi.c.
References ftsInfoStrings.
Referenced by rpmgiWalkPathFilter().
| const char* rpmgiEscapeSpaces | ( | const char * | s | ) |
Escape isspace(3) characters in string.
| s | string |
Definition at line 335 of file rpmgi.c.
References xmalloc().
Referenced by IDTXglob(), and rpmgiGlobArgv().
| static void rpmgiFini | ( | void * | _gi | ) | [static] |
Definition at line 464 of file rpmgi.c.
References _free(), argvFree(), Fclose(), Fts_close(), headerFree(), rpmmiFree(), rpmtsFree(), and rpmtsiFree().
Referenced by rpmgiGetPool().
| rpmgiFlags rpmgiGetFlags | ( | rpmgi | gi | ) |
Return current iteration flags.
| gi | generalized iterator |
Definition at line 798 of file rpmgi.c.
References RPMGI_NONE.
Referenced by rpmcliArgIter().
Definition at line 495 of file rpmgi.c.
References _rpmgi_debug, _rpmgiPool, rpmgiFini(), rpmioGetPool(), and rpmioNewPool().
Referenced by rpmgiNew().
Append globbed arg list to iterator.
| gi | generalized iterator |
| argv | arg list to be globbed (or NULL) |
Definition at line 365 of file rpmgi.c.
References _free(), argvAppend(), argvFree(), RPMDBI_ARGLIST, RPMDBI_FTSWALK, RPMDBI_HDLIST, RPMGI_NOGLOB, rpmgiEscapeSpaces(), rpmGlob(), and RPMRC_OK.
Referenced by rpmgiSetArgs().
| const char* rpmgiHdrPath | ( | rpmgi | gi | ) |
Return current header path.
| gi | generalized iterator |
Definition at line 803 of file rpmgi.c.
Referenced by rpmcliArgIter(), rpmcliInstall(), rpmcliSign(), and rpmReSign().
Return current iteration header.
| gi | generalized iterator |
Definition at line 808 of file rpmgi.c.
Referenced by rpmcliInstall(), and rpmgiShowMatches().
Return rpmdb match iterator with filters (if any) set.
| gi | generalized iterator |
Definition at line 409 of file rpmgi.c.
References _, _free(), _rpmgi_debug, RPMDBI_PACKAGES, rpmlog(), RPMLOG_NOTICE, rpmmiAddPattern(), rpmmiFree(), RPMMIRE_DEFAULT, RPMRC_FAIL, RPMRC_OK, rpmtsInitIterator(), tagName(), tagValue(), and xstrdup().
Referenced by rpmgiNext().
Load manifest into iterator arg list.
| gi | generalized iterator |
| path | file path |
Definition at line 124 of file rpmgi.c.
References Fclose(), rpmgiOpen(), RPMRC_FAIL, and rpmReadPackageManifest().
Referenced by rpmgiLoadReadHeader().
Load next key from argv list.
| gi | generalized iterator |
Definition at line 172 of file rpmgi.c.
References RPMRC_NOTFOUND, and RPMRC_OK.
Referenced by rpmgiNext().
Read next header from package, lazily expanding manifests as found.
An empty file read as manifest truncates argv returning RPMRC_NOTFOUND.
Errors, e.g. non-existent path in manifest, will terminate iteration.
Chained manifests lose an arg someplace.
| gi | generalized iterator |
Definition at line 196 of file rpmgi.c.
References _free(), errno, headerFree(), headerLink(), RPMGI_NOHEADER, RPMGI_NOMANIFEST, rpmgiLoadManifest(), rpmgiReadHeader(), RPMRC_NOTFOUND, and RPMRC_OK.
Referenced by rpmgiNext().
Return a generalized iterator.
| ts | transaction set |
| tag | rpm tag |
| keyp | key data (NULL for sequential access) |
| keylen | key data length (0 will use strlen(keyp)) |
Definition at line 509 of file rpmgi.c.
References rpmcliInstallOrder(), rpmgiGetPool(), rpmgiLink(), rpmtsLink(), and xcalloc().
Referenced by main(), rpmcliArgIter(), rpmcliInstall(), rpmcliSign(), and rpmReSign().
Perform next iteration step.
| gi | generalized iterator |
Definition at line 550 of file rpmgi.c.
References _free(), _query_hdlist_path, _rpmgi_debug, Fclose(), Fts_close(), Fts_open(), headerFree(), headerGetInstance(), headerLink(), rpmcliInstallCheck(), rpmcliInstallSuggests(), rpmdbBlockDBI(), RPMDBI_ADDED, RPMDBI_ARGLIST, RPMDBI_DEPENDS, RPMDBI_FTSWALK, RPMDBI_HDLIST, RPMDBI_PACKAGES, RPMDBI_REMOVED, RPMDEPS_FLAG_DEPLOOPS, rpmExpand(), RPMGI_ERASING, RPMGI_NOHEADER, RPMGI_TSADD, RPMGI_TSORDER, rpmgiInitFilter(), rpmgiLoadNextKey(), rpmgiLoadReadHeader(), rpmgiOpen(), rpmgiWalkReadHeader(), rpmIsVerbose, rpmlog(), RPMLOG_ERR, rpmmiFree(), rpmmiInstance(), rpmmiNext(), rpmpkgRead(), RPMRC_NOTFOUND, RPMRC_OK, rpmteHeader(), rpmteType(), rpmtsAddEraseElement(), rpmtsAddInstallElement(), rpmtsDFlags(), rpmtsGetRdb(), rpmtsiFree(), rpmtsiInit(), rpmtsiNext(), rpmtsSetDFlags(), rpmtsSetGoal(), tagName(), TR_ADDED, TR_REMOVED, TSM_ERASE, TSM_INSTALL, and xstrdup().
Referenced by main(), rpmcliArgIter(), rpmcliInstall(), rpmcliSign(), rpmgiShowMatches(), and rpmReSign().
| static FD_t rpmgiOpen | ( | const char * | path, |
| const char * | fmode | ||
| ) | [static] |
Open a file after macro expanding path.
| path | file path |
| fmode | open mode |
Definition at line 92 of file rpmgi.c.
References _, _free(), errno, Fadvise(), Fclose(), Ferror(), Fopen(), Fstrerror(), rpmExpand(), rpmlog(), and RPMLOG_ERR.
Referenced by rpmgiLoadManifest(), rpmgiNext(), and rpmgiReadHeader().
Return header from package.
| gi | generalized iterator |
| path | file path |
Definition at line 138 of file rpmgi.c.
References Fclose(), headerFree(), rpmgiOpen(), RPMRC_FAIL, RPMRC_NOKEY, RPMRC_NOTFOUND, RPMRC_NOTTRUSTED, RPMRC_OK, and rpmReadPackageFile().
Referenced by rpmcliInstall(), rpmgiLoadReadHeader(), and rpmgiWalkReadHeader().
| rpmRC rpmgiSetArgs | ( | rpmgi | gi, |
| ARGV_t | argv, | ||
| int | ftsOpts, | ||
| rpmgiFlags | flags | ||
| ) |
Load iterator args.
| gi | generalized iterator |
| argv | arg list |
| ftsOpts | fts(3) flags |
| flags | iterator flags |
Definition at line 822 of file rpmgi.c.
References rpmgiGlobArgv(), and RPMRC_FAIL.
Referenced by main(), rpmcliArgIter(), rpmcliInstall(), rpmcliSign(), and rpmReSign().
Filter file tree walk path.
| gi | generalized iterator |
Definition at line 247 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, rpmlog(), RPMLOG_DEBUG, RPMRC_NOTFOUND, and RPMRC_OK.
Referenced by rpmgiWalkReadHeader().
Read header from next package, lazily walking file tree.
| gi | generalized iterator |
Definition at line 298 of file rpmgi.c.
References Fts_read(), headerFree(), headerLink(), RPMGI_NOHEADER, rpmgiReadHeader(), rpmgiWalkPathFilter(), RPMRC_NOTFOUND, and RPMRC_OK.
Referenced by rpmgiNext().
const char* _query_hdlist_path = "/usr/share/comps/%{_arch}/hdlist" [static] |
Definition at line 548 of file rpmgi.c.
Referenced by rpmgiNext().
| int _rpmgi_debug = 0 |
Definition at line 37 of file rpmgi.c.
Referenced by rpmgiGetPool(), rpmgiInitFilter(), rpmgiNext(), and rpmgiWalkPathFilter().
Definition at line 493 of file rpmgi.c.
Referenced by rpmgiGetPool().
const char* ftsInfoStrings[] [static] |
{
"UNKNOWN",
"D",
"DC",
"DEFAULT",
"DNR",
"DOT",
"DP",
"ERR",
"F",
"INIT",
"NS",
"NSOK",
"SL",
"SLNONE",
"W",
}
Definition at line 52 of file rpmgi.c.
Referenced by ftsInfoStr().
| rpmgiFlags giFlags = RPMGI_NONE |
Definition at line 42 of file rpmgi.c.
Referenced by main(), and rpmcliArgIter().
int indent = 2 [static] |
Definition at line 47 of file rpmgi.c.
Referenced by FDGyamlTag(), mtreeCWalk(), mtreeVisitF(), output(), PRCOyamlTag(), rpmdcCWalk(), rpmfts_print(), rpmgiWalkPathFilter(), yamlstrcpy(), and yamlstrlen().
1.7.3