rpm 4.19.0
The RPM Package Manager
Loading...
Searching...
No Matches
Files | Classes | Functions | Variables
Command Line API.

Parsing RPM command line arguments. More...

Collaboration diagram for Command Line API.:

Files

file  rpmcli.h
 
file  rpmlib.h
 

Classes

struct  rpmQVKArguments_s
 
struct  rpmInstallArguments_s
 

Functions

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

Variables

struct poptOption rpmcliAllPoptTable []
 

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 , RPMQV_WHATRECOMMENDS ,
  RPMQV_WHATSUGGESTS , RPMQV_WHATSUPPLEMENTS , RPMQV_WHATENHANCES , RPMQV_SPECBUILTRPMS ,
  RPMQV_WHATOBSOLETES , RPMQV_WHATCONFLICTS , RPMQV_PATH_ALL
}
 
enum  rpmQueryFlags_e { QUERY_FOR_DEFAULT = 0 , QUERY_FOR_LIST = (1 << 23) , QUERY_FOR_STATE = (1 << 24) , QUERY_FOR_DUMPFILES = (1 << 27) }
 
typedef struct rpmQVKArguments_sQVA_t
 
typedef int(* QVF_t) (QVA_t qva, rpmts ts, Header h)
 
typedef int(* QSpecF_t) (rpmts ts, QVA_t qva, const char *arg)
 
rpmQueryFlags rpmcliQueryFlags
 
struct rpmQVKArguments_s rpmQVKArgs
 
struct poptOption rpmQVSourcePoptTable []
 
struct poptOption rpmQVFilePoptTable []
 
struct poptOption rpmQueryPoptTable []
 
struct poptOption rpmVerifyPoptTable []
 
void rpmDisplayQueryTags (FILE *fp)
 
int showQueryPackage (QVA_t qva, rpmts ts, Header h)
 
int rpmcliArgIter (rpmts ts, QVA_t qva, ARGV_const_t argv)
 
int rpmcliQuery (rpmts ts, QVA_t qva, ARGV_const_t argv)
 
int showVerifyPackage (QVA_t qva, rpmts ts, Header h)
 
int rpmcliVerify (rpmts ts, QVA_t qva, ARGV_const_t argv)
 

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) , INSTALL_REINSTALL = (1 << 10) ,
  INSTALL_RESTORE = (1 << 11)
}
 
typedef rpmFlags rpmInstallFlags
 
struct rpmInstallArguments_s rpmIArgs
 
struct poptOption rpmInstallPoptTable []
 
void * rpmShowProgress (const void *arg, const rpmCallbackType what, const rpm_loff_t amount, const rpm_loff_t total, fnpyKey key, void *data)
 
int rpmInstallSource (rpmts ts, const char *arg, char **specFilePtr, char **cookie)
 
int rpmInstall (rpmts ts, struct rpmInstallArguments_s *ia, ARGV_t fileArgv)
 
int rpmErase (rpmts ts, struct rpmInstallArguments_s *ia, ARGV_const_t argv)
 
int rpmRestore (rpmts ts, struct rpmInstallArguments_s *ia, ARGV_const_t argv)
 
#define UNINSTALL_NONE   INSTALL_NONE
 
#define UNINSTALL_NODEPS   INSTALL_NODEPS
 
#define UNINSTALL_ALLMATCHES   INSTALL_ALLMATCHES
 

RPMK

int rpmcliVerifySignatures (rpmts ts, ARGV_const_t argv)
 

Detailed Description

Parsing RPM command line arguments.

Macro Definition Documentation

◆ UNINSTALL_NONE

#define UNINSTALL_NONE   INSTALL_NONE

Bit(s) to control rpmErase() operation.

Typedef Documentation

◆ QSpecF_t

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

◆ QVF_t

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

Enumeration Type Documentation

◆ rpmInstallFlags_e

Bit(s) to control rpmInstall() operation.

Enumerator
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

INSTALL_REINSTALL 

from –reinstall

INSTALL_RESTORE 

from –restore

◆ rpmQueryFlags_e

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

Todo:
Merge rpmQueryFlags, rpmVerifyFlags, and rpmVerifyAttrs?.
Enumerator
QUERY_FOR_LIST 

query: from –list

QUERY_FOR_STATE 

query: from –state

QUERY_FOR_DUMPFILES 

query: from –dump

◆ rpmQVSources_e

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).

RPMQV_WHATRECOMMENDS 

... from recommends db search.

RPMQV_WHATSUGGESTS 

... from suggests db search.

RPMQV_WHATSUPPLEMENTS 

... from supplements db search.

RPMQV_WHATENHANCES 

... from enhances db search.

RPMQV_SPECBUILTRPMS 

... from pkgs which would be built from spec

RPMQV_WHATOBSOLETES 

... from obsoletes db search.

RPMQV_WHATCONFLICTS 

... from conflicts db search.

RPMQV_PATH_ALL 

... from file path db search (all states).

Function Documentation

◆ rpmcliArgIter()

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

◆ rpmcliConfigured()

void rpmcliConfigured ( void  )

Make sure that rpm configuration has been read.

Warning
Options like –rcfile and –verbose must precede callers option.

◆ rpmcliFini()

poptContext rpmcliFini ( poptContext  optCon)

Destroy most everything needed by an rpm CLI executable context.

Parameters
optConpopt context
Returns
NULL always

◆ rpmcliInit()

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)

◆ rpmcliQuery()

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

◆ rpmcliVerify()

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

◆ rpmcliVerifySignatures()

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

◆ rpmDisplayQueryTags()

void rpmDisplayQueryTags ( FILE *  fp)

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

Parameters
fpfile handle to use for display

◆ rpmErase()

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

◆ rpmInstall()

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

Install/upgrade/freshen/reinstall 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

◆ rpmInstallSource()

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

Install source rpm package.

Parameters
tstransaction set
argsource rpm file name
[out]*specFilePtr(installed) spec file name
[out]*cookie
Returns
0 on success

◆ rpmRestore()

int rpmRestore ( rpmts  ts,
struct rpmInstallArguments_s ia,
ARGV_const_t  argv 
)

Restore file metadata (perms etc) of installed package(s).

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

◆ rpmShowProgress()

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)

◆ showQueryPackage()

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

◆ showVerifyPackage()

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

◆ rpmcliAllPoptTable

struct poptOption rpmcliAllPoptTable[]
extern

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

◆ rpmcliQueryFlags

rpmQueryFlags rpmcliQueryFlags
extern

Bit(s) from common command line options.