rpm: Command Line API.

rpm 4.19.1.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.