RPMCLI.


Files

file  poptBT.c
 Popt tables for build modes.
file  manifest.c
file  poptALL.c
 Popt tables for all rpm modes.
file  poptI.c
 Popt tables for install 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
 In Memoriam: Steve Taylor <staylor@redhat.com> was here, now he's not.
file  rpmrollback.c
file  verify.c
 Verify installed payload files from package metadata.
file  poptDB.c
 Popt tables for database modes.

Data Structures

struct  rpmQVKArguments_s
 Command line option information. More...
struct  rpmBuildArguments_s
 Describe build command line request. More...

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, RPMQV_HDLIST, RPMQV_FTSWALK,
  RPMQV_WHATNEEDS, RPMQV_SPECSRPM, RPMQV_SOURCEPKGID
}
 Query/Verify argument qualifiers. More...
enum  rpmVerifyAttrs_e {
  RPMVERIFY_NONE = 0, RPMVERIFY_FDIGEST = (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_CONTEXTS = (1 << 15), RPMVERIFY_READLINKFAIL = (1 << 28), RPMVERIFY_READFAIL = (1 << 29),
  RPMVERIFY_LSTATFAIL = (1 << 30), RPMVERIFY_LGETFILECONFAIL = (1 << 31)
}
 Bit(s) for rpmVerifyFile() attributes and result. More...
enum  rpmQueryFlags_e {
  QUERY_FOR_DEFAULT = 0, QUERY_FDIGEST = (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)
}
 Bit(s) to control rpmQuery() operation, stored in qva_flags. More...
enum  rpmVerifyFlags_e {
  VERIFY_DEFAULT = 0, VERIFY_FDIGEST = (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_CONTEXTS = (1 << 15), VERIFY_FILES = (1 << 16), VERIFY_DEPS = (1 << 17),
  VERIFY_SCRIPT = (1 << 18), VERIFY_DIGEST = (1 << 19), VERIFY_SIGNATURE = (1 << 20), VERIFY_PATCHES = (1 << 21),
  VERIFY_HDRCHK = (1 << 22), 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...
rpmQueryFlags rpmcliQueryFlags
 Bit(s) from common command line options.
struct poptOption rpmQVSourcePoptTable []
 Common query/verify mode options.
int specedit
struct poptOption rpmQueryPoptTable []
 Query mode options.
struct poptOption rpmVerifyPoptTable []
 Verify mode options.
typedef enum rpmQVSources_e rpmQVSources
 Query/Verify argument qualifiers.
typedef enum rpmVerifyAttrs_e rpmVerifyAttrs
 Bit(s) for rpmVerifyFile() attributes and result.
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 struct rpmQVKArguments_sQVA_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.
int rpmcliShowMatches (QVA_t qva, rpmts ts)
 Display query/verify information for each header in iterator.
int rpmQueryVerify (QVA_t qva, rpmts ts, const char *arg)
 Common query/verify source interface, called once for each CLI arg.
int showQueryPackage (QVA_t qva, rpmts ts, Header h)
 Display results of package query.
int rpmcliArgIter (rpmts ts, QVA_t qva, ARGV_t argv)
 Iterate over query/verify arg list.
int rpmcliQuery (rpmts ts, QVA_t qva, const char **argv)
 Display package information.
int rpmVerifyFile (const rpmts ts, rpmfi fi, rpmVerifyAttrs *res, rpmVerifyAttrs omitMask)
 Verify file attributes (including file digest).
int showVerifyPackage (QVA_t qva, rpmts ts, Header h)
 Display results of package verify.
int rpmcliVerify (rpmts ts, QVA_t qva, const char **argv)
 Verify package install.

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), INSTALL_ALLMATCHES = (1 << 9)
}
 Bit(s) to control rpmcliInstall() and rpmErase() operation. More...
struct poptOption rpmInstallPoptTable []
int rpmcliPackagesTotal
int rpmcliHashesCurrent
int rpmcliHashesTotal
uint64_t rpmcliProgressCurrent
uint64_t rpmcliProgressTotal
typedef enum
rpmInstallInterfaceFlags_e 
rpmInstallInterfaceFlags
 Bit(s) to control rpmcliInstall() and rpmErase() operation.
typedef struct IDT_sIDT
 A rollback transaction id element.
typedef struct IDTindex_sIDTX
 A rollback transaction id index.
void * rpmShowProgress (const void *arg, const rpmCallbackType what, const uint64_t amount, const uint64_t total, fnpyKey key, void *data)
 The rpm CLI generic transaction callback handler.
int rpmInstallSource (rpmts ts, const char *arg, const char **specFilePtr, const char **cookie)
 Install source rpm package.
int rpmcliInstallProblems (rpmts ts, const char *msg, int rc)
 Report package problems (if any).
int rpmcliInstallSuggests (rpmts ts)
 Report packages(if any) that satisfy unresolved dependencies.
int rpmcliInstallCheck (rpmts ts)
 Check package element dependencies in a transaction set, reporting problems.
int rpmcliInstallOrder (rpmts ts)
 Order package elements in a transaction set, reporting problems.
int rpmcliInstallRun (rpmts ts, rpmps okProbs, rpmprobFilterFlags ignoreSet)
 Install/erase package elements in a transaction set, reporting problems.
int rpmcliInstall (rpmts ts, QVA_t ia, const char **argv)
 Install/upgrade/freshen binary rpm package.
int rpmErase (rpmts ts, QVA_t ia, const char **argv)
 Erase binary rpm package.
int rpmRollback (rpmts ts, QVA_t ia, const char **argv)
 Rollback transactions, erasing new, reinstalling old, package(s).
IDTX IDTXfree (IDTX idtx)
 Destroy id index.
IDTX IDTXnew (void)
 Create id index.
IDTX IDTXgrow (IDTX idtx, int need)
 Insure that index has room for "need" elements.
IDTX IDTXsort (IDTX idtx)
 Sort tag (instance,value) pairs.
IDTX IDTXload (rpmts ts, rpmTag tag, uint32_t rbtid)
 Load tag (instance,value) pairs from rpm databse, and return sorted id index.
IDTX IDTXglob (rpmts ts, const char *globstr, rpmTag tag, uint32_t rbtid)
 Load tag (instance,value) pairs from packages, and return sorted id index.

RPMK

enum  rpmSignFlags_e {
  RPMSIGN_NONE = 0, RPMSIGN_CHK_SIGNATURE = 'K', RPMSIGN_NEW_SIGNATURE = 'R', RPMSIGN_ADD_SIGNATURE = 'A',
  RPMSIGN_DEL_SIGNATURE = 'D', RPMSIGN_IMPORT_PUBKEY = 'I'
}
 Bit(s) to control rpmReSign() operation. More...
struct poptOption rpmSignPoptTable []
 Signature mode options.
typedef enum rpmSignFlags_e rpmSignFlags
 Bit(s) to control rpmReSign() operation.
rpmRC rpmcliImportPubkey (const rpmts ts, const unsigned char *pkt, ssize_t pktlen)
 Import public key packet(s).
int rpmcliSign (rpmts ts, QVA_t qva, const char **argv)
 Create/Modify/Check elements from signature header.

RPMDB

struct poptOption rpmDatabasePoptTable []

RPMBT

struct rpmBuildArguments_s rpmBTArgs
struct poptOption rpmBuildPoptTable []
typedef struct
rpmBuildArguments_s
BTA_t

Functions

static int checkSpec (rpmts ts, Header h)
 Parse spec file and build package.
static int rpmReSign (rpmts ts, QVA_t qva, const char **argv)
 Create/modify elements in signature header.
static int rpmcliImportPubkeys (const rpmts ts, QVA_t qva, const char **argv)
 Import public key(s).
rpmRC rpmtsImportPubkey (const rpmts ts, const unsigned char *pkt, ssize_t pktlen)
 Import public key packet(s).

Variables

int _noDirTokens
 Should version 3 packages be produced?
struct poptOption rpmcliAllPoptTable []
 Popt option table for options shared by all modes and executables.
struct rpmQVKArguments_s rpmQVKArgs
struct rpmQVKArguments_s rpmIArgs
struct rpmQVKArguments_s rpmDBArgs

Typedef Documentation

typedef struct rpmBuildArguments_s* BTA_t

Definition at line 876 of file rpmcli.h.

typedef struct IDT_s* IDT

A rollback transaction id element.

Definition at line 587 of file rpmcli.h.

typedef struct IDTindex_s* IDTX

A rollback transaction id index.

Definition at line 605 of file rpmcli.h.

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

typedef struct rpmQVKArguments_s* QVA_t

Definition at line 251 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 261 of file rpmcli.h.

Bit(s) to control rpmcliInstall() and rpmErase() operation.

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

Todo:
Merge rpmQueryFlags, rpmVerifyFlags, and rpmVerifyAttrs?.

Query/Verify argument qualifiers.

Todo:
Reassign to tag values.

Bit(s) to control rpmReSign() operation.

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

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

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


Enumeration Type Documentation

Bit(s) to control rpmcliInstall() and rpmErase() 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 (erase)

Definition at line 435 of file rpmcli.h.

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

Todo:
Merge rpmQueryFlags, rpmVerifyFlags, and rpmVerifyAttrs?.
Enumerator:
QUERY_FOR_DEFAULT 
QUERY_FDIGEST  from --nofdigest
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

Definition at line 169 of file rpmcli.h.

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_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 digest, usually MD5).
RPMQV_TID  ... from install transaction id (time stamp).
RPMQV_HDLIST  ... from system hdlist.
RPMQV_FTSWALK  ... from fts(3) walk.
RPMQV_WHATNEEDS  ... from requires using contained provides.
RPMQV_SPECSRPM  ... srpm from spec file parse (query only).
RPMQV_SOURCEPKGID  ... from source package id (header+payload MD5).

