# RPMCLI.

## Files

file | manifest.c
file | poptI.c
| Popt tables for install modes.

file | poptK.c
| Popt tables for signature modes.

file | poptQV.c
| Popt tables for query/verify modes.

file | query.c
| Display tag values from package metadata.

file | rpmchecksig.c
| Verify the signature of a package.

file | rpmcli.h
file | rpminstall.c
file | rpmlib.h
file | verify.c
| Verify installed payload files from package metadata.

file | poptDB.c
| Popt tables for database modes.

## Data Structures

struct | rpmBuildArguments_s
| Describe build command line request. More...
struct | rpmQVArguments_s
| Describe query/verify command line request. More...
struct | rpmInstallArguments_s
| Describe database command line requests. More...
struct | rpmDatabaseArguments_s
| Describe database command line requests. More...
struct | rpmSignArguments_s
| Describe signature command line request. More...

## RPMQV

enum

rpmQueryFlags_e {
QUERY_FOR_DEFAULT = 0, QUERY_MD5 = (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_FILES = (1 << 16), QUERY_DEPS = (1 << 17), QUERY_SCRIPT = (1 << 18),
QUERY_DIGEST = (1 << 19), 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)
}

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

enum

rpmVerifyFlags_e {
VERIFY_DEFAULT = 0, VERIFY_MD5 = (1 << 0), VERIFY_SIZE = (1 << 1), VERIFY_LINKTO = (1 << 2),
VERIFY_USER = (1 << 3), VERIFY_GROUP = (1 << 4), VERIFY_MTIME = (1 << 5), VERIFY_MODE = (1 << 6),
VERIFY_RDEV = (1 << 7), VERIFY_FILES = (1 << 16), VERIFY_DEPS = (1 << 17), VERIFY_SCRIPT = (1 << 18),
VERIFY_DIGEST = (1 << 19), VERIFY_FOR_LIST = (1 << 23), VERIFY_FOR_STATE = (1 << 24), VERIFY_FOR_DOCS = (1 << 25),
VERIFY_FOR_CONFIG = (1 << 26), VERIFY_FOR_DUMPFILES = (1 << 27)
}

| Bit(s) to control rpmVerify() operation, stored in qva_flags. More...
rpmQVArguments_s | rpmQVArgs
poptOption | rpmQVSourcePoptTable []
| Common query/verify mode options.
int | specedit
poptOption | rpmQueryPoptTable []
| Query mode options.
poptOption | rpmVerifyPoptTable []
| Verify mode options.
typedef enum rpmQueryFlags_e | rpmQueryFlags
| Bit(s) to control rpmQuery() operation, stored in qva_flags.
typedef enum rpmVerifyFlags_e | rpmVerifyFlags
| Bit(s) to control rpmVerify() operation, stored in qva_flags.
typedef int(*) | QVF_t (QVA_t qva, rpmdb db, Header h)

Parameters:

  | qva | parsed query/verify options

int | showMatches (QVA_t qva, rpmdbMatchIterator mi, QVF_t showPackage)
| Display query/verify information for each header in iterator.
void | rpmDisplayQueryTags (FILE *fp)
| Display list of tags that can be used in --queryformat.
int | rpmQueryVerify (QVA_t qva, rpmQVSources source, const char *arg, rpmdb db, QVF_t showPackage)
| Common query/verify source interface, called once for each CLI arg.
int | showQueryPackage (QVA_t qva, rpmdb db, Header h)
| Display results of package query.
int | rpmQuery (QVA_t qva, rpmQVSources source, const char *arg)
| Display package information.
int | showVerifyPackage (QVA_t qva, rpmdb db, Header h)
| Display results of package verify.
int | rpmVerify (QVA_t qva, rpmQVSources source, const char *arg)
| Verify package install.

## RPMK

enum | rpmCheckSigFlags_e { CHECKSIG_NONE = 0, CHECKSIG_PGP = (1 << 0), CHECKSIG_MD5 = (1 << 1), CHECKSIG_GPG = (1 << 2) }
| Bit(s) to control rpmCheckSig() operation. More...
enum | rpmResignFlags_e { RESIGN_NONE = 0, RESIGN_CHK_SIGNATURE = 1, RESIGN_NEW_SIGNATURE, RESIGN_ADD_SIGNATURE }
| Bit(s) to control rpmReSign() operation. More...
rpmSignArguments_s | rpmKArgs
poptOption | rpmSignPoptTable []
typedef enum rpmCheckSigFlags_e | rpmCheckSigFlags
| Bit(s) to control rpmCheckSig() operation.
typedef enum rpmResignFlags_e | rpmResignFlags
| Bit(s) to control rpmReSign() operation.
int | rpmCheckSig (rpmCheckSigFlags flags, const char **argv)
| Check elements in signature header.
int | rpmReSign (rpmResignFlags add, char *passPhrase, const char **argv)
| Create/modify elements in signature header.

