#include "rpmlib.h"
#include "rpmurl.h"
#include "rpmmacro.h"
#include "argv.h"
Go to the source code of this file.
Data Structures | |
struct | rpmQVKArguments_s |
Describe query/verify/signature command line operation. More... | |
struct | rpmBuildArguments_s |
Describe build command line request. More... | |
struct | rpmInstallArguments_s |
Describe database command line requests. More... | |
struct | IDT_s |
A rollback transaction id element. More... | |
struct | IDTindex_s |
A rollback transaction id index. More... | |
struct | rpmDatabaseArguments_s |
Describe database command line requests. More... | |
RPMQV | |
#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 } |
Query/Verify argument qualifiers. More... | |
enum | rpmVerifyAttrs_e { RPMVERIFY_NONE = 0, RPMVERIFY_MD5 = (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_MD5 = (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_MD5 = (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. | |
rpmQVKArguments_s | rpmQVKArgs |
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 MD5 sum). | |
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. | |
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 |
RPMEIU | |
int | rpmcliPackagesTotal |
int | rpmcliHashesCurrent |
int | rpmcliHashesTotal |
int | rpmcliProgressCurrent |
int | rpmcliProgressTotal |
rpmInstallArguments_s | rpmIArgs |
poptOption | rpmInstallPoptTable [] |
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 amount, const unsigned 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, struct rpmInstallArguments_s *ia, const char **fileArgv) |
Install/upgrade/freshen binary rpm package. | |
int | rpmErase (rpmts ts, struct rpmInstallArguments_s *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) |
Load tag (instance,value) pairs from rpm databse, and return sorted id index. | |
IDTX | IDTXglob (rpmts ts, const char *globstr, rpmTag tag) |
Load tag (instance,value) pairs from packages, and return sorted id index. | |
int | rpmRollback (rpmts ts, struct rpmInstallArguments_s *ia, const char **argv) |
Rollback transactions, erasing new, reinstalling old, package(s). | |
Defines | |
#define | RPMCLI_POPT_NODEPS -1025 |
Common/global popt tokens used for command line option tables. | |
#define | RPMCLI_POPT_FORCE -1026 |
#define | RPMCLI_POPT_NOMD5 -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 |
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 [] |
const char * | rpmcliPipeOutput |
const char * | rpmcliRcfile |
const char * | rpmcliRootDir |
RPMDB | |
rpmDatabaseArguments_s | rpmDBArgs |
poptOption | rpmDatabasePoptTable [] |
Definition in file rpmcli.h.
#define _QUERY_FOR_BITS |
#define RPMCLI_POPT_FORCE -1026 |
Definition at line 85 of file rpmcli.h.
Referenced by buildArgCallback(), installArgCallback(), and queryArgCallback().
#define RPMCLI_POPT_NOCONTEXTS -1032 |
#define RPMCLI_POPT_NODEPS -1025 |
Common/global popt tokens used for command line option tables.
Definition at line 84 of file rpmcli.h.
Referenced by buildArgCallback(), installArgCallback(), and queryArgCallback().
#define RPMCLI_POPT_NODIGEST -1030 |
Definition at line 89 of file rpmcli.h.
Referenced by buildArgCallback(), installArgCallback(), queryArgCallback(), and rpmcliAllArgCallback().
#define RPMCLI_POPT_NOHDRCHK -1031 |
Definition at line 90 of file rpmcli.h.
Referenced by buildArgCallback(), installArgCallback(), queryArgCallback(), and rpmcliAllArgCallback().
#define RPMCLI_POPT_NOMD5 -1027 |
#define RPMCLI_POPT_NOSCRIPTS -1028 |
#define RPMCLI_POPT_NOSIGNATURE -1029 |
Definition at line 88 of file rpmcli.h.
Referenced by buildArgCallback(), installArgCallback(), queryArgCallback(), and rpmcliAllArgCallback().
#define RPMVERIFY_ALL ~(RPMVERIFY_NONE) |
Definition at line 142 of file rpmcli.h.
Referenced by processPackageFiles(), and processSourceFiles().
#define RPMVERIFY_FAILURES (RPMVERIFY_LSTATFAIL|RPMVERIFY_READFAIL|RPMVERIFY_READLINKFAIL|RPMVERIFY_LGETFILECONFAIL) |
#define VERIFY_ALL |
Value:
( VERIFY_ATTRS | VERIFY_FILES | VERIFY_DEPS | VERIFY_SCRIPT | VERIFY_DIGEST |\ VERIFY_SIGNATURE | VERIFY_HDRCHK )
Definition at line 226 of file rpmcli.h.
Referenced by main().
#define VERIFY_ATTRS |
Value:
( VERIFY_MD5 | VERIFY_SIZE | VERIFY_LINKTO | VERIFY_USER | VERIFY_GROUP | \ VERIFY_MTIME | VERIFY_MODE | VERIFY_RDEV | VERIFY_CONTEXTS )
Definition at line 223 of file rpmcli.h.
Referenced by verifyHeader().
typedef struct IDTindex_s * IDTX |
A rollback transaction id index.
Destroy id index.
idtx | id index |
Definition at line 917 of file rpminstall.c.
References _free(), IDT_s::h, headerFree(), IDTindex_s::idt, and IDTindex_s::nidt.
Referenced by getRepackageHeaderFromTE(), rpmts_IDTXglob(), and rpmts_IDTXload().
Load tag (instance,value) pairs from packages, and return sorted id index.
ts | transaction set | |
globstr | glob expression | |
tag | rpm tag |
Definition at line 1012 of file rpminstall.c.
References _, _free(), Fclose(), rpmEIU::fd, Ferror(), Fopen(), Fstrerror(), rpmEIU::h, IDT_s::h, headerFree(), headerGetEntry(), headerIsEntry(), headerLink(), IDTindex_s::idt, IDTXgrow(), IDTXsort(), IDT_s::instance, rpmEIU::isSource, IDT_s::key, IDTindex_s::nidt, RPMERR_OPEN, rpmError, rpmGlob(), rpmEIU::rpmrc, RPMRC_NOKEY, RPMRC_NOTTRUSTED, RPMRC_OK, rpmReadPackageFile(), RPMTAG_SOURCEPACKAGE, IDT_s::u32, and IDT_s::val.
Referenced by getRepackageHeaderFromTE(), rpmRollback(), and rpmts_IDTXglob().
Insure that index has room for "need" elements.
idtx | id index | |
need | additional no. of elements needed |
Definition at line 941 of file rpminstall.c.
References IDTindex_s::alloced, IDTindex_s::delta, IDTindex_s::idt, IDTXnew(), IDTindex_s::nidt, IDTindex_s::size, and xrealloc().
Referenced by IDTXglob(), and IDTXload().
Load tag (instance,value) pairs from rpm databse, and return sorted id index.
ts | transaction set | |
tag | rpm tag |
Definition at line 965 of file rpminstall.c.
References rpmEIU::h, IDT_s::h, headerGetEntry(), headerLink(), IDTindex_s::idt, IDTXgrow(), IDTXsort(), IDT_s::instance, IDT_s::key, IDTindex_s::nidt, RPM_INT32_TYPE, RPM_NULL_TYPE, rpmdbFreeIterator(), rpmdbGetIteratorOffset(), rpmdbNextIterator(), rpmdbSetIteratorRE(), RPMMIRE_DEFAULT, RPMTAG_NAME, rpmtsInitIterator(), IDT_s::u32, and IDT_s::val.
Referenced by rpmRollback(), and rpmts_IDTXload().
IDTX IDTXnew | ( | void | ) |
Create id index.
Definition at line 933 of file rpminstall.c.
References xcalloc().
Referenced by IDTXgrow().
Sort tag (instance,value) pairs.
idtx | id index |
Definition at line 958 of file rpminstall.c.
References IDTindex_s::idt, IDTintcmp(), IDTindex_s::nidt, and IDTindex_s::size.
Referenced by IDTXglob(), and IDTXload().
void rpmcliConfigured | ( | void | ) |
Make sure that rpm configuration has been read.
Definition at line 136 of file poptALL.c.
References EXIT_FAILURE, rpmcliInitialized, rpmcliRcfile, and rpmReadConfigFiles().
Referenced by main(), rpmcliAllArgCallback(), and rpmcliInit().
poptContext rpmcliFini | ( | poptContext | optCon | ) |
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 391 of file poptALL.c.
References _, __progname, _debug, bindtextdomain, EXIT_FAILURE, LIBRPMALIAS_FILENAME, LOCALEDIR, PACKAGE, rpmcliConfigured(), RPMCONFIGDIR, rpmIncreaseVerbosity, RPMMESS_NORMAL, rpmSetVerbosity, setlocale, setprogname, and textdomain.
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 721 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 |
struct poptOption rpmcliFtsPoptTable[] |
Definition at line 25 of file rpminstall.c.
Referenced by rpmInstall(), rpmRollback(), rpmShowProgress(), and rpmtsAddInstallElement().
const char* rpmcliPipeOutput |
const char* rpmcliRcfile |
const char* rpmcliRootDir |