Definition at line 116 of file rpmcli.h.

Bit(s) to control rpmReSign() operation.

Enumerator:
RPMSIGN_NONE 
RPMSIGN_CHK_SIGNATURE  from --checksig
RPMSIGN_NEW_SIGNATURE  from --resign
RPMSIGN_ADD_SIGNATURE  from --addsign
RPMSIGN_DEL_SIGNATURE  from --delsign
RPMSIGN_IMPORT_PUBKEY  from --import

Definition at line 731 of file rpmcli.h.

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

Enumerator:
RPMVERIFY_NONE 
RPMVERIFY_FDIGEST  from verify(digest)
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_CONTEXTS  verify: from --nocontexts
RPMVERIFY_READLINKFAIL  readlink failed
RPMVERIFY_READFAIL  file read failed
RPMVERIFY_LSTATFAIL  lstat failed
RPMVERIFY_LGETFILECONFAIL  lgetfilecon failed

Definition at line 141 of file rpmcli.h.

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

Todo:
Merge rpmQueryFlags, rpmVerifyFlags, and rpmVerifyAttrs values?.
Enumerator:
VERIFY_DEFAULT 
VERIFY_FDIGEST  from --nofdigest
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_CONTEXTS  verify: from --nocontexts
VERIFY_FILES  verify: from --nofiles
VERIFY_DEPS  verify: from --nodeps
VERIFY_SCRIPT  verify: from --noscripts
VERIFY_DIGEST  verify: from --nodigest
VERIFY_SIGNATURE  verify: from --nosignature
VERIFY_PATCHES  verify: from --nopatches
VERIFY_HDRCHK  verify: from --nohdrchk
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 211 of file rpmcli.h.


