Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages  

RPMCLI.


Files

file  manifest.c
file  poptALL.c
 Popt tables for all rpm modes.

file  poptBT.c
 Popt tables for build modes.

file  poptDB.c
 Popt tables for database 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  verify.c
 Verify installed payload files from package metadata.


Data Structures

struct  rpmBuildArguments_s
struct  rpmDatabaseArguments_s
struct  rpmInstallArguments_s
struct  rpmQVKArguments_s

RPMQV

typedef enum rpmQVSources_e rpmQVSources
typedef enum rpmVerifyAttrs_e rpmVerifyAttrs
typedef enum rpmQueryFlags_e rpmQueryFlags
typedef enum rpmVerifyFlags_e rpmVerifyFlags
typedef rpmQVKArguments_sQVA_t
typedef int(* QVF_t )(QVA_t qva, rpmts ts, Header h)
typedef int(* QSpecF_t )(rpmts ts, QVA_t qva, const char *arg)
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
}
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)
}
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_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)
}
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_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)
}
int rpmVerifyFile (const rpmts ts, rpmfi fi, rpmVerifyAttrs *res, rpmVerifyAttrs omitMask)
int showVerifyPackage (QVA_t qva, rpmts ts, Header h)
int rpmcliVerify (rpmts ts, QVA_t qva, const char **argv)
rpmQueryFlags rpmcliQueryFlags
rpmQVKArguments_s rpmQVKArgs
poptOption rpmQVSourcePoptTable []
 Common query/verify mode options.

int specedit
poptOption rpmQueryPoptTable []
 Query mode options.

poptOption rpmVerifyPoptTable []
 Verify mode options.


RPMBT

typedef rpmBuildArguments_sBTA_t
rpmBuildArguments_s rpmBTArgs
poptOption rpmBuildPoptTable []

RPMK

typedef enum rpmSignFlags_e rpmSignFlags
enum  rpmSignFlags_e {
  RPMSIGN_NONE = 0, RPMSIGN_CHK_SIGNATURE = 'K', RPMSIGN_NEW_SIGNATURE = 'R', RPMSIGN_ADD_SIGNATURE = 'A',
  RPMSIGN_IMPORT_PUBKEY = 'I'
}
poptOption rpmSignPoptTable []
 Signature mode options.


RPMEIU

typedef enum rpmInstallInterfaceFlags_e rpmInstallInterfaceFlags
typedef enum rpmEraseInterfaceFlags_e rpmEraseInterfaceFlags
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)
}
enum  rpmEraseInterfaceFlags_e { UNINSTALL_NONE = 0, UNINSTALL_NODEPS = (1 << 0), UNINSTALL_ALLMATCHES = (1 << 1) }

RPMEIU

void * rpmShowProgress (const void *arg, const rpmCallbackType what, const unsigned long amount, const unsigned long total, fnpyKey key, void *data)
int rpmInstallSource (rpmts ts, const char *arg, const char **specFilePtr, const char **cookie)
int rpmInstall (rpmts ts, struct rpmInstallArguments_s *ia, const char **fileArgv)
int rpmErase (rpmts ts, struct rpmInstallArguments_s *ia, const char **argv)
int rpmRollback (rpmts ts, struct rpmInstallArguments_s *ia, const char **argv)
rpmInstallArguments_s rpmIArgs
poptOption rpmInstallPoptTable []

RPMTS

void rpmShowRpmlibProvides (FILE *fp)

RPMDB

rpmDatabaseArguments_s rpmDBArgs
poptOption rpmDatabasePoptTable []

Functions

int checkSpec (rpmts ts, Header h)
int rpmReSign (rpmts ts, QVA_t qva, const char **argv)
int rpmcliImportPubkeys (const rpmts ts, QVA_t qva, const char **argv)
int rpmcliShowMatches (QVA_t qva, rpmts ts)
void rpmDisplayQueryTags (FILE *fp)
int rpmQueryVerify (QVA_t qva, rpmts ts, const char *arg)
int showQueryPackage (QVA_t qva, rpmts ts, Header h)
int rpmcliQuery (rpmts ts, QVA_t qva, const char **argv)
int rpmcliImportPubkey (const rpmts ts, const unsigned char *pkt, ssize_t pktlen)
int rpmcliSign (rpmts ts, QVA_t qva, const char **argv)