## RPMQV

enum | rpmQVSources_e { RPMQV_PACKAGE = 0, RPMQV_PATH, RPMQV_ALL, RPMQV_RPM, RPMQV_GROUP, RPMQV_WHATPROVIDES, RPMQV_WHATREQUIRES, RPMQV_TRIGGEREDBY, RPMQV_DBOFFSET, RPMQV_SPECFILE, RPMQV_PKGID, RPMQV_HDRID, RPMQV_FILEID, RPMQV_TID }
| The command line argument will be used to retrieve header(s) . More...
enum | rpmVerifyAttrs_e { RPMVERIFY_NONE = 0, RPMVERIFY_MD5 = (1 << 0), RPMVERIFY_FILESIZE = (1 << 1), RPMVERIFY_LINKTO = (1 << 2), RPMVERIFY_USER = (1 << 3), RPMVERIFY_GROUP = (1 << 4), RPMVERIFY_MTIME = (1 << 5), RPMVERIFY_MODE = (1 << 6), RPMVERIFY_RDEV = (1 << 7), RPMVERIFY_READLINKFAIL = (1 << 28), RPMVERIFY_READFAIL = (1 << 29), RPMVERIFY_LSTATFAIL = (1 << 30) }
| Bit(s) for rpmVerifyFile() attributes and result. More...
typedef rpmQVArguments_s * | QVA_t
typedef enum rpmQVSources_e | rpmQVSources
| The command line argument will be used to retrieve header(s) .
typedef enum rpmVerifyAttrs_e | rpmVerifyAttrs
| Bit(s) for rpmVerifyFile() attributes and result.
int | rpmVerifyFile (const char *root, Header h, int filenum, rpmVerifyAttrs *result, rpmVerifyAttrs omitMask)
| Verify file attributes (including MD5 sum).

## RPMEIU

enum | rpmInstallInterfaceFlags_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) }
| Bit(s) to control rpmInstall() operation. More...
enum | rpmEraseInterfaceFlags_e { UNINSTALL_NONE = 0, UNINSTALL_NODEPS = (1 << 0), UNINSTALL_ALLMATCHES = (1 << 1) }
| Bit(s) to control rpmErase() operation. More...
typedef enum rpmInstallInterfaceFlags_e | rpmInstallInterfaceFlags
| Bit(s) to control rpmInstall() operation.
typedef enum rpmEraseInterfaceFlags_e | rpmEraseInterfaceFlags
| Bit(s) to control rpmErase() operation.

## RPMBT

rpmBuildArguments_s | rpmBTArgs
poptOption | rpmBuildPoptTable []
typedef rpmBuildArguments_s * | BTA_t

## RPMEIU

rpmInstallArguments_s | rpmIArgs
poptOption | rpmInstallPoptTable []
int | rpmInstall (const char *rootdir, const char **fileArgv, rpmtransFlags transFlags, rpmInstallInterfaceFlags interfaceFlags, rpmprobFilterFlags probFilter, rpmRelocation *relocations)
| Install/upgrade/freshen binary rpm package.
int | rpmInstallSource (const char *rootdir, const char *arg, const char **specFile, char **cookie)
| Install source rpm package.
int | rpmErase (const char *rootdir, const char **argv, rpmtransFlags transFlags, rpmEraseInterfaceFlags interfaceFlags)
| Erase binary rpm package.
int | rpmRollback (struct rpmInstallArguments_s *ia, const char **argv)
| Rollback transactions, erasing new, reinstalling old, package(s).

## RPMDB

rpmDatabaseArguments_s | rpmDBArgs
poptOption | rpmDatabasePoptTable []

## RPMTS

void | rpmShowRpmlibProvides (FILE *fp)
| Display current rpmlib feature provides.

## Functions

static int | checkSpec (Header h)

## Variables

int | _noDirTokens
| Should version 3 packages be produced?

## Typedef Documentation

typedef struct rpmBuildArguments_s* BTA_t

Definition at line 52 of file rpmcli.h.

typedef struct rpmQVArguments_s* QVA_t