Function Documentation

static int checkSpec ( rpmts  ts,
Header  h 
) [static]

Parse spec file and build package.

Definition at line 24 of file build.c.

References _free(), F_OK, RPMFILE_ICON, RPMFILE_PATCH, RPMFILE_SOURCE, and rpmGetPath().

IDTX IDTXfree ( IDTX  idtx  ) 

Destroy id index.

Parameters:
idtx id index
Returns:
NULL always

Definition at line 40 of file rpmrollback.c.

References _free(), IDT_s::h, headerFree(), IDTindex_s::idt, IDT_s::key, and IDTindex_s::nidt.

Referenced by rpmRollback(), rpmts_IDTXglob(), and rpmts_IDTXload().

IDTX IDTXglob ( rpmts  ts,
const char *  globstr,
rpmTag  tag,
uint32_t  rbtid 
)

Load tag (instance,value) pairs from packages, and return sorted id index.

Parameters:
ts transaction set
globstr glob expression
tag rpm tag
rbtid rollback goal
Returns:
id index

Definition at line 137 of file rpmrollback.c.

References _, _free(), alloca(), IDT_s::done, Fclose(), Ferror(), Fopen(), Fstrerror(), IDT_s::h, headerFree(), headerGet(), headerGetOrigin(), headerIsEntry(), headerLink(), IDTindex_s::idt, IDTXgrow(), IDTXsort(), IDT_s::instance, IDT_s::key, IDTindex_s::nidt, _HE_s::p, rpmDataType_u::ptr, rpmgiEscapeSpaces(), rpmGlob(), rpmlog(), RPMLOG_ERR, RPMRC_NOKEY, RPMRC_NOTTRUSTED, RPMRC_OK, rpmReadPackageFile(), RPMTAG_ARCH, RPMTAG_SOURCERPM, _HE_s::tag, IDT_s::u32, rpmDataType_u::ui32p, and IDT_s::val.

