#include "rpmlib.h"
#include "rpmurl.h"
#include "rpmmacro.h"
#include "rpmps.h"
#include "argv.h"
Include dependency graph for rpmcli.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Data Structures | |
struct | IDT_s |
struct | IDTindex_s |
struct | rpmQVKArguments_s |
Command line option information. More... | |
struct | rpmBuildArguments_s |
Describe build command line request. More... | |
RPMQV | |
#define | RPMVERIFY_MD5 RPMVERIFY_FDIGEST |
#define | RPMVERIFY_ALL ~(RPMVERIFY_NONE) |
#define | RPMVERIFY_FAILURES (RPMVERIFY_LSTATFAIL|RPMVERIFY_READFAIL|RPMVERIFY_READLINKFAIL|RPMVERIFY_LGETFILECONFAIL) |
#define | _QUERY_FOR_BITS |
#define | VERIFY_ATTRS |
#define | VERIFY_ALL |
enum | rpmQVSources_e { RPMQV_PACKAGE = 0, RPMQV_PATH, RPMQV_ALL, RPMQV_RPM, RPMQV_GROUP, RPMQV_WHATPROVIDES, RPMQV_WHATREQUIRES, RPMQV_TRIGGEREDBY, RPMQV_DBOFFSET, RPMQV_SPECFILE, RPMQV_PKGID, RPMQV_HDRID, RPMQV_FILEID, RPMQV_TID, RPMQV_HDLIST, RPMQV_FTSWALK, RPMQV_WHATNEEDS, RPMQV_SPECSRPM } |
Query/Verify argument qualifiers. More... | |
enum | rpmVerifyAttrs_e { RPMVERIFY_NONE = 0, RPMVERIFY_FDIGEST = (1 << 0), RPMVERIFY_FILESIZE = (1 << 1), RPMVERIFY_LINKTO = (1 << 2), RPMVERIFY_USER = (1 << 3), RPMVERIFY_GROUP = (1 << 4), RPMVERIFY_MTIME = (1 << 5), RPMVERIFY_MODE = (1 << 6), RPMVERIFY_RDEV = (1 << 7), RPMVERIFY_CONTEXTS = (1 << 15), RPMVERIFY_READLINKFAIL = (1 << 28), RPMVERIFY_READFAIL = (1 << 29), RPMVERIFY_LSTATFAIL = (1 << 30), RPMVERIFY_LGETFILECONFAIL = (1 << 31) } |
Bit(s) for rpmVerifyFile() attributes and result. More... | |
enum | rpmQueryFlags_e { QUERY_FOR_DEFAULT = 0, QUERY_FDIGEST = (1 << 0), QUERY_SIZE = (1 << 1), QUERY_LINKTO = (1 << 2), QUERY_USER = (1 << 3), QUERY_GROUP = (1 << 4), QUERY_MTIME = (1 << 5), QUERY_MODE = (1 << 6), QUERY_RDEV = (1 << 7), QUERY_CONTEXTS = (1 << 15), QUERY_FILES = (1 << 16), QUERY_DEPS = (1 << 17), QUERY_SCRIPT = (1 << 18), QUERY_DIGEST = (1 << 19), QUERY_SIGNATURE = (1 << 20), QUERY_PATCHES = (1 << 21), QUERY_HDRCHK = (1 << 22), QUERY_FOR_LIST = (1 << 23), QUERY_FOR_STATE = (1 << 24), QUERY_FOR_DOCS = (1 << 25), QUERY_FOR_CONFIG = (1 << 26), QUERY_FOR_DUMPFILES = (1 << 27) } |
Bit(s) to control rpmQuery() operation, stored in qva_flags. More... | |
enum | rpmVerifyFlags_e { VERIFY_DEFAULT = 0, VERIFY_FDIGEST = (1 << 0), VERIFY_SIZE = (1 << 1), VERIFY_LINKTO = (1 << 2), VERIFY_USER = (1 << 3), VERIFY_GROUP = (1 << 4), VERIFY_MTIME = (1 << 5), VERIFY_MODE = (1 << 6), VERIFY_RDEV = (1 << 7), VERIFY_CONTEXTS = (1 << 15), VERIFY_FILES = (1 << 16), VERIFY_DEPS = (1 << 17), VERIFY_SCRIPT = (1 << 18), VERIFY_DIGEST = (1 << 19), VERIFY_SIGNATURE = (1 << 20), VERIFY_PATCHES = (1 << 21), VERIFY_HDRCHK = (1 << 22), VERIFY_FOR_LIST = (1 << 23), VERIFY_FOR_STATE = (1 << 24), VERIFY_FOR_DOCS = (1 << 25), VERIFY_FOR_CONFIG = (1 << 26), VERIFY_FOR_DUMPFILES = (1 << 27) } |
Bit(s) to control rpmVerify() operation, stored in qva_flags. More... | |
rpmQueryFlags | rpmcliQueryFlags |
Bit(s) from common command line options. | |
poptOption | rpmQVSourcePoptTable [] |
Common query/verify mode options. | |
int | specedit |
poptOption | rpmQueryPoptTable [] |
Query mode options. | |
poptOption | rpmVerifyPoptTable [] |
Verify mode options. | |
typedef enum rpmQVSources_e | rpmQVSources |
Query/Verify argument qualifiers. | |
typedef enum rpmVerifyAttrs_e | rpmVerifyAttrs |
Bit(s) for rpmVerifyFile() attributes and result. | |
typedef enum rpmQueryFlags_e | rpmQueryFlags |
Bit(s) to control rpmQuery() operation, stored in qva_flags. | |
typedef enum rpmVerifyFlags_e | rpmVerifyFlags |
Bit(s) to control rpmVerify() operation, stored in qva_flags. | |
typedef rpmQVKArguments_s * | QVA_t |
typedef int(*) | QVF_t (QVA_t qva, rpmts ts, Header h) |
Function to display iterator matches. | |
typedef int(*) | QSpecF_t (rpmts ts, QVA_t qva, const char *arg) |
Function to query spec file. | |
int | rpmcliShowMatches (QVA_t qva, rpmts ts) |
Display query/verify information for each header in iterator. | |
void | rpmDisplayQueryTags (FILE *fp) |
Display list of tags that can be used in --queryformat. | |
int | rpmQueryVerify (QVA_t qva, rpmts ts, const char *arg) |
Common query/verify source interface, called once for each CLI arg. | |
int | showQueryPackage (QVA_t qva, rpmts ts, Header h) |
Display results of package query. | |
int | rpmcliArgIter (rpmts ts, QVA_t qva, ARGV_t argv) |
Iterate over query/verify arg list. | |
int | rpmcliQuery (rpmts ts, QVA_t qva, const char **argv) |
Display package information. | |
int | rpmVerifyFile (const rpmts ts, rpmfi fi, rpmVerifyAttrs *res, rpmVerifyAttrs omitMask) |
Verify file attributes (including file digest). | |
int | showVerifyPackage (QVA_t qva, rpmts ts, Header h) |
Display results of package verify. | |
int | rpmVerifySignatures (QVA_t qva, rpmts ts, FD_t fd, const char *fn) |
Check package and header signatures. | |
int | rpmcliVerify (rpmts ts, QVA_t qva, const char **argv) |
Verify package install. | |
RPMEIU | |
enum | rpmInstallInterfaceFlags_e { INSTALL_NONE = 0, INSTALL_PERCENT = (1 << 0), INSTALL_HASH = (1 << 1), INSTALL_NODEPS = (1 << 2), INSTALL_NOORDER = (1 << 3), INSTALL_LABEL = (1 << 4), INSTALL_UPGRADE = (1 << 5), INSTALL_FRESHEN = (1 << 6), INSTALL_INSTALL = (1 << 7), INSTALL_ERASE = (1 << 8), INSTALL_ALLMATCHES = (1 << 9) } |
Bit(s) to control rpmInstall() and rpmErase() operation. More... | |
int | rpmcliPackagesTotal |
int | rpmcliHashesCurrent |
int | rpmcliHashesTotal |
unsigned long long | rpmcliProgressCurrent |
unsigned long long | rpmcliProgressTotal |
poptOption | rpmInstallPoptTable [] |
typedef enum rpmInstallInterfaceFlags_e | rpmInstallInterfaceFlags |
Bit(s) to control rpmInstall() and rpmErase() operation. | |
typedef IDT_s * | IDT |
A rollback transaction id element. | |
typedef IDTindex_s * | IDTX |
A rollback transaction id index. | |
void * | rpmShowProgress (const void *arg, const rpmCallbackType what, const unsigned long long amount, const unsigned long long total, fnpyKey key, void *data) |
The rpm CLI generic transaction callback handler. | |
int | rpmInstallSource (rpmts ts, const char *arg, const char **specFilePtr, const char **cookie) |
Install source rpm package. | |
int | rpmInstall (rpmts ts, QVA_t ia, const char **fileArgv) |
Install/upgrade/freshen binary rpm package. | |
int | rpmErase (rpmts ts, QVA_t ia, const char **argv) |
Erase binary rpm package. | |
IDTX | IDTXfree (IDTX idtx) |
Destroy id index. | |
IDTX | IDTXnew (void) |
Create id index. | |
IDTX | IDTXgrow (IDTX idtx, int need) |
Insure that index has room for "need" elements. | |
IDTX | IDTXsort (IDTX idtx) |
Sort tag (instance,value) pairs. | |
IDTX | IDTXload (rpmts ts, rpmTag tag, uint_32 rbtid) |
Load tag (instance,value) pairs from rpm databse, and return sorted id index. | |
IDTX | IDTXglob (rpmts ts, const char *globstr, rpmTag tag, uint_32 rbtid) |
Load tag (instance,value) pairs from packages, and return sorted id index. | |
int | rpmRollback (rpmts ts, QVA_t ia, const char **argv) |
Rollback transactions, erasing new, reinstalling old, package(s). | |
RPMK | |
enum | rpmSignFlags_e { RPMSIGN_NONE = 0, RPMSIGN_CHK_SIGNATURE = 'K', RPMSIGN_NEW_SIGNATURE = 'R', RPMSIGN_ADD_SIGNATURE = 'A', RPMSIGN_DEL_SIGNATURE = 'D', RPMSIGN_IMPORT_PUBKEY = 'I' } |
Bit(s) to control rpmReSign() operation. More... | |
poptOption | rpmSignPoptTable [] |
Signature mode options. | |
typedef enum rpmSignFlags_e | rpmSignFlags |
Bit(s) to control rpmReSign() operation. | |
rpmRC | rpmcliImportPubkey (const rpmts ts, const unsigned char *pkt, ssize_t pktlen) |
Import public key packet(s). | |
int | rpmcliSign (rpmts ts, QVA_t qva, const char **argv) |
Create/Modify/Check elements from signature header. | |
RPMBT | |
rpmBuildArguments_s | rpmBTArgs |
poptOption | rpmBuildPoptTable [] |
typedef rpmBuildArguments_s * | BTA_t |
Defines | |
#define | RPMCLI_POPT_NODEPS -1025 |
Common/global popt tokens used for command line option tables. | |
#define | RPMCLI_POPT_FORCE -1026 |
#define | RPMCLI_POPT_NOFDIGESTS -1027 |
#define | RPMCLI_POPT_NOSCRIPTS -1028 |
#define | RPMCLI_POPT_NOSIGNATURE -1029 |
#define | RPMCLI_POPT_NODIGEST -1030 |
#define | RPMCLI_POPT_NOHDRCHK -1031 |
#define | RPMCLI_POPT_NOCONTEXTS -1032 |
#define | RPMCLI_POPT_TARGETPLATFORM -1033 |
Functions | |
poptContext | rpmcliInit (int argc, char *const argv[], struct poptOption *optionsTable) |
Initialize most everything needed by an rpm CLI executable context. | |
void | rpmcliConfigured (void) |
Make sure that rpm configuration has been read. | |
poptContext | rpmcliFini (poptContext optCon) |
Destroy most everything needed by an rpm CLI executable context. | |
Variables | |
int | _noDirTokens |
Should version 3 packages be produced? | |
poptOption | rpmcliAllPoptTable [] |
Popt option table for options shared by all modes and executables. | |
int | ftsOpts |
poptOption | rpmcliFtsPoptTable [] |
int | global_depFlags |
poptOption | rpmcliDepFlagsPoptTable [] |
const char * | rpmcliPipeOutput |
const char * | rpmcliRcfile |
const char * | rpmcliRootDir |
const char * | rpmcliTargets |
rpmQVKArguments_s | rpmQVKArgs |
rpmQVKArguments_s | rpmIArgs |
rpmQVKArguments_s | rpmDBArgs |
RPMDB | |
poptOption | rpmDatabasePoptTable [] |
Definition in file rpmcli.h.
#define _QUERY_FOR_BITS |
#define RPMCLI_POPT_FORCE -1026 |
Definition at line 99 of file rpmcli.h.
Referenced by buildArgCallback(), installArgCallback(), and queryArgCallback().
#define RPMCLI_POPT_NOCONTEXTS -1032 |
Definition at line 105 of file rpmcli.h.
Referenced by installArgCallback(), and queryArgCallback().
#define RPMCLI_POPT_NODEPS -1025 |
Common/global popt tokens used for command line option tables.
Definition at line 98 of file rpmcli.h.
Referenced by buildArgCallback(), installArgCallback(), and queryArgCallback().
#define RPMCLI_POPT_NODIGEST -1030 |
Definition at line 103 of file rpmcli.h.
Referenced by buildArgCallback(), installArgCallback(), queryArgCallback(), and rpmcliAllArgCallback().
#define RPMCLI_POPT_NOFDIGESTS -1027 |
Definition at line 100 of file rpmcli.h.
Referenced by installArgCallback(), and queryArgCallback().
#define RPMCLI_POPT_NOHDRCHK -1031 |
Definition at line 104 of file rpmcli.h.
Referenced by buildArgCallback(), installArgCallback(), queryArgCallback(), and rpmcliAllArgCallback().
#define RPMCLI_POPT_NOSCRIPTS -1028 |
Definition at line 101 of file rpmcli.h.
Referenced by installArgCallback(), and queryArgCallback().
#define RPMCLI_POPT_NOSIGNATURE -1029 |
Definition at line 102 of file rpmcli.h.
Referenced by buildArgCallback(), installArgCallback(), queryArgCallback(), and rpmcliAllArgCallback().
#define RPMCLI_POPT_TARGETPLATFORM -1033 |
#define RPMVERIFY_ALL ~(RPMVERIFY_NONE) |
Definition at line 160 of file rpmcli.h.
Referenced by processPackageFiles(), and processSourceFiles().
#define RPMVERIFY_FAILURES (RPMVERIFY_LSTATFAIL|RPMVERIFY_READFAIL|RPMVERIFY_READLINKFAIL|RPMVERIFY_LGETFILECONFAIL) |
#define RPMVERIFY_MD5 RPMVERIFY_FDIGEST |
#define VERIFY_ALL |
Value:
( VERIFY_ATTRS | VERIFY_FILES | VERIFY_DEPS | VERIFY_SCRIPT | VERIFY_DIGEST |\ VERIFY_SIGNATURE | VERIFY_HDRCHK )
Definition at line 244 of file rpmcli.h.
Referenced by main().
#define VERIFY_ATTRS |
Value:
( VERIFY_FDIGEST | VERIFY_SIZE | VERIFY_LINKTO | VERIFY_USER | VERIFY_GROUP | \ VERIFY_MTIME | VERIFY_MODE | VERIFY_RDEV | VERIFY_CONTEXTS )
Definition at line 241 of file rpmcli.h.
Referenced by verifyHeader().
void rpmcliConfigured | ( | void | ) |
Make sure that rpm configuration has been read.
Definition at line 150 of file poptALL.c.
References _free(), EXIT_FAILURE, rpmcliInitialized, rpmcliRcfile, rpmcliTargets, rpmReadConfigFiles(), and xstrdup().
Referenced by main(), rpmcliAllArgCallback(), and rpmcliInit().
poptContext rpmcliFini | ( | poptContext | optCon | ) |
Destroy most everything needed by an rpm CLI executable context.
optCon | popt context |
Definition at line 480 of file poptALL.c.
References _free(), headerTagIndices_s::byName, headerTagIndices_s::byValue, rpmCLIMacroContext, rpmcliTargets, rpmFreeFilesystems(), rpmFreeMacros(), rpmFreeRpmrc(), rpmlogClose(), rpmTags, and urlFreeCache().
Referenced by main(), and rpmcliAllArgCallback().
poptContext rpmcliInit | ( | int | argc, | |
char *const | argv[], | |||
struct poptOption * | optionsTable | |||
) |
Initialize most everything needed by an rpm CLI executable context.
argc | no. of args | |
argv | arg array | |
optionsTable | popt option table |
Definition at line 510 of file poptALL.c.
References _, __progname, _debug, bindtextdomain, EXIT_FAILURE, LOCALEDIR, PACKAGE, rpmcliConfigured(), rpmIncreaseVerbosity, RPMMESS_NORMAL, RPMPOPTFILE, rpmSetVerbosity, setlocale, setprogname, textdomain, USRLIBRPM, and VERSION.
Referenced by main().
Check package and header signatures.
qva | parsed query/verify options | |
ts | transaction set | |
fd | package file handle | |
fn | package file name |
Definition at line 725 of file rpmchecksig.c.
References _, _free(), _print_pkts, fdInitDigest(), pgpDigParams_s::hash_algo, headerFreeData(), headerFreeIterator(), headerGetEntry(), headerInitIterator(), headerIsEntry(), headerNextIterator(), pgpCleanDig(), PGPHASHALGO_MD5, PGPHASHALGO_SHA1, pgpPrtPkts(), rpmQVKArguments_s::qva_flags, readFile(), readLead(), RPMERR_BADSIGTYPE, RPMERR_READLEAD, RPMERR_SIGGEN, RPMERR_SIGVFY, rpmError, rpmFreeSignature(), rpmIsDebug, rpmIsVerbose, RPMRC_NOKEY, RPMRC_NOTTRUSTED, RPMRC_OK, rpmReadSignature(), RPMSIGTAG_DSA, RPMSIGTAG_GPG, RPMSIGTAG_LEMD5_1, RPMSIGTAG_LEMD5_2, RPMSIGTAG_MD5, RPMSIGTAG_PGP, RPMSIGTAG_PGP5, RPMSIGTAG_RSA, RPMSIGTAG_SHA1, RPMSIGTAG_SIZE, rpmtsCleanDig(), rpmtsDig(), rpmtsSetSig(), rpmtsSignature(), rpmVerifySignature(), pgpDig_s::signature, stpcpy(), stpncpy(), VERIFY_DIGEST, VERIFY_SIGNATURE, and pgpDigParams_s::version.
Referenced by rpmcliSign().
int ftsOpts |
int global_depFlags |
struct poptOption rpmcliDepFlagsPoptTable[] |
struct poptOption rpmcliFtsPoptTable[] |
const char* rpmcliPipeOutput |
const char* rpmcliRcfile |
Definition at line 113 of file poptALL.c.
Referenced by main(), rpmcliConfigured(), rpmRebuildTargetVars(), rpmShowRC(), and rpmspecQuery().
const char* rpmcliRootDir |
const char* rpmcliTargets |
Definition at line 122 of file poptALL.c.
Referenced by build(), rpmcliAllArgCallback(), rpmcliConfigured(), rpmcliFini(), and rpmspecQuery().