Definition at line 1623 of file rpmlib.h.

typedef int(*) QVF_t(QVA_t qva, rpmdb db, Header h)

Parameters:

  | qva | parsed query/verify options

Parameters:

  | db | rpm database
  | h | header to use for query/verify

Definition at line 141 of file rpmcli.h.

typedef enum rpmCheckSigFlags_e rpmCheckSigFlags

Bit(s) to control rpmCheckSig() operation.

typedef enum rpmEraseInterfaceFlags_e rpmEraseInterfaceFlags

Bit(s) to control rpmErase() operation.

typedef enum rpmInstallInterfaceFlags_e rpmInstallInterfaceFlags

Bit(s) to control rpmInstall() operation.

Todo:
  Move to rpmcli.h

typedef enum rpmQueryFlags_e rpmQueryFlags

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

Todo:
  Merge rpmQueryFlags, rpmVerifyFlags, and rpmVerifyAttrs?.

typedef enum rpmQVSources_e rpmQVSources

The command line argument will be used to retrieve header(s) .

..

Todo:
  Move to rpmcli.h

typedef enum rpmResignFlags_e rpmResignFlags

Bit(s) to control rpmReSign() operation.

typedef enum rpmVerifyAttrs_e rpmVerifyAttrs

Bit(s) for rpmVerifyFile() attributes and result.

Todo:
  Move to rpmcli.h.

typedef enum rpmVerifyFlags_e rpmVerifyFlags

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

Todo:
  Merge rpmQueryFlags, rpmVerifyFlags, and rpmVerifyAttrs values?.

## Enumeration Type Documentation

enum rpmCheckSigFlags_e

Bit(s) to control rpmCheckSig() operation.

Enumerator:

  CHECKSIG_NONE | Don't check any signatures.
  CHECKSIG_PGP | if not --nopgp
  CHECKSIG_MD5 | if not --nomd5
  CHECKSIG_GPG | if not --nogpg

Definition at line 506 of file rpmcli.h.

enum rpmEraseInterfaceFlags_e

Bit(s) to control rpmErase() operation.

Enumerator:

  UNINSTALL_NONE |
  UNINSTALL_NODEPS | from --nodeps
  UNINSTALL_ALLMATCHES | from --allmatches

Definition at line 1725 of file rpmlib.h.

enum rpmInstallInterfaceFlags_e

Bit(s) to control rpmInstall() operation.

Todo:
  Move to rpmcli.h

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

Definition at line 1709 of file rpmlib.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_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_FILES | verify: from --nofiles
  QUERY_DEPS | verify: from --nodeps
  QUERY_SCRIPT | verify: from --noscripts
  QUERY_DIGEST | verify: from --nodigest
  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

Definition at line 73 of file rpmcli.h.

enum rpmQVSources_e

The command line argument will be used to retrieve header(s) .

..

Todo:
  Move to rpmcli.h

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_SPECFILE | ... from spec file parse (query only).
  RPMQV_PKGID | ... from package id (header+payload MD5).
  RPMQV_HDRID | ... from header id (immutable header SHA1).
  RPMQV_FILEID | ... from file id (file MD5).
  RPMQV_TID | ... from install transaction id (time stamp).

Definition at line 1629 of file rpmlib.h.

enum rpmResignFlags_e

Bit(s) to control rpmReSign() operation.

Enumerator:

  RESIGN_NONE |
  RESIGN_CHK_SIGNATURE | from --checksig
  RESIGN_NEW_SIGNATURE | from --resign
  RESIGN_ADD_SIGNATURE | from --addsign

Definition at line 529 of file rpmcli.h.

enum rpmVerifyAttrs_e

Bit(s) for rpmVerifyFile() attributes and result.

Todo:
  Move to rpmcli.h.

Enumerator:

  RPMVERIFY_NONE |
  RPMVERIFY_MD5 | from verify(md5)
  RPMVERIFY_FILESIZE | from verify(size)
  RPMVERIFY_LINKTO | from verify(link)
  RPMVERIFY_USER | from verify(user)
  RPMVERIFY_GROUP | from verify(group)
  RPMVERIFY_MTIME | from verify(mtime)
  RPMVERIFY_MODE | from verify(mode)
  RPMVERIFY_RDEV | from verify(rdev)
  RPMVERIFY_READLINKFAIL |
  RPMVERIFY_READFAIL |
  RPMVERIFY_LSTATFAIL |

Definition at line 1650 of file rpmlib.h.

