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 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 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'
}
rpmRC rpmcliImportPubkey (const rpmts ts, const unsigned char *pkt, ssize_t pktlen)
int rpmcliSign (rpmts ts, QVA_t qva, const char **argv)
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)

Variables

int _noDirTokens
poptOption rpmcliAllPoptTable []
poptOption rpmcliAllPoptTable []
rpmQueryFlags rpmcliQueryFlags
rpmQVKArguments_s rpmQVKArgs
poptOption rpmQVSourcePoptTable []
 Common query/verify mode options.

int specedit
int specedit = 0
poptOption rpmQueryPoptTable []
 Query mode options.

poptOption rpmVerifyPoptTable []
 Verify mode options.

rpmBuildArguments_s rpmBTArgs
poptOption rpmBuildPoptTable []
rpmInstallArguments_s rpmIArgs
poptOption rpmInstallPoptTable []
poptOption rpmSignPoptTable []
 Signature mode options.

int _noDirTokens = 0
int _noDirTokens

Typedef Documentation

typedef struct rpmBuildArguments_s* BTA_t
 

Definition at line 463 of file rpmcli.h.

Referenced by build(), buildArgCallback(), buildForTarget(), and main().

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.

Referenced by main(), queryArgCallback(), rpmcliImportPubkeys(), rpmcliQuery(), rpmcliShowMatches(), rpmcliSign(), rpmcliVerify(), rpmQueryVerify(), rpmQVSourceArgCallback(), rpmReSign(), rpmspecQuery(), rpmVerifyScript(), rpmVerifySignatures(), showQueryPackage(), showVerifyPackage(), verifyDependencies(), and verifyHeader().

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

Referenced by main().

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 _, Header, headerIsEntry(), RPMMESS_ERROR, rpmMessage, rpmps, rpmpsFree(), rpmpsNumProblems(), rpmpsPrint(), RPMTAG_CONFLICTNAME, RPMTAG_REQUIRENAME, rpmts, rpmtsAddInstallElement(), rpmtsCheck(), rpmtsClean(), and rpmtsProblems().

Referenced by buildForTarget().

rpmRC 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:
RPMRC_OK/RPMRC_FAIL

Definition at line 405 of file rpmchecksig.c.

References _free(), Header, headerAddEntry(), headerAddOrAppendEntry(), headerFree(), headerNew(), headerSprintf(), int_32, pgpDig, pgpDigParams, pgpFreeDig(), pgpHexStr(), pgpNewDig(), pgpPrtPkts(), pgpDig_s::pubkey, RPM_INT32_TYPE, RPM_STRING_ARRAY_TYPE, RPM_STRING_TYPE, rpmdbAdd(), rpmHeaderFormats, rpmRC, RPMRC_FAIL, RPMRC_OK, 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, rpmTagTable, rpmts, rpmtsGetRdb(), rpmtsGetTid(), rpmtsOpenDB(), RPMVERSION, 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 548 of file rpmchecksig.c.

References _, _free(), argv, PGPARMOR_PUBKEY, pgpReadPkts(), QVA_t, rpmcliImportPubkey(), RPMERR_IMPORT, rpmError, rpmRC, RPMRC_OK, 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, QVA_t, 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 Header, rpmQVKArguments_s::qva_mi, rpmQVKArguments_s::qva_showPackage, QVA_t, 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 1011 of file rpmchecksig.c.

References argv, Fclose(), FD_t, Ferror(), Fopen(), rpmQVKArguments_s::qva_mode, QVA_t, 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, QVA_t, 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, rpmHeaderFormats, rpmTagTable, and rpmTagTableSize.

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