Variables

int _noDirTokens
poptOption rpmcliAllPoptTable []

Typedef Documentation

typedef struct rpmBuildArguments_s* BTA_t
 

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

typedef struct rpmQVKArguments_s* QVA_t
 

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

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
 

Query/Verify argument qualifiers.

Todo:
Reassign to tag values.

typedef enum rpmSignFlags_e rpmSignFlags
 

Bit(s) to control rpmReSign() operation.

typedef enum rpmVerifyAttrs_e rpmVerifyAttrs
 

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

Referenced by rpmVerifyFile(), and verifyHeader().

typedef enum rpmVerifyFlags_e rpmVerifyFlags
 

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

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

Referenced by main().


Enumeration Type Documentation

enum rpmEraseInterfaceFlags_e
 

Bit(s) to control rpmErase() operation.

Enumeration values:
UNINSTALL_NONE 
UNINSTALL_NODEPS  from --nodeps
UNINSTALL_ALLMATCHES  from --allmatches

Definition at line 1141 of file rpmlib.h.

enum rpmInstallInterfaceFlags_e
 

Bit(s) to control rpmInstall() operation.

Todo:
Move to rpmcli.h
Enumeration values:
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 1125 of file rpmlib.h.

enum rpmQueryFlags_e
 

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

Todo:
Merge rpmQueryFlags, rpmVerifyFlags, and rpmVerifyAttrs?.
Enumeration values:
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_SIGNATURE  verify: from --nosignature
QUERY_PATCHES  placeholder (SuSE)
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 138 of file rpmcli.h.

enum rpmQVSources_e
 

Query/Verify argument qualifiers.

Todo:
Reassign to tag values.
Enumeration values:
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 93 of file rpmcli.h.

enum rpmSignFlags_e
 

Bit(s) to control rpmReSign() operation.

Enumeration values:
RPMSIGN_NONE 
RPMSIGN_CHK_SIGNATURE  from --checksig
RPMSIGN_NEW_SIGNATURE  from --resign
RPMSIGN_ADD_SIGNATURE  from --addsign
RPMSIGN_IMPORT_PUBKEY  from --import

Definition at line 743 of file rpmcli.h.

enum rpmVerifyAttrs_e
 

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

Enumeration values:
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 113 of file rpmcli.h.

enum rpmVerifyFlags_e
 

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

Todo:
Merge rpmQueryFlags, rpmVerifyFlags, and rpmVerifyAttrs values?.
Enumeration values:
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_SIGNATURE  verify: from --nosignature
VERIFY_PATCHES  placeholder (SuSE)
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 179 of file rpmcli.h.


Function Documentation

int checkSpec rpmts    ts,
Header    h
[static]
 

Definition at line 23 of file build.c.

References _, headerIsEntry(), RPMMESS_ERROR, rpmMessage, rpmpsFree(), rpmpsNumProblems(), rpmpsPrint(), RPMTAG_CONFLICTNAME, RPMTAG_REQUIRENAME, rpmts, rpmtsAddInstallElement(), rpmtsCheck(), rpmtsClean(), and rpmtsProblems().

Referenced by buildForTarget().

int rpmcliImportPubkey const rpmts    ts,
const unsigned char *    pkt,
ssize_t    pktlen
 

Import public key packet(s).

Todo:
Implicit --update policy for gpg-pubkey headers.
Parameters:
ts  transaction set
pkt  pgp pubkey packet(s)
pktlen  pgp pubkey length
Returns:
0 on success

Definition at line 406 of file rpmchecksig.c.

