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

RPMCLI.


Files

file  manifest.c
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  poptK.c
 Popt tables for signature modes.

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

file  query.c
 Display tag values from package metadata.

file  rpmchecksig.c
 Verify the signature of a package.

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


Data Structures

struct  rpmBuildArguments_s
struct  rpmDatabaseArguments_s
struct  rpmInstallArguments_s
struct  rpmQVArguments_s
struct  rpmSignArguments_s

RPMBT

typedef struct rpmBuildArguments_sBTA_t
struct rpmBuildArguments_s rpmBTArgs
struct poptOption rpmBuildPoptTable []

RPMQV

typedef enum rpmQueryFlags_e  rpmQueryFlags
typedef enum rpmVerifyFlags_e  rpmVerifyFlags
typedef int (* QVF_t )(QVA_t qva, rpmdb db, Header h)
enum  rpmQueryFlags_e {
  QUERY_FOR_DEFAULT = 0, QUERY_MD5 = (1 << 0), QUERY_SIZE = (1 << 1), QUERY_LINKTO = (1 << 2),
  QUERY_USER = (1 << 3), QUERY_GROUP = (1 << 4), QUERY_MTIME = (1 << 5), QUERY_MODE = (1 << 6),
  QUERY_RDEV = (1 << 7), QUERY_FILES = (1 << 16), QUERY_DEPS = (1 << 17), QUERY_SCRIPT = (1 << 18),
  QUERY_DIGEST = (1 << 19), QUERY_FOR_LIST = (1 << 23), QUERY_FOR_STATE = (1 << 24), QUERY_FOR_DOCS = (1 << 25),
  QUERY_FOR_CONFIG = (1 << 26), QUERY_FOR_DUMPFILES = (1 << 27)
}
enum  rpmVerifyFlags_e {
  VERIFY_DEFAULT = 0, VERIFY_MD5 = (1 << 0), VERIFY_SIZE = (1 << 1), VERIFY_LINKTO = (1 << 2),
  VERIFY_USER = (1 << 3), VERIFY_GROUP = (1 << 4), VERIFY_MTIME = (1 << 5), VERIFY_MODE = (1 << 6),
  VERIFY_RDEV = (1 << 7), VERIFY_FILES = (1 << 16), VERIFY_DEPS = (1 << 17), VERIFY_SCRIPT = (1 << 18),
  VERIFY_DIGEST = (1 << 19), VERIFY_FOR_LIST = (1 << 23), VERIFY_FOR_STATE = (1 << 24), VERIFY_FOR_DOCS = (1 << 25),
  VERIFY_FOR_CONFIG = (1 << 26), VERIFY_FOR_DUMPFILES = (1 << 27)
}
int showMatches (QVA_t qva, rpmdbMatchIterator mi, QVF_t showPackage)
void rpmDisplayQueryTags (FILE *fp)
int rpmQueryVerify (QVA_t qva, rpmQVSources source, const char *arg, rpmdb db, QVF_t showPackage)
int showQueryPackage (QVA_t qva, rpmdb db, Header h)
int rpmQuery (QVA_t qva, rpmQVSources source, const char *arg)
int showVerifyPackage (QVA_t qva, rpmdb db, Header h)
int rpmVerify (QVA_t qva, rpmQVSources source, const char *arg)
struct rpmQVArguments_s rpmQVArgs
struct poptOption rpmQVSourcePoptTable []
 Common query/verify mode options. More...

int specedit
struct poptOption rpmQueryPoptTable []
 Query mode options. More...

struct poptOption rpmVerifyPoptTable []
 Verify mode options. More...


RPMK

typedef enum rpmCheckSigFlags_e  rpmCheckSigFlags
typedef enum rpmResignFlags_e  rpmResignFlags
enum  rpmCheckSigFlags_e { CHECKSIG_NONE = 0, CHECKSIG_PGP = (1 << 0), CHECKSIG_MD5 = (1 << 1), CHECKSIG_GPG = (1 << 2) }
enum  rpmResignFlags_e { RESIGN_NONE = 0, RESIGN_CHK_SIGNATURE = 1, RESIGN_NEW_SIGNATURE, RESIGN_ADD_SIGNATURE }
int rpmCheckSig (rpmCheckSigFlags flags, const char **argv)
int rpmReSign (rpmResignFlags add, char *passPhrase, const char **argv)
struct rpmSignArguments_s rpmKArgs
struct poptOption rpmSignPoptTable []

RPMQV

typedef struct rpmQVArguments_sQVA_t
typedef enum rpmQVSources_e  rpmQVSources
typedef enum rpmVerifyAttrs_e  rpmVerifyAttrs
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)
}
int rpmVerifyFile (const char *root, Header h, int filenum, rpmVerifyAttrs *result, rpmVerifyAttrs omitMask)

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