enum rpmVerifyFlags_e

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

Todo:
  Merge rpmQueryFlags, rpmVerifyFlags, and rpmVerifyAttrs values?.

Enumerator:

  VERIFY_DEFAULT |
  VERIFY_MD5 | from --nomd5
  VERIFY_SIZE | from --nosize
  VERIFY_LINKTO | from --nolinkto
  VERIFY_USER | from --nouser
  VERIFY_GROUP | from --nogroup
  VERIFY_MTIME | from --nomtime
  VERIFY_MODE | from --nomode
  VERIFY_RDEV | from --nodev
  VERIFY_FILES | verify: from --nofiles
  VERIFY_DEPS | verify: from --nodeps
  VERIFY_SCRIPT | verify: from --noscripts
  VERIFY_DIGEST | verify: from --nodigest
  VERIFY_FOR_LIST | query: from --list
  VERIFY_FOR_STATE | query: from --state
  VERIFY_FOR_DOCS | query: from --docfiles
  VERIFY_FOR_CONFIG | query: from --configfiles
  VERIFY_FOR_DUMPFILES | query: from --dump

Definition at line 102 of file rpmcli.h.

## Function Documentation

static int checkSpec | ( | Header | h | ) | `[static]`

Definition at line 19 of file build.c.

References _, _free(), EXIT_FAILURE, headerIsEntry(), printDepProblems(), rootdir, rpmdbClose(), rpmdbOpen(), rpmdepCheck(), rpmdepFreeConflicts(), RPMERR_OPEN, rpmError, rpmGetPath(), RPMMESS_ERROR, rpmMessage, RPMTAG_REQUIREFLAGS, rpmtransAddPackage(), rpmtransCreateSet(), and rpmtransFree().

Referenced by buildForTarget().

int rpmCheckSig | ( | rpmCheckSigFlags | flags,
|  | const char ** | argv |
| ) |  |  |

Check elements in signature header.

Parameters:

  | flags | bit(s) to enable signature checks
  | argv | array of package file names (NULL terminated)

Returns:
  0 on success

Definition at line 250 of file rpmchecksig.c.

References _, _free(), CHECKSIG_GPG, CHECKSIG_MD5, CHECKSIG_PGP, copyFile(), headerFreeData(), headerFreeIterator(), headerInitIterator(), headerNextIterator(), manageFile(), readLead(), RPMERR_BADSIGTYPE, RPMERR_READLEAD, RPMERR_SIGGEN, RPMERR_SIGVFY, rpmError, rpmIsVerbose, RPMRC_BADSIZE, RPMRC_OK, rpmReadSignature(), RPMSIG_NOKEY, RPMSIG_NOTTRUSTED, RPMSIGTAG_GPG, RPMSIGTAG_LEMD5_1, RPMSIGTAG_LEMD5_2, RPMSIGTAG_MD5, RPMSIGTAG_PGP, RPMSIGTAG_PGP5, RPMSIGTAG_SIZE, rpmVerifySignature(), and rpmlead::type.

Referenced by checkSig(), and main().

void rpmDisplayQueryTags | ( | FILE * | fp | ) |

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

Parameters:

  | fp | file handle to use for display

Definition at line 507 of file query.c.

References HEADER_EXT_MORE, headerSprintfExtension_s::more, headerSprintfExtension_s::name, headerTagTableEntry_s::name, rpmHeaderFormats, rpmTagTable, rpmTagTableSize, headerSprintfExtension_s::type, and headerSprintfExtension_s::u.

Referenced by main().

int rpmErase | ( | const char * | rootdir,
|  | const char ** | argv,
|  | rpmtransFlags | transFlags,
|  | rpmEraseInterfaceFlags | interfaceFlags |
| ) |  |  |

Erase binary rpm package.

Parameters:

  | rootdir | path to top of install tree
  | argv | array of package file names (NULL terminated)
  | transFlags | bits to control rpmRunTransactions()
  | interfaceFlags | bits to control rpmInstall()

Returns:
  0 on success

Definition at line 593 of file rpminstall.c.

References _, _free(), rpmEIU::db, rpmEIU::h, rpmEIU::numFailed, printDepProblems(), rpmdbClose(), rpmdbFreeIterator(), rpmdbGetIteratorCount(), rpmdbGetIteratorOffset(), RPMDBI_LABEL, rpmdbInitIterator(), rpmdbNextIterator(), rpmdbOpen(), rpmdepCheck(), rpmdepFreeConflicts(), rpmGetPath(), RPMMESS_ERROR, rpmMessage, rpmRunTransactions(), RPMTRANS_FLAG_REVERSE, RPMTRANS_FLAG_TEST, rpmtransCreateSet(), rpmtransFree(), rpmtransRemovePackage(), rpmEIU::ts, UNINSTALL_ALLMATCHES, and UNINSTALL_NODEPS.