Referenced by rpmRollback(), and rpmts_IDTXglob().

IDTX IDTXgrow ( IDTX  idtx,
int  need 
)

Insure that index has room for "need" elements.

Parameters:
idtx id index
need additional no. of elements needed
Returns:
id index (with room for "need" elements)

Definition at line 64 of file rpmrollback.c.

References IDTindex_s::alloced, IDTindex_s::delta, IDTindex_s::idt, IDTXnew(), IDTindex_s::nidt, IDTindex_s::size, and xrealloc().

Referenced by IDTXglob(), and IDTXload().

IDTX IDTXload ( rpmts  ts,
rpmTag  tag,
uint32_t  rbtid 
)

Load tag (instance,value) pairs from rpm databse, and return sorted id index.

Parameters:
ts transaction set
tag rpm tag
rbtid rollback goal
Returns:
id index

Definition at line 88 of file rpmrollback.c.

References _free(), alloca(), IDT_s::done, IDT_s::h, headerGet(), headerLink(), IDTindex_s::idt, IDTXgrow(), IDTXsort(), IDT_s::instance, IDT_s::key, IDTindex_s::nidt, _HE_s::p, rpmDataType_u::ptr, rpmdbFreeIterator(), rpmdbGetIteratorOffset(), rpmdbNextIterator(), rpmdbSetIteratorRE(), RPMTAG_NAME, rpmtsInitIterator(), _HE_s::tag, IDT_s::u32, rpmDataType_u::ui32p, and IDT_s::val.

Referenced by rpmRollback(), and rpmts_IDTXload().

IDTX IDTXnew ( void   ) 

Create id index.

Returns:
new id index

Definition at line 56 of file rpmrollback.c.

References IDTindex_s::delta, IDTindex_s::size, and xcalloc().

Referenced by IDTXgrow().

IDTX IDTXsort ( IDTX  idtx  ) 

Sort tag (instance,value) pairs.

Parameters:
idtx id index
Returns:
id index

Definition at line 81 of file rpmrollback.c.

References IDTindex_s::idt, IDTintcmp(), IDTindex_s::nidt, and IDTindex_s::size.

Referenced by IDTXglob(), and IDTXload().

