rpm 6.1.90
The RPM Package Manager
Loading...
Searching...
No Matches
Command Line API.

Parsing RPM command line arguments. More...

Collaboration diagram for Command Line API.:

Files

file  rpmcli.h
file  rpmlib.h

Data Structures

struct  rpmQVKArguments_s
struct  rpmInstallArguments_s

Functions

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

Variables

RPM_PUBLIC_API 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_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)
RPM_PUBLIC_API rpmQueryFlags rpmcliQueryFlags
RPM_PUBLIC_API struct rpmQVKArguments_s rpmQVKArgs
RPM_PUBLIC_API struct poptOption rpmQVSourcePoptTable []
RPM_PUBLIC_API struct poptOption rpmQVFilePoptTable []
RPM_PUBLIC_API struct poptOption rpmQueryPoptTable []
RPM_PUBLIC_API struct poptOption rpmVerifyPoptTable []
RPM_PUBLIC_API void rpmDisplayQueryTags (FILE *fp)
RPM_PUBLIC_API int showQueryPackage (QVA_t qva, rpmts ts, Header h)
RPM_PUBLIC_API int rpmcliArgIter (rpmts ts, QVA_t qva, ARGV_const_t argv)
RPM_PUBLIC_API int rpmcliQuery (rpmts ts, QVA_t qva, ARGV_const_t argv)
RPM_PUBLIC_API int showVerifyPackage (QVA_t qva, rpmts ts, Header h)
RPM_PUBLIC_API 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
RPM_PUBLIC_API struct rpmInstallArguments_s rpmIArgs
RPM_PUBLIC_API struct poptOption rpmInstallPoptTable []
RPM_PUBLIC_API void * rpmShowProgress (const void *arg, const rpmCallbackType what, const rpm_loff_t amount, const rpm_loff_t total, fnpyKey key, void *data)
RPM_PUBLIC_API int rpmInstallSource (rpmts ts, const char *arg, char **specFilePtr, char **cookie)
RPM_PUBLIC_API int rpmInstall (rpmts ts, struct rpmInstallArguments_s *ia, ARGV_t fileArgv)
RPM_PUBLIC_API int rpmErase (rpmts ts, struct rpmInstallArguments_s *ia, ARGV_const_t argv)
RPM_PUBLIC_API 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

RPM_PUBLIC_API 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_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()

RPM_PUBLIC_API 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()

RPM_PUBLIC_API void rpmcliConfigured ( void )

Make sure that rpm configuration has been read.

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

◆ rpmcliFini()

RPM_PUBLIC_API poptContext rpmcliFini ( poptContext optCon)

Destroy most everything needed by an rpm CLI executable context.

Parameters
optConpopt context
Returns
NULL always

◆ rpmcliInit()

RPM_PUBLIC_API 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()

RPM_PUBLIC_API 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()

RPM_PUBLIC_API 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()

RPM_PUBLIC_API 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()

RPM_PUBLIC_API void rpmDisplayQueryTags ( FILE * fp)

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

Parameters
fpfile handle to use for display

◆ rpmErase()

RPM_PUBLIC_API 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()

RPM_PUBLIC_API 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()

RPM_PUBLIC_API 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()

RPM_PUBLIC_API 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()

RPM_PUBLIC_API 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()

RPM_PUBLIC_API 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()

RPM_PUBLIC_API 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

RPM_PUBLIC_API struct poptOption rpmcliAllPoptTable[]
extern

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

◆ rpmcliQueryFlags

RPM_PUBLIC_API rpmQueryFlags rpmcliQueryFlags
extern

Bit(s) from common command line options.