rpm 4.9.1
Data Structures | Files | Functions | Variables
Command Line API.
Collaboration diagram for Command Line API.:

Data Structures

struct  rpmQVKArguments_s
 Describe query/verify/signature command line operation. More...
struct  rpmInstallArguments_s
 Describe database command line requests. More...

Files

file  rpmcli.h
file  rpmlib.h
 

In Memoriam: Steve Taylor <staylor@redhat.com> was here, now he's not.


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

struct poptOption rpmcliAllPoptTable []
 Popt option table for options shared by all modes and executables.

RPMQV

enum  rpmQVSources_e {
  RPMQV_PACKAGE = 0, RPMQV_PATH, RPMQV_ALL, RPMQV_RPM,
  RPMQV_GROUP, RPMQV_WHATPROVIDES, RPMQV_WHATREQUIRES, RPMQV_TRIGGEREDBY,
  RPMQV_DBOFFSET, RPMQV_SPECRPMS, RPMQV_SPECFILE = RPMQV_SPECRPMS, RPMQV_PKGID,
  RPMQV_HDRID, RPMQV_TID, RPMQV_SPECSRPM
}
 Query/Verify argument qualifiers. More...
enum  rpmQueryFlags_e {
  QUERY_FOR_DEFAULT = 0, QUERY_MD5 = (1 << 0), QUERY_FILEDIGEST = (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...
typedef struct rpmQVKArguments_sQVA_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.
rpmQueryFlags rpmcliQueryFlags
 Bit(s) from common command line options.
struct rpmQVKArguments_s rpmQVKArgs
struct poptOption rpmQVSourcePoptTable []
struct poptOption rpmQueryPoptTable []
struct poptOption rpmVerifyPoptTable []
void rpmDisplayQueryTags (FILE *fp)
 Display list of tags that can be used in --queryformat.
int showQueryPackage (QVA_t qva, rpmts ts, Header h)
 Display results of package query.
int rpmcliArgIter (rpmts ts, QVA_t qva, ARGV_const_t argv)
 Iterate over query/verify arg list.
int rpmcliQuery (rpmts ts, QVA_t qva, ARGV_const_t argv)
 Display package information.
int showVerifyPackage (QVA_t qva, rpmts ts, Header h)
 Display results of package verify.
int rpmcliVerify (rpmts ts, QVA_t qva, ARGV_const_t argv)
 Verify package install.

RPMEIU

enum  rpmInstallFlags_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() operation. More...
typedef rpmFlags rpmInstallFlags
struct rpmInstallArguments_s rpmIArgs
struct poptOption rpmInstallPoptTable []
int rpmcliPackagesTotal
int rpmcliHashesCurrent
int rpmcliHashesTotal
int rpmcliProgressCurrent
int rpmcliProgressTotal
void * rpmShowProgress (const void *arg, const rpmCallbackType what, const rpm_loff_t amount, const rpm_loff_t total, fnpyKey key, void *data)
 The rpm CLI generic transaction callback handler.
int rpmInstallSource (rpmts ts, const char *arg, char **specFilePtr, char **cookie)
 Install source rpm package.
int rpmInstall (rpmts ts, struct rpmInstallArguments_s *ia, ARGV_t fileArgv)
 Install/upgrade/freshen binary rpm package.
int rpmErase (rpmts ts, struct rpmInstallArguments_s *ia, ARGV_const_t argv)
 Erase binary rpm package.
#define UNINSTALL_NONE   INSTALL_NONE
 Bit(s) to control rpmErase() operation.
#define UNINSTALL_NODEPS   INSTALL_NODEPS
#define UNINSTALL_ALLMATCHES   INSTALL_ALLMATCHES

RPMK

int rpmcliVerifySignatures (rpmts ts, ARGV_const_t argv)
 Verify package signatures.

Define Documentation

#define UNINSTALL_ALLMATCHES   INSTALL_ALLMATCHES

Definition at line 294 of file rpmcli.h.

Referenced by main().

#define UNINSTALL_NODEPS   INSTALL_NODEPS

Definition at line 293 of file rpmcli.h.

Referenced by main().

#define UNINSTALL_NONE   INSTALL_NONE

Bit(s) to control rpmErase() operation.

Definition at line 292 of file rpmcli.h.


Typedef Documentation

typedef int(* QSpecF_t)(rpmts ts, QVA_t qva, const char *arg)

Function to query spec file.

Parameters:
tstransaction set
qvaparsed query/verify options
argquery argument
Returns:
0 on success

Definition at line 162 of file rpmcli.h.

typedef struct rpmQVKArguments_s* QVA_t

Definition at line 142 of file rpmcli.h.

typedef int(* QVF_t)(QVA_t qva, rpmts ts, Header h)

Function to display iterator matches.

Parameters:
qvaparsed query/verify options
tstransaction set
hheader to use for query/verify
Returns:
0 on success

Definition at line 152 of file rpmcli.h.

Definition at line 287 of file rpmcli.h.


Enumeration Type Documentation

Bit(s) to control rpmInstall() operation.

Enumerator:
INSTALL_NONE 
INSTALL_PERCENT 

from --percent

INSTALL_HASH 

from --hash

INSTALL_NODEPS 

from --nodeps

INSTALL_NOORDER 

from --noorder

INSTALL_LABEL 

from --verbose (notify)

INSTALL_UPGRADE 

from --upgrade

INSTALL_FRESHEN 

from --freshen

INSTALL_INSTALL 

from --install

INSTALL_ERASE 

from --erase

INSTALL_ALLMATCHES 

from --allmatches

Definition at line 273 of file rpmcli.h.

Bit(s) to control rpmQuery() operation, stored in qva_flags.

Todo:
Merge rpmQueryFlags, rpmVerifyFlags, and rpmVerifyAttrs?.
Enumerator:
QUERY_FOR_DEFAULT 
QUERY_MD5 

from --nomd5

QUERY_FILEDIGEST 

from --nofiledigest, same as --nomd5

QUERY_SIZE 

from --nosize

QUERY_LINKTO 

from --nolink

QUERY_USER 

from --nouser)

QUERY_GROUP 

from --nogroup)