int rpmcliArgIter ( rpmts  ts,
QVA_t  qva,
ARGV_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

Definition at line 704 of file query.c.

References FTS_COMFOLLOW, FTS_LOGICAL, FTS_NOSTAT, ftsOpts, giFlags, rpmQVKArguments_s::qva_gi, rpmQVKArguments_s::qva_rc, rpmQVKArguments_s::qva_source, RPMDBI_ARGLIST, RPMDBI_FTSWALK, RPMDBI_HDLIST, RPMDBI_LABEL, RPMDBI_PACKAGES, RPMGI_NOGLOB, RPMGI_NOHEADER, RPMGI_NONE, RPMGI_TSADD, rpmgiFree(), rpmgiGetFlags(), rpmgiHdrPath(), rpmgiNew(), rpmgiNext(), rpmgiSetArgs(), rpmQueryVerify(), RPMQV_ALL, RPMQV_FTSWALK, RPMQV_HDLIST, RPMQV_RPM, RPMRC_NOTFOUND, RPMRC_OK, and rpmtsEmpty().

Referenced by rpmcliQuery(), and rpmcliVerify().

rpmRC rpmcliImportPubkey ( const rpmts  ts,
const unsigned char *  pkt,
ssize_t  pktlen 
)

static int rpmcliImportPubkeys ( const rpmts  ts,
QVA_t  qva,
const char **  argv 
) [static]

Import public key(s).

Todo:
Implicit --update policy for gpg-pubkey headers.
Parameters:
ts transaction set
qva mode flags and parameters
argv array of pubkey file names (NULL terminated)
Returns:
0 on success

Definition at line 702 of file rpmchecksig.c.

References _, _free(), PGPARMOR_PUBKEY, pgpReadPkts(), rpmcliImportPubkey(), rpmExpand(), rpmlog(), RPMLOG_ERR, RPMRC_OK, and rpmtsClean().

Referenced by rpmcliSign().

int rpmcliInstall ( rpmts  ts,
QVA_t  ia,
const char **  argv 
)

Install/upgrade/freshen binary rpm package.

Todo:
Use rpmdsCompare rather than rpmVersionCompare.
Parameters:
ts transaction set
ia mode flags and parameters
argv array of package file names (NULL terminated)
Returns:
0 on success
Todo:
Generalize --freshen policies.

Definition at line 311 of file rpminstall.c.

References _, _free(), _RPMVSF_NODIGESTS, _RPMVSF_NOSIGNATURES, alloca(), rpmQVKArguments_s::arbtid, rpmDataType_u::argv, argvAdd(), argvFree(), _HE_s::c, D_, rpmQVKArguments_s::depFlags, FTS_COMFOLLOW, FTS_LOGICAL, FTS_NOSTAT, ftsOpts, headerGet(), INSTALL_FRESHEN, INSTALL_LABEL, INSTALL_NODEPS, INSTALL_NOORDER, INSTALL_UPGRADE, rpmQVKArguments_s::installInterfaceFlags, matchpathcon_fini, matchpathcon_init, rpmRelocation_s::newPath, rpmRelocation_s::oldPath, _HE_s::p, rpmQVKArguments_s::probFilter, rpmDataType_u::ptr, rpmQVKArguments_s::qva_flags, rpmQVKArguments_s::qva_source, rpmQVKArguments_s::relocations, rpmcliInstallCheck(), rpmcliInstallOrder(), rpmcliInstallRun(), rpmcliInstallSuggests(), rpmcliPackagesTotal, rpmdbFreeIterator(), rpmdbGetIteratorCount(), RPMDBI_ARGLIST, RPMDBI_FTSWALK, rpmdbNextIterator(), rpmdsFree(), rpmdsSingle(), rpmExpandNumeric(), rpmGetPath(), RPMGI_NONE, rpmgiFree(), rpmgiHdrPath(), rpmgiHeader(), rpmgiNew(), rpmgiNext(), rpmgiSetArgs(), rpmIsVerbose, rpmlog(), RPMLOG_DEBUG, RPMLOG_ERR, RPMQV_FTSWALK, RPMRC_OK, rpmShowProgress(), RPMTAG_NAME, RPMTAG_NVRA, RPMTAG_PREFIXES, RPMTAG_REQUIRENAME, RPMTRANS_FLAG_NOCONTEXTS, RPMTRANS_FLAG_REPACKAGE, rpmtsAddInstallElement(), rpmtsClean(), rpmtsEmpty(), rpmtsInitIterator(), rpmtsSELinuxEnabled(), rpmtsSetARBGoal(), rpmtsSetDFlags(), rpmtsSetFlags(), rpmtsSetGoal(), rpmtsSetNotifyCallback(), rpmtsSetVSFlags(), rpmtsSolve(), rpmVersionCompare(), RPMVSF_NEEDPAYLOAD, RPMVSF_NOHDRCHK, rpmDataType_u::str, _HE_s::tag, rpmQVKArguments_s::transFlags, TSM_INSTALL, VERIFY_DIGEST, VERIFY_HDRCHK, VERIFY_SIGNATURE, and xstrdup().

Referenced by main().

int rpmcliInstallCheck ( rpmts  ts  ) 

Check package element dependencies in a transaction set, reporting problems.

Parameters:
ts transaction set
Returns:
no. of (added) packages

Definition at line 287 of file rpminstall.c.

References _, rpmcliInstallProblems(), and rpmtsCheck().

Referenced by main(), rpmcliInstall(), and rpmErase().

int rpmcliInstallOrder ( rpmts  ts  ) 

Order package elements in a transaction set, reporting problems.

Parameters:
ts transaction set
Returns:
no. of (added) packages

Definition at line 294 of file rpminstall.c.

References _, rpmcliInstallProblems(), and rpmtsOrder().

Referenced by main(), rpmcliInstall(), and rpmErase().

int rpmcliInstallProblems ( rpmts  ts,
const char *  msg,
int  rc 
)

Report package problems (if any).

Parameters:
ts transaction set
msg problem context string to display
rc result of a tranbsaction operation
Returns:
no. of (added) packages

Definition at line 255 of file rpminstall.c.

References rpmlog(), RPMLOG_ERR, rpmpsFree(), rpmpsNumProblems(), rpmpsPrint(), and rpmtsProblems().

Referenced by rpmcliInstallCheck(), rpmcliInstallOrder(), rpmcliInstallRun(), and rpmRollback().

int rpmcliInstallRun ( rpmts  ts,
rpmps  okProbs,
rpmprobFilterFlags  ignoreSet 
)

Install/erase package elements in a transaction set, reporting problems.

Parameters:
ts transaction set
okProbs previously known problems (or NULL)
ignoreSet bits to filter problem types
Returns:
0 on success, -1 on error, >0 no, of failed elements

Definition at line 301 of file rpminstall.c.

References _, rpmcliInstallProblems(), and rpmtsRun().

Referenced by main(), rpmcliInstall(), and rpmErase().

int rpmcliInstallSuggests ( rpmts  ts  ) 

Report packages(if any) that satisfy unresolved dependencies.

Parameters:
ts transaction set
Returns:
0 always

Definition at line 270 of file rpminstall.c.

References _, _free(), rpmlog(), and RPMLOG_NOTICE.

Referenced by rpmcliInstall().

int rpmcliQuery ( rpmts  ts,
QVA_t  qva,
const char **  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

Definition at line 807 of file query.c.

References _free(), _QUERY_FOR_BITS, _RPMVSF_NODIGESTS, _RPMVSF_NOSIGNATURES, rpmQVKArguments_s::depFlags, rpmQVKArguments_s::qva_flags, rpmQVKArguments_s::qva_queryFormat, rpmQVKArguments_s::qva_showPackage, rpmcliArgIter(), rpmExpand(), rpmExpandNumeric(), rpmtsSetDFlags(), rpmtsSetFlags(), rpmtsSetVSFlags(), RPMVSF_NOHDRCHK, showQueryPackage(), rpmQVKArguments_s::transFlags, VERIFY_DIGEST, VERIFY_HDRCHK, VERIFY_SIGNATURE, and xstrdup().

Referenced by main().

int rpmcliShowMatches ( QVA_t  qva,
rpmts  ts 
)

Display query/verify information for each header in iterator.

This routine uses:

  • qva->qva_mi rpm database iterator
  • qva->qva_showPackage query/verify display routine

Parameters:
qva parsed query/verify options
ts transaction set
Returns:
result of last non-zero showPackage() return

Definition at line 403 of file query.c.

References rpmQVKArguments_s::qva_mi, rpmQVKArguments_s::qva_showFAIL, rpmQVKArguments_s::qva_showOK, rpmQVKArguments_s::qva_showPackage, rpmQVKArguments_s::qva_source, rpmdbFreeIterator(), rpmdbNextIterator(), and RPMQV_DBOFFSET.

Referenced by rpmQueryVerify().

int rpmcliSign ( rpmts  ts,
QVA_t  qva,
const char **  argv 
)

int rpmcliVerify ( rpmts  ts,
QVA_t  qva,
const char **  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

Definition at line 509 of file verify.c.

References _RPMVSF_NODIGESTS, _RPMVSF_NOSIGNATURES, rpmQVKArguments_s::depFlags, rpmQVKArguments_s::qva_flags, rpmQVKArguments_s::qva_showPackage, rpmcliArgIter(), rpmExpandNumeric(), rpmtsEmpty(), rpmtsSetDFlags(), rpmtsSetFlags(), rpmtsSetVSFlags(), RPMVSF_NEEDPAYLOAD, RPMVSF_NOHDRCHK, showVerifyPackage(), rpmQVKArguments_s::transFlags, VERIFY_DIGEST, VERIFY_HDRCHK, and VERIFY_SIGNATURE.

Referenced by main().

int rpmErase ( rpmts  ts,
QVA_t  ia,
const char **  argv 
)

int rpmInstallSource ( rpmts  ts,
const char *  arg,
const char **  specFilePtr,
const 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

Definition at line 620 of file rpminstall.c.

References _, _free(), Fclose(), Ferror(), Fopen(), Fstrerror(), rpmInstallSourcePackage(), rpmIsVerbose, rpmlog(), RPMLOG_ERR, RPMRC_OK, rpmtsSetVSFlags(), rpmtsVSFlags(), and RPMVSF_NEEDPAYLOAD.

Referenced by main().

int rpmQueryVerify ( QVA_t  qva,
rpmts  ts,
const char *  arg 
)

static int rpmReSign ( rpmts  ts,
QVA_t  qva,
const char **  argv 
) [static]

int rpmRollback ( rpmts  ts,
QVA_t  ia,
const char **  argv 
)

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

Parameters:
ts transaction set
ia mode flags and parameters
argv array of arguments (NULL terminated)
Returns:
0 on success
Todo:
Transaction handling, more, needs work.

Definition at line 385 of file rpmrollback.c.

References _, _free(), _RPMVSF_NODIGESTS, _RPMVSF_NOSIGNATURES, D_, rpmQVKArguments_s::depFlags, IDT_s::done, findErases(), IDT_s::h, headerFree(), IDTindex_s::idt, IDTXfree(), IDTXglob(), IDTXload(), INSTALL_ERASE, INSTALL_FRESHEN, INSTALL_INSTALL, INSTALL_LABEL, INSTALL_UPGRADE, rpmQVKArguments_s::installInterfaceFlags, IDT_s::key, IDTindex_s::nidt, rpmQVKArguments_s::no_rollback_links, rpmQVKArguments_s::numrbtidExcludes, rpmQVKArguments_s::probFilter, rpmQVKArguments_s::qva_flags, rpmQVKArguments_s::rbCheck, rpmQVKArguments_s::rbOrder, rpmQVKArguments_s::rbRun, rpmQVKArguments_s::rbtid, rpmQVKArguments_s::rbtidExcludes, rpmQVKArguments_s::relocations, rpmcliInstallProblems(), rpmcliPackagesTotal, rpmExpand(), rpmExpandNumeric(), rpmIsDebug, rpmIsVerbose, rpmlog(), RPMLOG_DEBUG, RPMLOG_NOTICE, RPMPROB_FILTER_OLDPACKAGE, rpmpsCreate(), rpmpsFree(), rpmShowProgress(), RPMTAG_INSTALLTID, RPMTAG_REMOVETID, RPMTRANS_TYPE_ROLLBACK, rpmtsAddInstallElement(), rpmtsClean(), rpmtsEmpty(), rpmtsSetDFlags(), rpmtsSetFlags(), rpmtsSetNotifyCallback(), rpmtsSetType(), rpmtsSetVSFlags(), RPMVSF_NEEDPAYLOAD, RPMVSF_NOHDRCHK, rpmQVKArguments_s::transFlags, IDT_s::u32, IDT_s::val, VERIFY_DIGEST, VERIFY_HDRCHK, and VERIFY_SIGNATURE.

Referenced by main(), rpmts_Rollback(), and rpmtsRollback().

void* rpmShowProgress ( const void *  arg,
const rpmCallbackType  what,
const uint64_t  amount,
const uint64_t  total,
fnpyKey  key,
void *  data 
)

The rpm CLI generic transaction callback handler.

Todo:
Remove headerSprintf() from the progress callback.
Warning:
This function's args have changed, so the function cannot be used portably
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)

Definition at line 91 of file rpminstall.c.

References _, _free(), Fclose(), fdFree, fdLink, Ferror(), Fopen(), Fstrerror(), headerSprintf(), INSTALL_HASH, INSTALL_LABEL, INSTALL_PERCENT, printHash(), RPMCALLBACK_CPIO_ERROR, RPMCALLBACK_INST_CLOSE_FILE, RPMCALLBACK_INST_OPEN_FILE, RPMCALLBACK_INST_PROGRESS, RPMCALLBACK_INST_START, RPMCALLBACK_REPACKAGE_PROGRESS, RPMCALLBACK_REPACKAGE_START, RPMCALLBACK_REPACKAGE_STOP, RPMCALLBACK_SCRIPT_ERROR, RPMCALLBACK_TRANS_PROGRESS, RPMCALLBACK_TRANS_START, RPMCALLBACK_TRANS_STOP, RPMCALLBACK_UNINST_PROGRESS, RPMCALLBACK_UNINST_START, RPMCALLBACK_UNINST_STOP, RPMCALLBACK_UNKNOWN, RPMCALLBACK_UNPACK_ERROR, rpmcliHashesCurrent, rpmcliPackagesTotal, rpmcliProgressCurrent, rpmcliProgressTotal, rpmHeaderFormats, rpmlog(), and RPMLOG_ERR.

Referenced by rpmcliInstall(), rpmErase(), and rpmRollback().

rpmRC rpmtsImportPubkey ( const rpmts  ts,
const unsigned char *  pkt,
ssize_t  pktlen 
)

int rpmVerifyFile ( const rpmts  ts,
rpmfi  fi,
rpmVerifyAttrs res,
rpmVerifyAttrs  omitMask 
)

Verify file attributes (including file digest).

Todo:
gnorpm and python bindings prevent this from being static.
Parameters:
ts transaction set
fi file info (with linked header and current file index)
Return values:
*res 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 29 of file verify.c.

References alloca(), dodigest(), gidToGname(), Lstat(), Readlink(), rpmfiDigest(), rpmfiFFlags(), rpmfiFGroup(), rpmfiFLink(), rpmfiFMode(), rpmfiFMtime(), rpmfiFN(), rpmfiFRdev(), rpmfiFSize(), rpmfiFState(), rpmfiFUser(), RPMFILE_GHOST, RPMFILE_STATE_NETSHARED, RPMFILE_STATE_NORMAL, RPMFILE_STATE_NOTINSTALLED, RPMFILE_STATE_REPLACED, RPMFILE_STATE_WRONGCOLOR, rpmfiVFlags(), rpmtsRootDir(), RPMVERIFY_FAILURES, RPMVERIFY_FDIGEST, RPMVERIFY_FILESIZE, RPMVERIFY_GROUP, RPMVERIFY_LINKTO, RPMVERIFY_LSTATFAIL, RPMVERIFY_MODE, RPMVERIFY_MTIME, RPMVERIFY_NONE, RPMVERIFY_RDEV, RPMVERIFY_READFAIL, RPMVERIFY_READLINKFAIL, RPMVERIFY_USER, S_ISDEV, S_ISLNK, stpcpy(), and uidToUname().

Referenced by verifyHeader().

int showQueryPackage ( QVA_t  qva,
rpmts  ts,
Header  h 
)

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

Definition at line 465 of file verify.c.

References _rpmds_unspecified_epoch_noise, Fclose(), fdDup(), headerFree(), headerIsEntry(), headerLink(), rpmQVKArguments_s::qva_flags, rpmfiFree(), rpmfiNew(), rpmIsVerbose, RPMTAG_BASENAMES, RPMTAG_SANITYCHECK, RPMTAG_VERIFYSCRIPT, rpmVerifyScript(), VERIFY_DEPS, VERIFY_FILES, VERIFY_SCRIPT, verifyDependencies(), and verifyHeader().

Referenced by rpmcliVerify().


Variable Documentation

Should version 3 packages be produced?

Definition at line 16 of file poptBT.c.

Referenced by buildArgCallback(), main(), prepFetch(), and prepFetchVerbose().

struct poptOption rpmBuildPoptTable[]

Definition at line 133 of file poptBT.c.

struct poptOption rpmcliAllPoptTable[]

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

Definition at line 416 of file poptALL.c.

Definition at line 30 of file rpminstall.c.

Referenced by printHash(), and rpmShowProgress().

Definition at line 32 of file rpminstall.c.

Referenced by printHash().

Definition at line 28 of file rpminstall.c.

Referenced by rpmcliInstall(), rpmRollback(), rpmShowProgress(), and rpmtsAddInstallElement().

Definition at line 34 of file rpminstall.c.

Referenced by printHash(), and rpmShowProgress().

Definition at line 36 of file rpminstall.c.

Referenced by printHash(), and rpmShowProgress().

Bit(s) from common command line options.

Definition at line 149 of file poptALL.c.

Referenced by rpmcliAllArgCallback().

struct poptOption rpmDatabasePoptTable[]

Definition at line 19 of file poptDB.c.

Definition at line 15 of file poptDB.c.

Referenced by main().

Definition at line 19 of file poptI.c.

Referenced by main().

struct poptOption rpmInstallPoptTable[]

Definition at line 202 of file poptI.c.

struct poptOption rpmQueryPoptTable[]

Query mode options.

Definition at line 267 of file poptQV.c.

Definition at line 15 of file poptQV.c.

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

struct poptOption rpmQVSourcePoptTable[]

Common query/verify mode options.

Definition at line 112 of file poptQV.c.

struct poptOption rpmSignPoptTable[]

Signature mode options.

Definition at line 429 of file poptQV.c.

struct poptOption rpmVerifyPoptTable[]

Verify mode options.

Definition at line 324 of file poptQV.c.

int specedit

Definition at line 18 of file poptQV.c.


Generated on Wed Nov 19 20:23:41 2008 for rpm by  doxygen 1.5.6