References _free(), headerAddEntry(), headerAddOrAppendEntry(), headerFree(), headerNew(), headerSprintf(), int_32, pgpFreeDig(), pgpHexStr(), pgpNewDig, pgpPrtPkts(), pgpDig_s::pubkey, RPM_INT32_TYPE, RPM_STRING_ARRAY_TYPE, RPM_STRING_TYPE, rpmdbAdd(), RPMSENSE_EQUAL, RPMSENSE_KEYRING, RPMTAG_BUILDHOST, RPMTAG_BUILDTIME, RPMTAG_DESCRIPTION, RPMTAG_GROUP, RPMTAG_INSTALLTIME, RPMTAG_LICENSE, RPMTAG_NAME, RPMTAG_PROVIDEFLAGS, RPMTAG_PROVIDENAME, RPMTAG_PROVIDEVERSION, RPMTAG_PUBKEYS, RPMTAG_RELEASE, RPMTAG_RPMVERSION, RPMTAG_SIZE, RPMTAG_SOURCERPM, RPMTAG_SUMMARY, RPMTAG_VERSION, rpmts, rpmtsGetRdb(), rpmtsGetTid(), rpmtsOpenDB(), pgpDigParams_s::signid, stpcpy(), pgpDigParams_s::time, pgpDigParams_s::userid, pgpDigParams_s::version, and xmalloc().

Referenced by rpmcliImportPubkeys(), and rpmts_PgpImportPubkey().

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 541 of file rpmchecksig.c.

References _, _free(), argv, PGPARMOR_PUBKEY, pgpReadPkts(), rpmcliImportPubkey(), RPMERR_IMPORT, rpmError, rpmts, and rpmtsClean().

Referenced by rpmcliSign().

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 778 of file query.c.

References _free(), _QUERY_FOR_BITS, _RPMVSF_NODIGESTS, _RPMVSF_NOSIGNATURES, argv, rpmQVKArguments_s::qva_flags, rpmQVKArguments_s::qva_queryFormat, rpmQVKArguments_s::qva_showPackage, rpmQVKArguments_s::qva_source, rpmExpand(), rpmExpandNumeric(), rpmQueryVerify(), RPMQV_ALL, rpmts, rpmtsEmpty(), rpmtsSetVSFlags(), RPMVSF_NOHDRCHK, rpmVSFlags, showQueryPackage(), 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 360 of file query.c.

References rpmQVKArguments_s::qva_mi, rpmQVKArguments_s::qva_showPackage, rpmdbFreeIterator(), rpmdbNextIterator(), and rpmts.

Referenced by rpmQueryVerify().

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

Create/Modify/Check elements from signature header.

Parameters:
ts  transaction set
qva  mode flags and parameters
argv  array of arguments (NULL terminated)
Returns:
0 on success

Definition at line 1003 of file rpmchecksig.c.

References argv, Fclose(), Ferror(), Fopen(), rpmQVKArguments_s::qva_mode, rpmcliImportPubkeys(), rpmReSign(), RPMSIGN_ADD_SIGNATURE, RPMSIGN_CHK_SIGNATURE, RPMSIGN_IMPORT_PUBKEY, RPMSIGN_NEW_SIGNATURE, RPMSIGN_NONE, rpmts, and rpmVerifySignatures().

Referenced by main().

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 466 of file verify.c.

References _RPMVSF_NODIGESTS, _RPMVSF_NOSIGNATURES, argv, rpmQVKArguments_s::qva_flags, rpmQVKArguments_s::qva_showPackage, rpmQVKArguments_s::qva_source, rpmExpandNumeric(), rpmQueryVerify(), RPMQV_ALL, rpmts, rpmtsEmpty(), rpmtsSetVSFlags(), RPMVSF_NEEDPAYLOAD, RPMVSF_NOHDRCHK, rpmVSFlags, showVerifyPackage(), VERIFY_DIGEST, VERIFY_HDRCHK, and VERIFY_SIGNATURE.

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

Definition at line 333 of file query.c.

References HEADER_EXT_MORE, HEADER_EXT_TAG, headerTagTableEntry_s::name, headerSprintfExtension_s::name, headerSprintfExtension_s::type, and headerSprintfExtension_s::u.

Referenced by main(), and rpmcliAllArgCallback().