Referenced by main().

int rpmInstall | ( | const char * | rootdir,
|  | const char ** | fileArgv,
|  | rpmtransFlags | transFlags,
|  | rpmInstallInterfaceFlags | interfaceFlags,
|  | rpmprobFilterFlags | probFilter,
|  | rpmRelocation * | relocations |
| ) |  |  |

Install/upgrade/freshen binary rpm package.

Todo:
  Generalize --freshen policies.

Definition at line 201 of file rpminstall.c.

References _, _free(), alloca(), Fclose(), Ferror(), Fopen(), Fstrerror(), ftpStrerror(), headerFree(), headerFreeData(), headerGetEntry(), headerNVR(), INSTALL_FRESHEN, INSTALL_LABEL, INSTALL_NODEPS, INSTALL_NOORDER, INSTALL_UPGRADE, name, packagesTotal, printDepProblems(), rpmEIU::relocations, rpmdbFreeIterator(), rpmdbGetIteratorCount(), rpmdbInitIterator(), rpmdbNextIterator(), rpmdbOpen(), rpmdepCheck(), rpmdepFreeConflicts(), rpmdepOrder(), RPMERR_MANIFEST, RPMERR_OPEN, rpmError, rpmGenPath(), rpmGetPath(), rpmGlob(), rpmInstallSourcePackage(), rpmIsVerbose, RPMMESS_DEBUG, RPMMESS_ERROR, rpmMessage, rpmProblemSetFree(), rpmProblemSetPrint(), RPMRC_BADMAGIC, RPMRC_BADSIZE, RPMRC_FAIL, RPMRC_OK, RPMRC_SHORTREAD, rpmReadPackageHeader(), rpmReadPackageManifest(), rpmRunTransactions(), rpmShowProgress(), RPMTAG_NAME, RPMTAG_PREFIXES, RPMTRANS_FLAG_TEST, rpmtransAddPackage(), rpmtransCreateSet(), rpmVersionCompare(), URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, urlGetFile(), urlIsURL(), urlPath(), xrealloc(), and xstrdup().

Referenced by main().

int rpmInstallSource | ( | const char * | rootdir,
|  | const char * | arg,
|  | const char ** | specFile,
|  | char ** | cookie |
| ) |  |  |

Install source rpm package.

Parameters:

  | rootdir | path to top of install tree
  | arg | source rpm file name

Return values:

  | specFile | address of (installed) spec file name
  | cookie |

Returns:
  0 on success

Definition at line 681 of file rpminstall.c.

References _, _free(), Fclose(), rpmEIU::fd, Ferror(), Fopen(), Fstrerror(), rpmInstallSourcePackage(), rpmIsVerbose, RPMMESS_ERROR, rpmMessage, rpmEIU::rpmrc, and RPMRC_OK.

Referenced by main().

int rpmQuery | ( | QVA_t | qva,
|  | rpmQVSources | source,
|  | const char * | arg |
| ) |  |  |

Display package information.

Todo:
  hack: RPMQV_ALL can pass char ** arglist = NULL, not char * arg. Union?

Parameters:

  | qva | parsed query/verify options
  | source | type of source to query
  | arg | name of source to query

Returns:
  rpmQueryVerify() result, or 1 on rpmdbOpen() failure

Definition at line 953 of file query.c.

References rpmQVArguments_s::qva_prefix, rpmdbClose(), rpmdbOpen(), rpmQueryVerify(), RPMQV_RPM, RPMQV_SPECFILE, and showQueryPackage().

Referenced by main().

int rpmQueryVerify | ( | QVA_t | qva,
|  | rpmQVSources | source,
|  | const char * | arg,
|  | rpmdb | db,
|  | QVF_t | showPackage |
| ) |  |  |

Common query/verify source interface, called once for each CLI arg.

Parameters:

  | qva | parsed query/verify options
  | source | type of source to query/verify
  | arg | name of source to query/verify
  | db | rpm database
  | showPackage | query/verify specific display routine

Returns:
  showPackage() result, 1 if rpmdbInitIterator() is NULL

Definition at line 580 of file query.c.

