rpm 4.10.90

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

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), QUERY_FOR_LICENSE = (1 << 28)
}

| Bit(s) to control rpmQuery() operation, stored in qva_flags. More...
typedef struct rpmQVKArguments_s * | QVA_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 []
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 295 of file rpmcli.h.

Referenced by main().

#define UNINSTALL_NODEPS INSTALL_NODEPS

Definition at line 294 of file rpmcli.h.

Referenced by main().

#define UNINSTALL_NONE INSTALL_NONE

Bit(s) to control rpmErase() operation.

Definition at line 293 of file rpmcli.h.

## Typedef Documentation

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

Definition at line 163 of file rpmcli.h.

typedef struct rpmQVKArguments_s* QVA_t

Definition at line 143 of file rpmcli.h.

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

Definition at line 153 of file rpmcli.h.

typedef rpmFlags rpmInstallFlags

Definition at line 288 of file rpmcli.h.

## Enumeration Type Documentation

enum rpmInstallFlags_e

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 274 of file rpmcli.h.

enum rpmQueryFlags_e

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
  QUERY_FOR_LICENSE | query: from --licensefiles

Definition at line 102 of file rpmcli.h.

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

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:

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

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

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

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

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

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

  fp | file handle to use for display

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

Referenced by main().

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

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

Referenced by main().

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

Install source rpm package.

Parameters:

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

  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)

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

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

struct poptOption rpmcliAllPoptTable[]

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

rpmQueryFlags rpmcliQueryFlags

Bit(s) from common command line options.

Referenced by build().

struct rpmInstallArguments_s rpmIArgs

Referenced by main().

struct poptOption rpmInstallPoptTable[]

struct poptOption rpmQueryPoptTable[]

struct rpmQVKArguments_s rpmQVKArgs

Referenced by main().

struct poptOption rpmQVSourcePoptTable[]

struct poptOption rpmVerifyPoptTable[]