int rpmErase rpmts    ts,
struct rpmInstallArguments_s   ia,
const char **    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

Definition at line 733 of file rpminstall.c.

References _, _RPMVSF_NODIGESTS, _RPMVSF_NOSIGNATURES, argv, rpmInstallArguments_s::eraseInterfaceFlags, INSTALL_LABEL, rpmInstallArguments_s::qva_flags, rpmdbFreeIterator(), rpmdbGetIteratorOffset(), RPMDBI_LABEL, rpmdbNextIterator(), rpmExpandNumeric(), rpmIsVerbose, RPMMESS_ERROR, rpmMessage, rpmpsFree(), rpmpsNumProblems(), rpmpsPrint(), rpmShowProgress(), RPMTRANS_FLAG_REPACKAGE, RPMTRANS_FLAG_REVERSE, rpmts, rpmtsAddEraseElement(), rpmtsCheck(), rpmtsClean(), rpmtsEmpty(), rpmtsFlags(), rpmtsInitIterator(), rpmtsProblems(), rpmtsRun(), rpmtsSetFlags(), rpmtsSetNotifyCallback(), rpmtsSetVSFlags(), RPMVSF_NOHDRCHK, rpmVSFlags, rpmInstallArguments_s::transFlags, UNINSTALL_ALLMATCHES, UNINSTALL_NODEPS, VERIFY_DIGEST, VERIFY_HDRCHK, and VERIFY_SIGNATURE.

Referenced by main().

int rpmInstall rpmts    ts,
struct rpmInstallArguments_s   ia,
const char **    fileArgv
 

Todo:
Generalize --freshen policies.

Definition at line 285 of file rpminstall.c.

References _, _free(), _RPMVSF_NODIGESTS, _RPMVSF_NOSIGNATURES, alloca(), rpmEIU::argc, rpmEIU::argv, Fclose(), rpmEIU::fd, Ferror(), rpmEIU::fnp, fnpyKey, Fopen(), ftpStrerror(), rpmEIU::h, headerFree(), headerFreeData(), headerGetEntry(), headerIsEntry(), headerNVR(), INSTALL_FRESHEN, INSTALL_LABEL, INSTALL_NODEPS, INSTALL_NOORDER, INSTALL_UPGRADE, rpmInstallArguments_s::installInterfaceFlags, rpmEIU::isSource, rpmRelocation_s::newPath, rpmEIU::numFailed, rpmEIU::numPkgs, rpmEIU::numRPMS, rpmEIU::numSRPMS, rpmRelocation_s::oldPath, rpmEIU::pkgState, rpmEIU::pkgURL, rpmEIU::pkgx, rpmEIU::prevx, rpmInstallArguments_s::probFilter, rpmInstallArguments_s::qva_flags, rpmInstallArguments_s::relocations, rpmEIU::relocations, rpmcliPackagesTotal, rpmdbFreeIterator(), rpmdbGetIteratorCount(), rpmdbNextIterator(), rpmds, rpmdsFree(), rpmdsSingle(), RPMERR_MANIFEST, RPMERR_OPEN, rpmError, rpmExpandNumeric(), rpmGenPath(), rpmGlob(), rpmInstallSourcePackage(), rpmIsVerbose, RPMMESS_DEBUG, RPMMESS_ERROR, RPMMESS_NORMAL, rpmMessage, rpmprobFilterFlags, rpmpsFree(), rpmpsNumProblems(), rpmpsPrint(), rpmEIU::rpmrc, RPMRC_FAIL, RPMRC_NOKEY, RPMRC_NOTFOUND, RPMRC_NOTTRUSTED, RPMRC_OK, rpmReadPackageFile(), rpmReadPackageManifest(), rpmShowProgress(), RPMTAG_NAME, RPMTAG_PREFIXES, RPMTAG_REQUIRENAME, RPMTAG_SOURCEPACKAGE, RPMTRANS_FLAG_REPACKAGE, RPMTRANS_FLAG_TEST, rpmts, rpmtsAddInstallElement(), rpmtsCheck(), rpmtsClean(), rpmtsEmpty(), rpmtsFlags(), rpmtsInitIterator(), rpmtsOrder(), rpmtsProblems(), rpmtsRootDir(), rpmtsRun(), rpmtsSetFlags(), rpmtsSetNotifyCallback(), rpmtsSetVSFlags(), rpmtsSolve(), rpmVersionCompare(), RPMVSF_NEEDPAYLOAD, RPMVSF_NOHDRCHK, rpmVSFlags, rpmEIU::sourceURL, rpmInstallArguments_s::transFlags, Unlink(), URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, urlGetFile(), urlIsURL(), urlPath(), VERIFY_DIGEST, VERIFY_HDRCHK, VERIFY_SIGNATURE, xrealloc(), and xstrdup().