QUERY_MTIME 

from --nomtime)

QUERY_MODE 

from --nomode)

QUERY_RDEV 

from --nodev

QUERY_CONTEXTS 

verify: from --nocontexts

QUERY_FILES 

verify: from --nofiles

QUERY_DEPS 

verify: from --nodeps

QUERY_SCRIPT 

verify: from --noscripts

QUERY_DIGEST 

verify: from --nodigest

QUERY_SIGNATURE 

verify: from --nosignature

QUERY_PATCHES 

verify: from --nopatches

QUERY_HDRCHK 

verify: from --nohdrchk

QUERY_FOR_LIST 

query: from --list

QUERY_FOR_STATE 

query: from --state

QUERY_FOR_DOCS 

query: from --docfiles

QUERY_FOR_CONFIG 

query: from --configfiles

QUERY_FOR_DUMPFILES 

query: from --dump

Definition at line 102 of file rpmcli.h.

Query/Verify argument qualifiers.

Todo:
Reassign to tag values.
Enumerator:
RPMQV_PACKAGE 

... from package name db search.

RPMQV_PATH 

... from file path db search.

RPMQV_ALL 

... from each installed package.

RPMQV_RPM 

... from reading binary rpm package.

RPMQV_GROUP 

... from group db search.

RPMQV_WHATPROVIDES 

... from provides db search.

RPMQV_WHATREQUIRES 

... from requires db search.

RPMQV_TRIGGEREDBY 

... from trigger db search.

RPMQV_DBOFFSET 

... from database header instance.

RPMQV_SPECRPMS 

... from spec file binaries (query only).

RPMQV_SPECFILE 

... backwards compatibility

RPMQV_PKGID 

... from package id (header+payload MD5).

RPMQV_HDRID 

... from header id (immutable header SHA1).

RPMQV_TID 

... from install transaction id (time stamp).

RPMQV_SPECSRPM 

... from spec file source (query only).

Definition at line 78 of file rpmcli.h.


Function Documentation

int rpmcliArgIter ( rpmts  ts,
QVA_t  qva,
ARGV_const_t  argv 
)

Iterate over query/verify arg list.

Parameters:
tstransaction set
qvaparsed query/verify options
argvquery argument(s) (or NULL)
Returns:
0 on success, else no. of failures
void rpmcliConfigured ( void  )

Make sure that rpm configuration has been read.

Warning:
Options like --rcfile and --verbose must precede callers option.
poptContext rpmcliFini ( poptContext  optCon)