References _, _free(), errno, F_OK, Fclose(), Ferror(), Fopen(), force, freeSpecVec, Fstrerror(), PackageStruct::header, headerFree(), PackageStruct::next, nibble(), SpecStruct::packages, parseSpecVec, PATH_MAX, printNewSpecfile(), realpath(), rpmCleanPath(), rpmdbFreeIterator(), RPMDBI_LABEL, RPMDBI_PACKAGES, rpmdbInitIterator(), rpmdbSetIteratorRE(), RPMERR_MANIFEST, RPMERR_OPEN, RPMERR_QUERY, RPMERR_QUERYINFO, rpmError, rpmGlob(), RPMMESS_DEBUG, rpmMessage, RPMMIRE_DEFAULT, RPMQV_ALL, RPMQV_DBOFFSET, RPMQV_FILEID, RPMQV_GROUP, RPMQV_HDRID, RPMQV_PACKAGE, RPMQV_PATH, RPMQV_PKGID, RPMQV_RPM, RPMQV_SPECFILE, RPMQV_TID, RPMQV_TRIGGEREDBY, RPMQV_WHATPROVIDES, RPMQV_WHATREQUIRES, RPMRC_BADMAGIC, RPMRC_OK, rpmReadPackageHeader(), rpmReadPackageManifest(), RPMTAG_BASENAMES, RPMTAG_FILEMD5S, RPMTAG_GROUP, RPMTAG_INSTALLTID, RPMTAG_NAME, RPMTAG_PROVIDENAME, RPMTAG_REQUIRENAME, RPMTAG_SHA1HEADER, RPMTAG_SIGMD5, RPMTAG_TRIGGERNAME, showMatches(), showQueryPackage(), specedit, strerror(), and xstrdup().

Referenced by rpmQuery(), and rpmVerify().

int rpmReSign | ( | rpmResignFlags | add,
|  | char * | passPhrase,
|  | const char ** | argv |
| ) |  |  |

Create/modify elements in signature header.

Parameters:

  | add | type of signature operation
  | passPhrase |
  | argv | array of package file names (NULL terminated)

Returns:
  0 on success

Definition at line 105 of file rpmchecksig.c.

References _, _free(), copyFile(), EXIT_FAILURE, Fstrerror(), headerCopyLoad(), headerFree(), headerGetEntry(), headerLink(), headerRemoveEntry(), manageFile(), readLead(), RESIGN_ADD_SIGNATURE, rpmAddSignature(), RPMERR_BADSIGTYPE, RPMERR_READLEAD, RPMERR_SIGGEN, RPMERR_WRITELEAD, rpmError, rpmFreeSignature(), RPMLOOKUPSIG_QUERY, rpmLookupSignatureType(), RPMRC_BADSIZE, RPMRC_OK, rpmReadSignature(), RPMSIGTAG_GPG, RPMSIGTAG_LEMD5_1, RPMSIGTAG_LEMD5_2, RPMSIGTAG_MD5, RPMSIGTAG_PGP, RPMSIGTAG_PGP5, RPMSIGTAG_SIZE, RPMSIGTYPE_HEADERSIG, RPMTAG_HEADERSIGNATURES, rpmWriteSignature(), and writeLead().

Referenced by main().

int rpmRollback | ( | struct rpmInstallArguments_s * | ia,
|  | const char ** | argv |
| ) |  |  |

Rollback transactions, erasing new, reinstalling old, package(s).

Returns:
  0 on success

Definition at line 902 of file rpminstall.c.

References _, _free(), rpmEIU::db, IDT_s::h, headerFree(), IDTindex_s::idt, IDTXfree(), IDTXglob(), IDTXload(), INSTALL_ERASE, INSTALL_FRESHEN, INSTALL_INSTALL, INSTALL_UPGRADE, rpmInstallArguments_s::installInterfaceFlags, IDT_s::instance, IDT_s::key, IDT_s::n, IDTindex_s::nidt, packagesTotal, printDepProblems(), rpmInstallArguments_s::probFilter, IDT_s::r, rpmInstallArguments_s::relocations, rpmInstallArguments_s::rootdir, rpmdbClose(), rpmdbOpen(), rpmdepCheck(), rpmdepFreeConflicts(), rpmdepOrder(), rpmExpand(), rpmIsDebug, RPMMESS_DEBUG, RPMMESS_ERROR, rpmMessage, RPMPROB_FILTER_OLDPACKAGE, rpmProblemSetFree(), rpmProblemSetPrint(), rpmRunTransactions(), rpmShowProgress(), RPMTAG_INSTALLTID, RPMTAG_REMOVETID, rpmtransAddPackage(), rpmtransCreateSet(), rpmtransFree(), rpmtransRemovePackage(), rpmInstallArguments_s::transFlags, rpmEIU::ts, IDT_s::u32, IDT_s::v, and IDT_s::val.

