#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[] |