int rpmInstall (const char *rootdir, const char **fileArgv, rpmtransFlags transFlags, rpmInstallInterfaceFlags interfaceFlags, rpmprobFilterFlags probFilter, rpmRelocation *relocations)
int rpmInstallSource (const char *rootdir, const char *arg, const char **specFile, char **cookie)
int rpmErase (const char *rootdir, const char **argv, rpmtransFlags transFlags, rpmEraseInterfaceFlags interfaceFlags)
int rpmRollback (struct rpmInstallArguments_s *ia, const char **argv)
struct rpmInstallArguments_s rpmIArgs
struct poptOption rpmInstallPoptTable []

RPMTS

void rpmShowRpmlibProvides (FILE *fp)

RPMDB

struct rpmDatabaseArguments_s rpmDBArgs
struct poptOption rpmDatabasePoptTable []

Functions

int checkSpec (Header h)

Variables

int _noDirTokens

Typedef Documentation

typedef struct rpmBuildArguments_s * BTA_t
 

Definition at line 52 of file rpmcli.h.

typedef struct rpmQVArguments_s * QVA_t
 

Definition at line 1626 of file rpmlib.h.

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

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

Definition at line 141 of file rpmcli.h.

typedef enum rpmCheckSigFlags_e rpmCheckSigFlags
 

Bit(s) to control rpmCheckSig() operation.

typedef enum rpmEraseInterfaceFlags_e rpmEraseInterfaceFlags
 

Bit(s) to control rpmErase() operation.

typedef enum rpmInstallInterfaceFlags_e rpmInstallInterfaceFlags
 

Bit(s) to control rpmInstall() operation.

Todo:
Move to rpmcli.h

typedef enum rpmQVSources_e rpmQVSources
 

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

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 rpmResignFlags_e rpmResignFlags
 

Bit(s) to control rpmReSign() operation.

typedef enum rpmVerifyAttrs_e rpmVerifyAttrs
 

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

Todo:
Move to rpmcli.h.

typedef enum rpmVerifyFlags_e rpmVerifyFlags
 

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

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


Enumeration Type Documentation

enum rpmCheckSigFlags_e
 

Bit(s) to control rpmCheckSig() operation.

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

Definition at line 506 of file rpmcli.h.

enum rpmEraseInterfaceFlags_e
 

Bit(s) to control rpmErase() operation.

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

Definition at line 1728 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 1712 of file rpmlib.h.

enum rpmQVSources_e
 

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

Todo:
Move to rpmcli.h
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 1632 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_FOR_LIST   query: from --list
QUERY_FOR_STATE   query: from --state
QUERY_FOR_DOCS   query: from --docfiles
QUERY_FOR_CONFIG   query: from --configfiles
QUERY_FOR_DUMPFILES   query: from --dump

Definition at line 73 of file rpmcli.h.

enum rpmResignFlags_e
 

Bit(s) to control rpmReSign() operation.

Enumeration values:
RESIGN_NONE  
RESIGN_CHK_SIGNATURE   from --checksig
RESIGN_NEW_SIGNATURE   from --resign
RESIGN_ADD_SIGNATURE   from --addsign

Definition at line 529 of file rpmcli.h.

enum rpmVerifyAttrs_e
 

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

Todo:
Move to rpmcli.h.
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 1653 of file rpmlib.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_FOR_LIST   query: from --list
VERIFY_FOR_STATE   query: from --state
VERIFY_FOR_DOCS   query: from --docfiles
VERIFY_FOR_CONFIG   query: from --configfiles
VERIFY_FOR_DUMPFILES   query: from --dump

Definition at line 102 of file rpmcli.h.


Function Documentation

int checkSpec ( Header h ) [static]
 

Definition at line 19 of file build.c.

Referenced by buildForTarget().

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

Check elements in signature header.

Parameters:
flags   bit(s) to enable signature checks
argv   array of package file names (NULL terminated)
Returns:
0 on success

Definition at line 290 of file rpmchecksig.c.

Referenced by checkSig(), and main().

void rpmDisplayQueryTags ( FILE * fp )
 

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

Parameters:
fp   file handle to use for display

Definition at line 508 of file query.c.

Referenced by main().

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

Erase binary rpm package.

Parameters:
rootdir   path to top of install tree
argv   array of package file names (NULL terminated)
transFlags   bits to control rpmRunTransactions()
interfaceFlags   bits to control rpmInstall()
Returns:
0 on success

Definition at line 596 of file rpminstall.c.

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

Todo:
Generalize --freshen policies.

Definition at line 204 of file rpminstall.c.

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

Install source rpm package.

Parameters:
rootdir   path to top of install tree
arg   source rpm file name
Return values:
specFile   address of (installed) spec file name
cookie  
Returns:
0 on success