Referenced by main().

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 836 of file rpminstall.c.

References RPMMESS_ERROR, rpmRC, RPMRC_OK, rpmts, RPMVSF_NEEDPAYLOAD, and rpmVSFlags.

Referenced by main().

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

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

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
arg  name of source to query/verify
Returns:
showPackage() result, 1 if rpmdbInitIterator() is NULL

Definition at line 392 of file query.c.

References _, _free(), errno, F_OK, Fclose(), Ferror(), Fopen(), Fstrerror(), headerFree(), nibble(), PATH_MAX, rpmQVKArguments_s::qva_mi, rpmQVKArguments_s::qva_showPackage, rpmQVKArguments_s::qva_source, rpmQVKArguments_s::qva_specQuery, realpath(), rpmCleanPath(), rpmcliShowMatches(), rpmdbCheckSignals(), rpmdbFreeIterator(), RPMDBI_LABEL, RPMDBI_PACKAGES, 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, RPMRC_NOKEY, RPMRC_NOTFOUND, RPMRC_NOTTRUSTED, RPMRC_OK, rpmReadPackageFile(), rpmReadPackageManifest(), RPMTAG_BASENAMES, RPMTAG_FILEMD5S, RPMTAG_GROUP, RPMTAG_INSTALLTID, RPMTAG_NAME, RPMTAG_PROVIDENAME, RPMTAG_REQUIRENAME, RPMTAG_SHA1HEADER, RPMTAG_SIGMD5, RPMTAG_TRIGGERNAME, rpmts, rpmtsEmpty(), rpmtsInitIterator(), strerror(), tagValue(), and xstrdup().

Referenced by rpmcliQuery(), and rpmcliVerify().

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

Create/modify elements in signature header.

Parameters:
ts  transaction set
qva  mode flags and parameters
argv  array of package file names (NULL terminated)
Returns:
0 on success

Definition at line 169 of file rpmchecksig.c.

References _, _free(), argv, copyFile(), EXIT_FAILURE, Fstrerror(), getSignid(), headerAddEntry(), headerCopyLoad(), headerFree(), headerFreeData(), headerFreeIterator(), headerGetEntry(), headerInitIterator(), headerLink(), headerNew(), headerNextIterator(), headerReload(), headerRemoveEntry(), hPTR_t, int_32, rpmlead::major, manageFile(), rpmQVKArguments_s::passPhrase, pgpHexStr(), readLead(), rpmAddSignature(), RPMERR_BADSIGTYPE, RPMERR_READLEAD, RPMERR_SIGGEN, RPMERR_WRITELEAD, rpmError, rpmFreeSignature(), RPMLOOKUPSIG_QUERY, rpmLookupSignatureType(), RPMMESS_WARNING, rpmMessage, rpmRC, RPMRC_OK, rpmReadSignature(), RPMSIGTAG_BADSHA1_1, RPMSIGTAG_BADSHA1_2, RPMSIGTAG_DSA, RPMSIGTAG_GPG, RPMSIGTAG_LEMD5_1, RPMSIGTAG_LEMD5_2, RPMSIGTAG_MD5, RPMSIGTAG_PGP, RPMSIGTAG_PGP5, RPMSIGTAG_RSA, RPMSIGTAG_SHA1, RPMSIGTAG_SIZE, RPMSIGTYPE_HEADERSIG, RPMTAG_HEADERSIGNATURES, rpmts, rpmWriteSignature(), rpmlead::signature_type, and writeLead().

