#include <popt.h>
#include <rpm/rpmlib.h>
#include <rpm/rpmurl.h>
#include <rpm/rpmmacro.h>
#include <rpm/rpmcallback.h>
#include <rpm/rpmts.h>
#include <rpm/rpmfi.h>
#include <rpm/rpmvf.h>
#include <rpm/argv.h>
Go to the source code of this file.
|
#define | _QUERY_FOR_BITS |
|
enum | rpmQVSources_e {
RPMQV_PACKAGE = 0,
RPMQV_PATH,
RPMQV_ALL,
RPMQV_RPM,
RPMQV_GROUP,
RPMQV_WHATPROVIDES,
RPMQV_WHATREQUIRES,
RPMQV_TRIGGEREDBY,
RPMQV_DBOFFSET,
RPMQV_SPECRPMS,
RPMQV_SPECFILE = RPMQV_SPECRPMS,
RPMQV_PKGID,
RPMQV_HDRID,
RPMQV_TID,
RPMQV_SPECSRPM,
RPMQV_WHATRECOMMENDS,
RPMQV_WHATSUGGESTS,
RPMQV_WHATSUPPLEMENTS,
RPMQV_WHATENHANCES
} |
|
enum | rpmQueryFlags_e {
QUERY_FOR_DEFAULT = 0,
QUERY_MD5 = (1 << 0),
QUERY_FILEDIGEST = (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),
QUERY_FOR_LICENSE = (1 << 28)
} |
|
typedef rpmFlags | rpmQVSources |
|
typedef rpmFlags | rpmQueryFlags |
|
typedef struct rpmQVKArguments_s * | QVA_t |
|
typedef int(* | QVF_t) (QVA_t qva, rpmts ts, Header h) |
|
typedef int(* | QSpecF_t) (rpmts ts, QVA_t qva, const char *arg) |
|
rpmQueryFlags | rpmcliQueryFlags |
|
struct rpmQVKArguments_s | rpmQVKArgs |
|
struct poptOption | rpmQVSourcePoptTable [] |
|
struct poptOption | rpmQueryPoptTable [] |
|
struct poptOption | rpmVerifyPoptTable [] |
|
void | rpmDisplayQueryTags (FILE *fp) |
|
int | showQueryPackage (QVA_t qva, rpmts ts, Header h) |
|
int | rpmcliArgIter (rpmts ts, QVA_t qva, ARGV_const_t argv) |
|
int | rpmcliQuery (rpmts ts, QVA_t qva, ARGV_const_t argv) |
|
int | showVerifyPackage (QVA_t qva, rpmts ts, Header h) |
|
int | rpmVerifySignatures (QVA_t qva, rpmts ts, FD_t fd, const char *fn) |
| Check package and header signatures. More...
|
|
int | rpmcliVerify (rpmts ts, QVA_t qva, ARGV_const_t argv) |
|
|
#define | UNINSTALL_NONE INSTALL_NONE |
|
#define | UNINSTALL_NODEPS INSTALL_NODEPS |
|
#define | UNINSTALL_ALLMATCHES INSTALL_ALLMATCHES |
|
enum | rpmInstallFlags_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),
INSTALL_REINSTALL = (1 << 10)
} |
|
typedef rpmFlags | rpmInstallFlags |
|
struct rpmInstallArguments_s | rpmIArgs |
|
struct poptOption | rpmInstallPoptTable [] |
|
void * | rpmShowProgress (const void *arg, const rpmCallbackType what, const rpm_loff_t amount, const rpm_loff_t total, fnpyKey key, void *data) |
|
int | rpmInstallSource (rpmts ts, const char *arg, char **specFilePtr, char **cookie) |
|
int | rpmInstall (rpmts ts, struct rpmInstallArguments_s *ia, ARGV_t fileArgv) |
|
int | rpmErase (rpmts ts, struct rpmInstallArguments_s *ia, ARGV_const_t argv) |
|
◆ _QUERY_FOR_BITS
◆ RPMCLI_POPT_FORCE
#define RPMCLI_POPT_FORCE -1026 |
◆ RPMCLI_POPT_NOCONTEXTS
#define RPMCLI_POPT_NOCONTEXTS -1032 |
◆ RPMCLI_POPT_NODEPS
#define RPMCLI_POPT_NODEPS -1025 |
Common/global popt tokens used for command line option tables.
Definition at line 61 of file rpmcli.h.
◆ RPMCLI_POPT_NODIGEST
#define RPMCLI_POPT_NODIGEST -1030 |
◆ RPMCLI_POPT_NOFILEDIGEST
◆ RPMCLI_POPT_NOHDRCHK
#define RPMCLI_POPT_NOHDRCHK -1031 |
◆ RPMCLI_POPT_NOMD5
#define RPMCLI_POPT_NOMD5 -1027 |
◆ RPMCLI_POPT_NOSCRIPTS
#define RPMCLI_POPT_NOSCRIPTS -1028 |
◆ RPMCLI_POPT_NOSIGNATURE
#define RPMCLI_POPT_NOSIGNATURE -1029 |
◆ UNINSTALL_ALLMATCHES
◆ UNINSTALL_NODEPS
◆ UNINSTALL_NONE
◆ QSpecF_t
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 167 of file rpmcli.h.
◆ QVA_t
◆ QVF_t
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 157 of file rpmcli.h.
◆ rpmInstallFlags
◆ rpmQueryFlags
◆ rpmQVSources
◆ rpmInstallFlags_e
Bit(s) to control rpmInstall() 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
|
INSTALL_REINSTALL | from –reinstall
|
Definition at line 278 of file rpmcli.h.
◆ rpmQueryFlags_e
Bit(s) to control rpmQuery() operation, stored in qva_flags.
- Todo:
- Merge rpmQueryFlags, rpmVerifyFlags, and rpmVerifyAttrs?.
Enumerator |
---|
QUERY_FOR_DEFAULT | |
QUERY_MD5 | from –nomd5
|
QUERY_FILEDIGEST | from –nofiledigest, same as –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_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
|
QUERY_FOR_LICENSE | query: from –licensefiles
|
Definition at line 106 of file rpmcli.h.
◆ rpmQVSources_e
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_SPECRPMS | ... from spec file binaries (query only).
|
RPMQV_SPECFILE | ... backwards compatibility
|
RPMQV_PKGID | ... from package id (header+payload MD5).
|
RPMQV_HDRID | ... from header id (immutable header SHA1).
|
RPMQV_TID | ... from install transaction id (time stamp).
|
RPMQV_SPECSRPM | ... from spec file source (query only).
|
RPMQV_WHATRECOMMENDS | ... from recommends db search.
|
RPMQV_WHATSUGGESTS | ... from suggests db search.
|
RPMQV_WHATSUPPLEMENTS | ... from supplements db search.
|
RPMQV_WHATENHANCES | ... from enhances db search.
|
Definition at line 78 of file rpmcli.h.
◆ rpmcliArgIter()
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
◆ rpmcliConfigured()
void rpmcliConfigured |
( |
void |
| ) |
|
Make sure that rpm configuration has been read.
- Warning
- Options like –rcfile and –verbose must precede callers option.
◆ rpmcliFini()
poptContext rpmcliFini |
( |
poptContext |
optCon | ) |
|
Destroy most everything needed by an rpm CLI executable context.
- Parameters
-
- Returns
- NULL always
Referenced by main().
◆ rpmcliImportPubkeys()
Import public key(s) to rpm keyring.
- Parameters
-
ts | transaction set |
argv | array of pubkey path arguments (NULL terminated) |
- Returns
- 0 on success
Referenced by main().
◆ rpmcliInit()
poptContext rpmcliInit |
( |
int |
argc, |
|
|
char *const |
argv[], |
|
|
struct poptOption * |
optionsTable |
|
) |
| |
Initialize most everything needed by an rpm CLI executable context.
- Parameters
-
argc | no. of args |
argv | arg array |
optionsTable | popt option table |
- Returns
- popt context (or NULL)
Referenced by main().
◆ rpmcliQuery()
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
Referenced by main().
◆ rpmcliVerify()
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
Referenced by main().
◆ rpmcliVerifySignatures()
Verify package signatures
- Parameters
-
ts | transaction set |
argv | array of package path arguments (NULL terminated) |
- Returns
- 0 on success
Referenced by main().
◆ rpmDisplayQueryTags()
void rpmDisplayQueryTags |
( |
FILE * |
fp | ) |
|
Display list of tags that can be used in –queryformat.
- Parameters
-
fp | file handle to use for display |
◆ rpmErase()
Erase binary rpm package.
- Parameters
-
ts | transaction set |
ia | control args/bits |
argv | array of package file names (NULL terminated) |
- Returns
- 0 on success
Referenced by main().
◆ rpmInstall()
Install/upgrade/freshen/reinstall binary rpm package.
- Parameters
-
ts | transaction set |
ia | mode flags and parameters |
fileArgv | array of package file names (NULL terminated) |
- Returns
- 0 on success
- Todo:
- fileArgv is modified on errors, should be ARGV_const_t
Referenced by main().
◆ rpmInstallSource()
int rpmInstallSource |
( |
rpmts |
ts, |
|
|
const char * |
arg, |
|
|
char ** |
specFilePtr, |
|
|
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
Referenced by main().
◆ rpmShowProgress()
The rpm CLI generic transaction callback handler.
- Todo:
- Remove headerFormat() 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)
◆ rpmVerifySignatures()
int rpmVerifySignatures |
( |
QVA_t |
qva, |
|
|
rpmts |
ts, |
|
|
FD_t |
fd, |
|
|
const char * |
fn |
|
) |
| |
Check package and header signatures.
- Parameters
-
qva | parsed query/verify options |
ts | transaction set |
fd | package file handle |
fn | package file name |
- Returns
- 0 on success, 1 on failure
◆ showQueryPackage()
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
◆ showVerifyPackage()
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
◆ rpmcliAllPoptTable
struct poptOption rpmcliAllPoptTable[] |
Popt option table for options shared by all modes and executables.
◆ rpmcliPipeOutput
const char* rpmcliPipeOutput |
◆ rpmcliQueryFlags
Bit(s) from common command line options.
Referenced by build().
◆ rpmcliRcfile
◆ rpmcliRootDir
const char* rpmcliRootDir |
◆ rpmIArgs
◆ rpmInstallPoptTable
struct poptOption rpmInstallPoptTable[] |
◆ rpmQueryPoptTable
struct poptOption rpmQueryPoptTable[] |
◆ rpmQVKArgs
◆ rpmQVSourcePoptTable
struct poptOption rpmQVSourcePoptTable[] |
◆ rpmVerifyPoptTable
struct poptOption rpmVerifyPoptTable[] |