Definition at line 684 of file rpminstall.c.

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

Display package information.

Todo:
hack: RPMQV_ALL can pass char ** arglist = NULL, not char * arg. Union?
Parameters:
qva   parsed query/verify options
source   type of source to query
arg   name of source to query
Returns:
rpmQueryVerify() result, or 1 on rpmdbOpen() failure

Definition at line 963 of file query.c.

Referenced by main().

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

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

Parameters:
qva   parsed query/verify options
source   type of source to query/verify
arg   name of source to query/verify
db   rpm database
showPackage   query/verify specific display routine
Returns:
showPackage() result, 1 if rpmdbInitIterator() is NULL

Definition at line 581 of file query.c.

Referenced by rpmQuery(), and rpmVerify().

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

Create/modify elements in signature header.

Parameters:
add   type of signature operation
passPhrase  
argv   array of package file names (NULL terminated)
Returns:
0 on success

Definition at line 105 of file rpmchecksig.c.

Referenced by main().

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

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

Returns:
0 on success

Definition at line 905 of file rpminstall.c.

void rpmShowRpmlibProvides ( FILE * fp )
 

Display current rpmlib feature provides.

Parameters:
fp   output file handle

Definition at line 43 of file rpmlibprov.c.

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

Verify package install.

Parameters:
qva   parsed query/verify options
source   type of source to verify
arg   name of source to verify
Returns:
rpmQueryVerify() result, or 1 on rpmdbOpen() failure

Definition at line 550 of file verify.c.

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

Verify file attributes (including MD5 sum).

Todo:
gnorpm and python bindings prevent this from being static.
Parameters:
root   path to top of install tree
h   header
filenum   index of file in header file info arrays
Return values:
result   address of bit(s) returned to indicate failure
Parameters:
omitMask   bit(s) to disable verify checks
Returns:
0 on success (or not installed), 1 on error

Definition at line 22 of file verify.c.

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

Display query/verify information for each header in iterator.

Parameters:
qva   parsed query/verify options
mi   rpm database iterator
showPackage   query/verify display routine
Returns:
result of last non-zero showPackage() return

Definition at line 535 of file query.c.

Referenced by rpmQueryVerify().

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

Display results of package query.

Todo:
Devise a meaningful return code.
Parameters:
qva   parsed query/verify options
db   rpm database (unused for queries)
h   header to use for query
Returns:
0 always

Definition at line 150 of file query.c.

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

Display results of package verify.

Parameters:
qva   parsed query/verify options
db   rpm database
h   header to use for verify
Returns:
result of last non-zero verify return

Definition at line 516 of file verify.c.


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

struct poptOption rpmBuildPoptTable[]
 

Definition at line 62 of file rpmcli.h.

struct rpmDatabaseArguments_s rpmDBArgs
 

Definition at line 12 of file poptDB.c.

struct poptOption rpmDatabasePoptTable
 

Initial value:

 {
 { "initdb", '\0', POPT_ARG_VAL, &rpmDBArgs.init, 1,
         "initialize database" , NULL},
 { "rebuilddb", '\0', POPT_ARG_VAL, &rpmDBArgs.rebuild, 1,
         "rebuild database inverted lists from installed package headers" ,
        NULL},
 { "verifydb", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &rpmDBArgs.verify, 1,
         "verify database files" , NULL},
 { "nodirtokens", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_noDirTokens, 1,
         "generate headers compatible with (legacy) rpm[23] packaging" ,
        NULL},
 { "dirtokens", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_noDirTokens, 0,
         "generate headers compatible with rpm4 packaging" , NULL},

   POPT_TABLEEND
}

Definition at line 20 of file poptDB.c.

struct rpmInstallArguments_s rpmIArgs
 

Definition at line 466 of file rpmcli.h.

struct poptOption rpmInstallPoptTable[]
 

Definition at line 471 of file rpmcli.h.

struct rpmSignArguments_s rpmKArgs
 

Definition at line 561 of file rpmcli.h.

struct rpmQVArguments_s rpmQVArgs
 

Definition at line 254 of file rpmcli.h.

struct poptOption rpmQVSourcePoptTable[]
 

Common query/verify mode options.

Definition at line 259 of file rpmcli.h.

struct poptOption rpmQueryPoptTable[]
 

Query mode options.

Definition at line 269 of file rpmcli.h.

struct poptOption rpmSignPoptTable[]
 

Definition at line 566 of file rpmcli.h.

struct poptOption rpmVerifyPoptTable[]
 

Verify mode options.

Definition at line 274 of file rpmcli.h.

int specedit
 

Definition at line 264 of file rpmcli.h.


Generated at Tue Dec 23 04:54:15 2003 for rpm by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001