Referenced by rpmcliSign().

int rpmRollback rpmts    ts,
struct rpmInstallArguments_s   ia,
const char **    argv
 

Todo:
Transaction handling, more, needs work.

Definition at line 1059 of file rpminstall.c.

References _, _free(), _RPMVSF_NODIGESTS, _RPMVSF_NOSIGNATURES, argv, fnpyKey, IDT_s::h, headerFree(), IDTindex_s::idt, IDTXfree(), IDTXglob(), IDTXload(), INSTALL_ERASE, INSTALL_FRESHEN, INSTALL_INSTALL, INSTALL_LABEL, INSTALL_UPGRADE, rpmInstallArguments_s::installInterfaceFlags, IDT_s::instance, IDT_s::key, IDTindex_s::nidt, rpmInstallArguments_s::probFilter, rpmInstallArguments_s::qva_flags, rpmInstallArguments_s::rbtid, rpmInstallArguments_s::relocations, rpmcliPackagesTotal, rpmExpand(), rpmExpandNumeric(), rpmIsDebug, rpmIsVerbose, RPMMESS_DEBUG, RPMMESS_ERROR, RPMMESS_NORMAL, rpmMessage, RPMPROB_FILTER_OLDPACKAGE, rpmpsFree(), rpmpsNumProblems(), rpmpsPrint(), rpmShowProgress(), RPMTAG_INSTALLTID, RPMTAG_REMOVETID, RPMTRANS_FLAG_REVERSE, rpmtransFlags, rpmts, rpmtsAddEraseElement(), rpmtsAddInstallElement(), rpmtsCheck(), rpmtsClean(), rpmtsEmpty(), rpmtsOrder(), rpmtsProblems(), rpmtsRun(), rpmtsSetFlags(), rpmtsSetNotifyCallback(), rpmtsSetVSFlags(), RPMVSF_NEEDPAYLOAD, RPMVSF_NOHDRCHK, rpmInstallArguments_s::transFlags, IDT_s::val, VERIFY_DIGEST, VERIFY_HDRCHK, and VERIFY_SIGNATURE.

Referenced by main(), and rpmts_Rollback().

void* rpmShowProgress const void *    arg,
const rpmCallbackType    what,
const unsigned long    amount,
const unsigned long    total,
fnpyKey    key,
void *    data
 

The rpm CLI generic transaction callback handler.

Todo:
Remove headerSprintf() 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)

Definition at line 91 of file rpminstall.c.

References _, _free(), Fclose(), fdFree, fdLink, Ferror(), fnpyKey, 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_TRANS_PROGRESS, RPMCALLBACK_TRANS_START, RPMCALLBACK_TRANS_STOP, RPMCALLBACK_UNINST_PROGRESS, RPMCALLBACK_UNINST_START, RPMCALLBACK_UNINST_STOP, RPMCALLBACK_UNKNOWN, RPMCALLBACK_UNPACK_ERROR, rpmCallbackType, rpmcliHashesCurrent, rpmcliPackagesTotal, rpmcliProgressCurrent, rpmcliProgressTotal, RPMERR_OPEN, and rpmError.

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

void rpmShowRpmlibProvides FILE *    fp
 

Display current rpmlib feature provides.

Parameters:
fp  output file handle

Definition at line 57 of file rpmlibprov.c.

References rpmlibProvides_s::featureDescription, rpmlibProvides_s::featureEVR, rpmlibProvides_s::featureFlags, rpmlibProvides_s::featureName, rpmds, rpmdsDNEVR(), rpmdsFree(), rpmdsSingle(), and RPMTAG_PROVIDENAME.

Referenced by rpmShowRC().

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

Verify file attributes (including MD5 sum).

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 27 of file verify.c.