Referenced by main().

void rpmShowRpmlibProvides | ( | FILE * | fp | ) |

Display current rpmlib feature provides.

Parameters:

  | fp | output file handle

Definition at line 43 of file rpmlibprov.c.

References rpmlibProvides_s::featureDescription, rpmlibProvides_s::featureEVR, rpmlibProvides_s::featureFlags, rpmlibProvides_s::featureName, printDepFlags(), and rpmlibProvides.

Referenced by rpmShowRC().

int rpmVerify | ( | QVA_t | qva,
|  | rpmQVSources | source,
|  | const char * | arg |
| ) |  |  |

Verify package install.

Parameters:

  | qva | parsed query/verify options
  | source | type of source to verify
  | arg | name of source to verify

Returns:
  rpmQueryVerify() result, or 1 on rpmdbOpen() failure

Definition at line 554 of file verify.c.

References rpmQVArguments_s::qva_flags, rpmQVArguments_s::qva_prefix, psm_s::rc, rpmdbClose(), rpmdbOpen(), rpmQueryVerify(), RPMQV_RPM, showVerifyPackage(), and VERIFY_DEPS.

Referenced by main().

int rpmVerifyFile | ( | const char * | root,
|  | Header | h,
|  | int | filenum,
|  | rpmVerifyAttrs * | result,
|  | rpmVerifyAttrs | omitMask |
| ) |  |  |

Verify file attributes (including MD5 sum).

Todo:
  gnorpm and python bindings prevent this from being static.

Parameters:

  | root | path to top of install tree
  | h | header
  | filenum | index of file in header file info arrays

Return values:

  | result | address of bit(s) returned to indicate failure

Parameters:

  | omitMask | bit(s) to disable verify checks

Returns:
  0 on success (or not installed), 1 on error

Definition at line 22 of file verify.c.

References _, alloca(), domd5(), gnameToGid(), headerFreeData(), headerGetEntryMinMemory(), Lstat(), name, Readlink(), RPMERR_INTERNAL, rpmError, RPMFILE_GHOST, RPMFILE_NONE, RPMFILE_STATE_NETSHARED, RPMFILE_STATE_NORMAL, RPMFILE_STATE_NOTINSTALLED, RPMFILE_STATE_REPLACED, RPMTAG_BASENAMES, RPMTAG_DIRINDEXES, RPMTAG_DIRNAMES, RPMTAG_FILEFLAGS, RPMTAG_FILEGIDS, RPMTAG_FILEGROUPNAME, RPMTAG_FILELINKTOS, RPMTAG_FILEMD5S, RPMTAG_FILEMODES, RPMTAG_FILEMTIMES, RPMTAG_FILERDEVS, RPMTAG_FILESIZES, RPMTAG_FILESTATES, RPMTAG_FILEUIDS, RPMTAG_FILEUSERNAME, RPMTAG_FILEVERIFYFLAGS, RPMVERIFY_ALL, RPMVERIFY_FILESIZE, RPMVERIFY_GROUP, RPMVERIFY_LINKTO, RPMVERIFY_LSTATFAIL, RPMVERIFY_MD5, RPMVERIFY_MODE, RPMVERIFY_MTIME, RPMVERIFY_NONE, RPMVERIFY_RDEV, RPMVERIFY_READFAIL, RPMVERIFY_READLINKFAIL, RPMVERIFY_USER, S_ISDEV, S_ISLNK, stpcpy(), and uidToUname().

Referenced by hdrVerifyFile(), and verifyHeader().

int showMatches | ( | QVA_t | qva,
|  | rpmdbMatchIterator | mi,
|  | QVF_t | showPackage |
| ) |  |  |

Display query/verify information for each header in iterator.

Parameters:

  | qva | parsed query/verify options
  | mi | rpm database iterator
  | showPackage | query/verify display routine

Returns:
  result of last non-zero showPackage() return

Definition at line 534 of file query.c.

References rpmdbFreeIterator(), rpmdbGetIteratorRpmDB(), and rpmdbNextIterator().

Referenced by rpmQueryVerify().