References _, _RPMVSF_NODIGESTS, _RPMVSF_NOSIGNATURES, argv, rpmInstallArguments_s::eraseInterfaceFlags, Header, INSTALL_LABEL, INSTALL_NOORDER, rpmInstallArguments_s::installInterfaceFlags, rpmInstallArguments_s::qva_flags, rpmdbFreeIterator(), rpmdbGetIteratorOffset(), RPMDBI_LABEL, rpmdbMatchIterator, rpmdbNextIterator(), rpmExpandNumeric(), rpmIsVerbose, RPMMESS_ERROR, rpmMessage, rpmps, rpmpsFree(), rpmpsNumProblems(), rpmpsPrint(), rpmShowProgress(), RPMTRANS_FLAG_REPACKAGE, RPMTRANS_FLAG_REVERSE, rpmts, rpmtsAddEraseElement(), rpmtsCheck(), rpmtsClean(), rpmtsEmpty(), rpmtsFlags(), rpmtsInitIterator(), rpmtsOrder(), 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(), Fclose(), Ferror(), fnpyKey, Fopen(), Fstrerror(), ftpStrerror(), Header, headerFree(), headerFreeData(), headerGetEntry(), headerIsEntry(), headerNVR(), INSTALL_FRESHEN, INSTALL_LABEL, INSTALL_NODEPS, INSTALL_NOORDER, INSTALL_UPGRADE, rpmInstallArguments_s::installInterfaceFlags, rpmInstallArguments_s::probFilter, rpmInstallArguments_s::qva_flags, rpmInstallArguments_s::relocations, rpmcliPackagesTotal, rpmdbFreeIterator(), rpmdbGetIteratorCount(), rpmdbMatchIterator, rpmdbNextIterator(), rpmds, rpmdsFree(), rpmdsSingle(), RPMERR_MANIFEST, RPMERR_OPEN, rpmError, rpmExpandNumeric(), rpmGenPath(), rpmGlob(), rpmInstallSourcePackage(), rpmIsVerbose, RPMMESS_DEBUG, RPMMESS_ERROR, RPMMESS_NORMAL, rpmMessage, rpmprobFilterFlags, rpmps, rpmpsFree(), rpmpsNumProblems(), rpmpsPrint(), RPMRC_FAIL, RPMRC_NOKEY, RPMRC_NOTFOUND, RPMRC_NOTTRUSTED, RPMRC_OK, rpmReadPackageFile(), rpmReadPackageManifest(), rpmRelocation, 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, 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 847 of file rpminstall.c.

References FD_t, rpmRC, rpmts, 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(), FD_t, Ferror(), Fopen(), Fstrerror(), Header, headerFree(), nibble(), PATH_MAX, rpmQVKArguments_s::qva_mi, rpmQVKArguments_s::qva_showPackage, rpmQVKArguments_s::qva_source, rpmQVKArguments_s::qva_specQuery, QVA_t, 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 168 of file rpmchecksig.c.

References _, _free(), argv, copyFile(), EXIT_FAILURE, FD_t, Fstrerror(), getSignid(), Header, headerAddEntry(), headerCopyLoad(), headerFree(), headerFreeData(), headerFreeIterator(), headerGetEntry(), headerInitIterator(), HeaderIterator, headerLink(), headerNew(), headerNextIterator(), headerReload(), headerRemoveEntry(), hPTR_t, int_32, manageFile(), rpmQVKArguments_s::passPhrase, pgpHexStr(), QVA_t, 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(), 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 1070 of file rpminstall.c.

References _, _free(), _RPMVSF_NODIGESTS, _RPMVSF_NOSIGNATURES, argv, fnpyKey, IDT_s::h, headerFree(), IDT, IDTindex_s::idt, IDTX, 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, rpmps, 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(), FD_t, fdFree, fdLink, Ferror(), fnpyKey, Fopen(), Fstrerror(), Header, 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, rpmError, rpmHeaderFormats, and rpmTagTable.

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::featureName, rpmds, rpmdsDNEVR(), rpmdsFree(), rpmdsSingle(), rpmlibProvides, 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(), Header, 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, QVA_t, 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(), FD_t, fdDup(), Header, headerIsEntry(), rpmQVKArguments_s::qva_flags, QVA_t, 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 13 of file legacy.h.

int _noDirTokens = 0
 

Should version 3 packages be produced?

Definition at line 245 of file legacy.c.

int _noDirTokens
 

Should version 3 packages be produced?

Definition at line 17 of file rpmcli.h.

Referenced by genCpioListAndHeader(), rpmdbAdd(), and rpmLeadVersion().

struct rpmBuildArguments_s rpmBTArgs
 

Definition at line 468 of file rpmcli.h.

Referenced by buildArgCallback(), and main().

struct rpmBuildArguments_s rpmBTArgs
 

Definition at line 16 of file poptBT.c.

Referenced by buildArgCallback(), and main().

struct poptOption rpmBuildPoptTable[]
 

Definition at line 473 of file rpmcli.h.

struct poptOption rpmBuildPoptTable[]
 

Definition at line 153 of file poptBT.c.

struct poptOption rpmcliAllPoptTable[]
 

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

