rpm: Command Line API.

rpm 4.20.1 The RPM Package Manager

Loading...
Searching...
No Matches
Files | Data Structures | Functions | Variables
Command Line API.
I/O

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
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_s * | QVA_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

  ts | transaction set
  qva | parsed query/verify options
  arg | query argument

Returns
  0 on success

## ◆ QVF_t

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

Function to display iterator matches.

Parameters

  qva | parsed query/verify options
  ts | transaction set
  h | header to use for query/verify

Returns
  0 on success

## Enumeration Type Documentation

## ◆ rpmInstallFlags_e

enum 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

enum 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

enum 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

  ts | transaction set
  qva | parsed query/verify options
  argv | query 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

  optCon | popt 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

  argc | no. of args
  argv | arg array
  optionsTable | popt 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

  ts | transaction set
  qva | parsed query/verify options
  argv | query 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

  ts | transaction set
  qva | parsed query/verify options
  argv | verify 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

  ts | transaction set
  argv | array 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

  fp | file handle to use for display

## ◆ rpmErase()

int rpmErase | ( | rpmts | ts,
|  | struct rpmInstallArguments_s * | ia,
|  | ARGV_const_t | argv )

Erase binary rpm package.

Parameters

  ts | transaction set
  ia | control args/bits
  argv | array 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

  ts | transaction set
  ia | mode flags and parameters
  fileArgv | array 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

  | ts | transaction set
  | arg | source 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

  ts | transaction set
  ia | control args/bits
  argv | array 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

  arg | per-callback private data (e.g. an rpm header)
  what | callback identifier
  amount | per-callback progress info
  total | per-callback progress info
  key | opaque header key (e.g. file name or PyObject)
  data | private 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

  qva | parsed query/verify options
  ts | transaction set
  h | header to use for query

Returns
  0 always

## ◆ showVerifyPackage()

int showVerifyPackage | ( | QVA_t | qva,
|  | rpmts | ts,
|  | Header | h )

Display results of package verify.

Parameters

  qva | parsed query/verify options
  ts | transaction set
  h | header 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.