int showQueryPackage | ( | QVA_t | qva,
|  | rpmdb | db,
|  | Header | h |
| ) |  |  |

Display results of package query.

Todo:
  Devise a meaningful return code.

Parameters:

  | qva | parsed query/verify options
  | db | rpm database (unused for queries)
  | h | header to use for query

Returns:
  0 always

Definition at line 150 of file query.c.

References _, _free(), countLinks(), headerFreeData(), headerGetEntryMinMemory(), headerNVR(), name, printFileInfo(), QUERY_FOR_CONFIG, QUERY_FOR_DEFAULT, QUERY_FOR_DOCS, QUERY_FOR_DUMPFILES, QUERY_FOR_LIST, QUERY_FOR_STATE, queryHeader(), rpmQVArguments_s::qva_fflags, rpmQVArguments_s::qva_flags, rpmQVArguments_s::qva_queryFormat, RPMERR_INTERNAL, rpmError, RPMFILE_CONFIG, RPMFILE_DOC, RPMFILE_GHOST, RPMFILE_STATE_NETSHARED, RPMFILE_STATE_NORMAL, RPMFILE_STATE_NOTINSTALLED, RPMFILE_STATE_REPLACED, rpmIsVerbose, RPMMESS_NORMAL, rpmMessage, RPMTAG_BASENAMES, RPMTAG_DIRINDEXES, RPMTAG_DIRNAMES, RPMTAG_FILEFLAGS, RPMTAG_FILEGIDS, RPMTAG_FILEGROUPNAME, RPMTAG_FILEINODES, RPMTAG_FILELINKTOS, RPMTAG_FILEMD5S, RPMTAG_FILEMODES, RPMTAG_FILEMTIMES, RPMTAG_FILERDEVS, RPMTAG_FILESIZES, RPMTAG_FILESTATES, RPMTAG_FILEUIDS, RPMTAG_FILEUSERNAME, stpcpy(), xmalloc(), and xrealloc().

Referenced by rpmQuery(), and rpmQueryVerify().

int showVerifyPackage | ( | QVA_t | qva,
|  | rpmdb | db,
|  | Header | h |
| ) |  |  |

Display results of package verify.

Parameters:

  | qva | parsed query/verify options
  | db | rpm database
  | h | header to use for verify

Returns:
  result of last non-zero verify return

Definition at line 520 of file verify.c.

References _, Fclose(), fdDup(), headerNVR(), rpmQVArguments_s::qva_flags, rpmQVArguments_s::qva_prefix, psm_s::rc, RPMMESS_NORMAL, rpmMessage, rpmVerifyDigest(), rpmVerifyScript(), VERIFY_DEPS, VERIFY_DIGEST, VERIFY_FILES, VERIFY_SCRIPT, verifyDependencies(), and verifyHeader().

Referenced by rpmVerify().

## Variable Documentation

int _noDirTokens

Should version 3 packages be produced?

Definition at line 289 of file misc.c.

struct rpmBuildArguments_s rpmBTArgs

Definition at line 15 of file poptBT.c.

Referenced by buildArgCallback(), and main().

struct poptOption rpmBuildPoptTable[]

Definition at line 140 of file poptBT.c.

struct poptOption rpmDatabasePoptTable[]

Definition at line 20 of file poptDB.c.

struct rpmDatabaseArguments_s rpmDBArgs

Definition at line 12 of file poptDB.c.

Referenced by main().

struct rpmInstallArguments_s rpmIArgs

Definition at line 17 of file poptI.c.

Referenced by installArgCallback(), and main().

struct poptOption rpmInstallPoptTable[]

Definition at line 96 of file poptI.c.

struct rpmSignArguments_s rpmKArgs

Definition at line 13 of file poptK.c.

Referenced by main(), and signArgCallback().

struct poptOption rpmQueryPoptTable[]

Query mode options.

Definition at line 165 of file poptQV.c.

struct rpmQVArguments_s rpmQVArgs

Definition at line 14 of file poptQV.c.

Referenced by main(), queryArgCallback(), and rpmQVSourceArgCallback().

struct poptOption rpmQVSourcePoptTable[]

Common query/verify mode options.

Definition at line 84 of file poptQV.c.

struct poptOption rpmSignPoptTable[]

Definition at line 50 of file poptK.c.

struct poptOption rpmVerifyPoptTable[]

Verify mode options.

Definition at line 209 of file poptQV.c.

int specedit

Definition at line 17 of file poptQV.c.