Definition at line 28 of file rpmcli.h.

struct poptOption rpmcliAllPoptTable[]
 

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

Definition at line 212 of file poptALL.c.

rpmQueryFlags rpmcliQueryFlags
 

Bit(s) from common command line options.

Definition at line 173 of file rpmcli.h.

Referenced by main(), and rpmcliAllArgCallback().

rpmQueryFlags rpmcliQueryFlags
 

Bit(s) from common command line options.

Definition at line 93 of file poptALL.c.

Referenced by main(), and rpmcliAllArgCallback().

struct poptOption rpmDatabasePoptTable[]
 

Definition at line 717 of file rpmcli.h.

struct rpmDatabaseArguments_s rpmDBArgs
 

Definition at line 712 of file rpmcli.h.

Referenced by main().

struct rpmInstallArguments_s rpmIArgs
 

Definition at line 687 of file rpmcli.h.

Referenced by installArgCallback(), and main().

struct rpmInstallArguments_s rpmIArgs
 

Initial value:

 {
    0,                  
    0,                  
    0,                  
    0,                  
    0,                  
    0,                  
    0,                  
    0,                  
    0,                  
    NULL,               
    NULL,               
    NULL                
}

Definition at line 17 of file poptI.c.

Referenced by installArgCallback(), and main().

struct poptOption rpmInstallPoptTable[]
 

Definition at line 692 of file rpmcli.h.

struct poptOption rpmInstallPoptTable[]
 

Definition at line 157 of file poptI.c.

struct poptOption rpmQueryPoptTable[]
 

Query mode options.

Definition at line 300 of file rpmcli.h.

struct poptOption rpmQueryPoptTable[]
 

Query mode options.

Definition at line 218 of file poptQV.c.

struct rpmQVKArguments_s rpmQVKArgs
 

Definition at line 285 of file rpmcli.h.

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

struct rpmQVKArguments_s rpmQVKArgs
 

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

struct poptOption rpmQVSourcePoptTable[]
 

Common query/verify mode options.

Definition at line 89 of file poptQV.c.

struct poptOption rpmSignPoptTable[]
 

Signature mode options.

Definition at line 755 of file rpmcli.h.

struct poptOption rpmSignPoptTable[]
 

Initial value:

 {
 
 { NULL, '\0', POPT_ARG_CALLBACK | POPT_CBFLAG_INC_DATA | POPT_CBFLAG_CONTINUE,
        rpmQVSourceArgCallback, 0, NULL, NULL },

 { "addsign", '\0', 0, NULL, 'A',
         "sign package(s) (identical to --resign)" , NULL },
 { "checksig", 'K', 0, NULL, 'K',
         "verify package signature(s)" , NULL },
 { "import", '\0', 0, NULL, 'I',
         "import an armored public key" , NULL },
 { "resign", '\0', 0, NULL, 'R',
         "sign package(s) (identical to --addsign)" , NULL },
 { "sign", '\0', POPT_ARGFLAG_DOC_HIDDEN, &rpmQVKArgs.sign, 0,
         "generate signature" , NULL },

 { "nodigest", '\0', POPT_BIT_SET, &rpmQVKArgs.qva_flags, VERIFY_DIGEST,
         "don't verify package digest(s)" , NULL },
 { "nohdrchk", '\0', POPT_BIT_SET|POPT_ARGFLAG_DOC_HIDDEN,
        &rpmQVKArgs.qva_flags, VERIFY_HDRCHK,
         "don't verify database header(s) when retrieved" , NULL },
 { "nosignature", '\0', POPT_BIT_SET, &rpmQVKArgs.qva_flags, VERIFY_SIGNATURE,
         "don't verify package signature(s)" , NULL },

   POPT_TABLEEND
}
Signature mode options.

Definition at line 360 of file poptQV.c.

struct poptOption rpmVerifyPoptTable[]
 

Verify mode options.

Definition at line 305 of file rpmcli.h.

struct poptOption rpmVerifyPoptTable[]
 

Verify mode options.

Definition at line 263 of file poptQV.c.

int specedit
 

Definition at line 295 of file rpmcli.h.

int specedit = 0
 

Definition at line 17 of file poptQV.c.

int specedit
 

Definition at line 16 of file spec.c.

Referenced by newSl(), newSt(), and rpmspecQuery().


Generated on Sun Nov 21 22:36:51 2004 for rpm by doxygen 1.3.5