Destroy most everything needed by an rpm CLI executable context.

Parameters:
optConpopt context
Returns:
NULL always

Referenced by main().

poptContext rpmcliInit ( int  argc,
char *const  argv[],
struct poptOption *  optionsTable 
)

Initialize most everything needed by an rpm CLI executable context.

Parameters:
argcno. of args
argvarg array
optionsTablepopt option table
Returns:
popt context (or NULL)

Referenced by main().

int rpmcliQuery ( rpmts  ts,
QVA_t  qva,
ARGV_const_t  argv 
)

Display package information.

Todo:
hack: RPMQV_ALL can pass char ** arglist = NULL, not char * arg. Union?
Parameters:
tstransaction set
qvaparsed query/verify options
argvquery argument(s) (or NULL)
Returns:
0 on success, else no. of failures

Referenced by main().

int rpmcliVerify ( rpmts  ts,
QVA_t  qva,
ARGV_const_t  argv 
)

Verify package install.

Todo:
hack: RPMQV_ALL can pass char ** arglist = NULL, not char * arg. Union?
Parameters:
tstransaction set
qvaparsed query/verify options
argvverify argument(s) (or NULL)
Returns:
0 on success, else no. of failures

Referenced by main().

int rpmcliVerifySignatures ( rpmts  ts,
ARGV_const_t  argv 
)

Verify package signatures.

Parameters:
tstransaction set
argvarray of package path arguments (NULL terminated)
Returns:
0 on success

Referenced by main().

void rpmDisplayQueryTags ( FILE *  fp)

Display list of tags that can be used in --queryformat.

Parameters:
fpfile handle to use for display
int rpmErase ( rpmts  ts,
struct rpmInstallArguments_s ia,
ARGV_const_t  argv 
)

Erase binary rpm package.

Parameters:
tstransaction set
iacontrol args/bits
argvarray of package file names (NULL terminated)
Returns:
0 on success

Referenced by main().

int rpmInstall ( rpmts  ts,
struct rpmInstallArguments_s ia,
ARGV_t  fileArgv 
)

Install/upgrade/freshen binary rpm package.

Parameters:
tstransaction set
iamode flags and parameters
fileArgvarray of package file names (NULL terminated)
Returns:
0 on success
Todo:
fileArgv is modified on errors, should be ARGV_const_t

Referenced by main().

int rpmInstallSource ( rpmts  ts,
const char *  arg,
char **  specFilePtr,
char **  cookie 
)

Install source rpm package.

Parameters:
tstransaction set
argsource rpm file name
Return values:
*specFilePtr(installed) spec file name
*cookie
Returns:
0 on success

Referenced by main().

void* rpmShowProgress ( const void *  arg,
const rpmCallbackType  what,
const rpm_loff_t  amount,
const rpm_loff_t  total,
fnpyKey  key,
void *  data 
)

The rpm CLI generic transaction callback handler.

Todo:
Remove headerFormat() from the progress callback.
Deprecated:
Transaction callback arguments need to change, so don't rely on this routine in the rpmcli API.
Parameters:
argper-callback private data (e.g. an rpm header)
whatcallback identifier
amountper-callback progress info
totalper-callback progress info
keyopaque header key (e.g. file name or PyObject)
dataprivate data (e.g. rpmInstallInterfaceFlags)
Returns:
per-callback data (e.g. an opened FD_t)
int showQueryPackage ( QVA_t  qva,
rpmts  ts,
Header  h 
)

Display results of package query.

Todo:
Devise a meaningful return code.
Parameters:
qvaparsed query/verify options
tstransaction set
hheader to use for query
Returns:
0 always
int showVerifyPackage ( QVA_t  qva,
rpmts  ts,
Header  h 
)

Display results of package verify.

Parameters:
qvaparsed query/verify options
tstransaction set
hheader to use for verify
Returns:
result of last non-zero verify return

Variable Documentation

struct poptOption rpmcliAllPoptTable[]

Popt option table for options shared by all modes and executables.

Bit(s) from common command line options.

Referenced by build().

Referenced by main().

struct poptOption rpmInstallPoptTable[]
struct poptOption rpmQueryPoptTable[]

Referenced by main().

struct poptOption rpmQVSourcePoptTable[]
struct poptOption rpmVerifyPoptTable[]