References alloca(), domd5(), gidToGname(), Lstat(), Readlink(), rpmfi, 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, rpmfileAttrs, rpmfiMD5(), rpmfiVFlags(), rpmts, rpmtsRootDir(), RPMVERIFY_FILESIZE, RPMVERIFY_GROUP, RPMVERIFY_LINKTO, RPMVERIFY_LSTATFAIL, RPMVERIFY_MD5, RPMVERIFY_MODE, RPMVERIFY_MTIME, RPMVERIFY_NONE, RPMVERIFY_RDEV, RPMVERIFY_READFAIL, RPMVERIFY_READLINKFAIL, RPMVERIFY_USER, rpmVerifyAttrs, S_ISDEV, S_ISLNK, stpcpy(), uidToUname(), and uint_16.

Referenced by verifyHeader().

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

Definition at line 122 of file query.c.

References _, _free(), int_32, printFileInfo(), QUERY_FOR_CONFIG, QUERY_FOR_DOCS, QUERY_FOR_DUMPFILES, QUERY_FOR_LIST, QUERY_FOR_STATE, queryHeader(), rpmQVKArguments_s::qva_fflags, rpmQVKArguments_s::qva_flags, rpmQVKArguments_s::qva_queryFormat, RPMERR_INTERNAL, rpmError, rpmfi, rpmfiFC(), rpmfiFFlags(), rpmfiFGroup(), rpmfiFLink(), rpmfiFMode(), rpmfiFMtime(), rpmfiFN(), rpmfiFNlink(), rpmfiFRdev(), rpmfiFree(), rpmfiFSize(), rpmfiFState(), rpmfiFUser(), rpmfiInit(), RPMFILE_CONFIG, RPMFILE_DOC, RPMFILE_GHOST, RPMFILE_STATE_MISSING, RPMFILE_STATE_NETSHARED, RPMFILE_STATE_NORMAL, RPMFILE_STATE_NOTINSTALLED, RPMFILE_STATE_REPLACED, RPMFILE_STATE_WRONGCOLOR, rpmfileAttrs, rpmfileState, rpmfiMD5(), rpmfiNew(), rpmfiNext(), rpmIsVerbose, RPMMESS_NORMAL, rpmMessage, RPMTAG_BASENAMES, rpmts, stpcpy(), xmalloc(), and xrealloc().

Referenced by rpmcliQuery().

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 426 of file verify.c.

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

Referenced by rpmcliVerify().


Variable Documentation

int _noDirTokens
 

Should version 3 packages be produced?

Definition at line 17 of file rpmcli.h.

struct rpmBuildArguments_s rpmBTArgs
 

Definition at line 468 of file rpmcli.h.

struct poptOption rpmBuildPoptTable[]
 

Definition at line 473 of file rpmcli.h.

struct poptOption rpmcliAllPoptTable[]
 

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

Definition at line 28 of file rpmcli.h.

rpmQueryFlags rpmcliQueryFlags
 

Bit(s) from common command line options.

Definition at line 173 of file rpmcli.h.

Referenced by rpmcliAllArgCallback().

struct poptOption rpmDatabasePoptTable[]
 

Definition at line 717 of file rpmcli.h.

struct rpmDatabaseArguments_s rpmDBArgs
 

Definition at line 712 of file rpmcli.h.

struct rpmInstallArguments_s rpmIArgs
 

Definition at line 687 of file rpmcli.h.

struct poptOption rpmInstallPoptTable[]
 

Definition at line 692 of file rpmcli.h.

struct poptOption rpmQueryPoptTable[]
 

Query mode options.

Definition at line 300 of file rpmcli.h.

struct rpmQVKArguments_s rpmQVKArgs
 

Definition at line 285 of file rpmcli.h.

struct poptOption rpmQVSourcePoptTable[]
 

Common query/verify mode options.

Definition at line 290 of file rpmcli.h.

struct poptOption rpmSignPoptTable[]
 

Signature mode options.

Definition at line 755 of file rpmcli.h.

struct poptOption rpmVerifyPoptTable[]
 

Verify mode options.

Definition at line 305 of file rpmcli.h.

int specedit
 

Definition at line 295 of file rpmcli.h.


Generated on Sun Oct 26 13:02:10 2003 for rpm by doxygen1.2.18