|
|
2ff057 |
#ifndef H_RPMCLI
|
|
|
2ff057 |
#define H_RPMCLI
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli rpmbuild
|
|
|
2ff057 |
* \file lib/rpmcli.h
|
|
|
2ff057 |
*
|
|
|
2ff057 |
* Parsing RPM command line arguments
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
|
|
|
2ff057 |
#include <popt.h>
|
|
|
2ff057 |
|
|
|
2ff057 |
#include <rpm/rpmlib.h>
|
|
|
2ff057 |
#include <rpm/rpmurl.h>
|
|
|
2ff057 |
#include <rpm/rpmmacro.h>
|
|
|
2ff057 |
#include <rpm/rpmcallback.h>
|
|
|
2ff057 |
#include <rpm/rpmts.h>
|
|
|
2ff057 |
#include <rpm/rpmfi.h>
|
|
|
2ff057 |
#include <rpm/rpmvf.h>
|
|
|
2ff057 |
#include <rpm/argv.h>
|
|
|
2ff057 |
|
|
|
2ff057 |
#ifdef __cplusplus
|
|
|
2ff057 |
extern "C" {
|
|
|
2ff057 |
#endif
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
* Popt option table for options shared by all modes and executables.
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
extern struct poptOption rpmcliAllPoptTable[];
|
|
|
2ff057 |
|
|
|
2ff057 |
extern const char * rpmcliPipeOutput;
|
|
|
2ff057 |
|
|
|
2ff057 |
extern const char * rpmcliRcfile;
|
|
|
2ff057 |
|
|
|
2ff057 |
extern const char * rpmcliRootDir;
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
* Initialize most everything needed by an rpm CLI executable context.
|
|
|
2ff057 |
* @param argc no. of args
|
|
|
2ff057 |
* @param argv arg array
|
|
|
2ff057 |
* @param optionsTable popt option table
|
|
|
2ff057 |
* @return popt context (or NULL)
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
poptContext
|
|
|
2ff057 |
rpmcliInit(int argc, char *const argv[], struct poptOption * optionsTable);
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
* Make sure that rpm configuration has been read.
|
|
|
2ff057 |
* @warning Options like --rcfile and --verbose must precede callers option.
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
void rpmcliConfigured(void);
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
* Destroy most everything needed by an rpm CLI executable context.
|
|
|
2ff057 |
* @param optCon popt context
|
|
|
2ff057 |
* @return NULL always
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
poptContext
|
|
|
2ff057 |
rpmcliFini(poptContext optCon);
|
|
|
2ff057 |
|
|
|
2ff057 |
/**
|
|
|
2ff057 |
* Common/global popt tokens used for command line option tables.
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
#define RPMCLI_POPT_NODEPS -1025
|
|
|
2ff057 |
#define RPMCLI_POPT_FORCE -1026
|
|
|
2ff057 |
#define RPMCLI_POPT_NOMD5 -1027
|
|
|
2ff057 |
#define RPMCLI_POPT_NOFILEDIGEST -1027 /* same as obsolete RPMCLI_POPT_NOMD5 */
|
|
|
2ff057 |
#define RPMCLI_POPT_NOSCRIPTS -1028
|
|
|
2ff057 |
#define RPMCLI_POPT_NOSIGNATURE -1029
|
|
|
2ff057 |
#define RPMCLI_POPT_NODIGEST -1030
|
|
|
2ff057 |
#define RPMCLI_POPT_NOHDRCHK -1031
|
|
|
2ff057 |
#define RPMCLI_POPT_NOCONTEXTS -1032
|
|
|
2ff057 |
#define RPMCLI_POPT_NOCAPS -1033
|
|
|
2ff057 |
#define RPMCLI_POPT_TARGETPLATFORM -1034
|
|
|
2ff057 |
|
|
|
2ff057 |
/* ==================================================================== */
|
|
|
2ff057 |
/** \name RPMQV */
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
* Query/Verify argument qualifiers.
|
|
|
2ff057 |
* @todo Reassign to tag values.
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
enum rpmQVSources_e {
|
|
|
2ff057 |
RPMQV_PACKAGE = 0, /*!< ... from package name db search. */
|
|
|
2ff057 |
RPMQV_PATH, /*!< ... from file path db search. */
|
|
|
2ff057 |
RPMQV_ALL, /*!< ... from each installed package. */
|
|
|
2ff057 |
RPMQV_RPM, /*!< ... from reading binary rpm package. */
|
|
|
2ff057 |
RPMQV_GROUP, /*!< ... from group db search. */
|
|
|
2ff057 |
RPMQV_WHATPROVIDES, /*!< ... from provides db search. */
|
|
|
2ff057 |
RPMQV_WHATREQUIRES, /*!< ... from requires db search. */
|
|
|
2ff057 |
RPMQV_TRIGGEREDBY, /*!< ... from trigger db search. */
|
|
|
2ff057 |
RPMQV_DBOFFSET, /*!< ... from database header instance. */
|
|
|
2ff057 |
RPMQV_SPECRPMS, /*!< ... from spec file binaries (query only). */
|
|
|
2ff057 |
RPMQV_SPECFILE = RPMQV_SPECRPMS, /*!< ... backwards compatibility */
|
|
|
2ff057 |
RPMQV_PKGID, /*!< ... from package id (header+payload MD5). */
|
|
|
2ff057 |
RPMQV_HDRID, /*!< ... from header id (immutable header SHA1). */
|
|
|
2ff057 |
RPMQV_TID, /*!< ... from install transaction id (time stamp). */
|
|
|
2ff057 |
RPMQV_SPECSRPM, /*!< ... from spec file source (query only). */
|
|
|
2ff057 |
RPMQV_WHATRECOMMENDS, /*!< ... from recommends db search. */
|
|
|
2ff057 |
RPMQV_WHATSUGGESTS, /*!< ... from suggests db search. */
|
|
|
2ff057 |
RPMQV_WHATSUPPLEMENTS, /*!< ... from supplements db search. */
|
|
|
2ff057 |
RPMQV_WHATENHANCES, /*!< ... from enhances db search. */
|
|
|
2ff057 |
RPMQV_SPECBUILTRPMS, /*!< ... from pkgs which would be built from spec */
|
|
|
2ff057 |
RPMQV_WHATOBSOLETES, /*!< ... from obsoletes db search. */
|
|
|
2ff057 |
RPMQV_WHATCONFLICTS, /*!< ... from conflicts db search. */
|
|
|
2ff057 |
};
|
|
|
2ff057 |
|
|
|
2ff057 |
typedef rpmFlags rpmQVSources;
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
* Bit(s) to control rpmQuery() operation, stored in qva_flags.
|
|
|
2ff057 |
* @todo Merge rpmQueryFlags, rpmVerifyFlags, and rpmVerifyAttrs?.
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
enum rpmQueryFlags_e {
|
|
|
2ff057 |
QUERY_FOR_DEFAULT = 0, /*!< */
|
|
|
2ff057 |
QUERY_MD5 = (1 << 0), /*!< from --nomd5 */
|
|
|
2ff057 |
QUERY_FILEDIGEST = (1 << 0), /*!< from --nofiledigest, same as --nomd5 */
|
|
|
2ff057 |
QUERY_SIZE = (1 << 1), /*!< from --nosize */
|
|
|
2ff057 |
QUERY_LINKTO = (1 << 2), /*!< from --nolink */
|
|
|
2ff057 |
QUERY_USER = (1 << 3), /*!< from --nouser) */
|
|
|
2ff057 |
QUERY_GROUP = (1 << 4), /*!< from --nogroup) */
|
|
|
2ff057 |
QUERY_MTIME = (1 << 5), /*!< from --nomtime) */
|
|
|
2ff057 |
QUERY_MODE = (1 << 6), /*!< from --nomode) */
|
|
|
2ff057 |
QUERY_RDEV = (1 << 7), /*!< from --nodev */
|
|
|
2ff057 |
/* bits 8-14 unused, reserved for rpmVerifyAttrs */
|
|
|
2ff057 |
QUERY_CONTEXTS = (1 << 15), /*!< verify: from --nocontexts */
|
|
|
2ff057 |
QUERY_FILES = (1 << 16), /*!< verify: from --nofiles */
|
|
|
2ff057 |
QUERY_DEPS = (1 << 17), /*!< verify: from --nodeps */
|
|
|
2ff057 |
QUERY_SCRIPT = (1 << 18), /*!< verify: from --noscripts */
|
|
|
2ff057 |
QUERY_DIGEST = (1 << 19), /*!< verify: from --nodigest */
|
|
|
2ff057 |
QUERY_SIGNATURE = (1 << 20), /*!< verify: from --nosignature */
|
|
|
2ff057 |
QUERY_PATCHES = (1 << 21), /*!< verify: from --nopatches */
|
|
|
2ff057 |
QUERY_HDRCHK = (1 << 22), /*!< verify: from --nohdrchk */
|
|
|
2ff057 |
QUERY_FOR_LIST = (1 << 23), /*!< query: from --list */
|
|
|
2ff057 |
QUERY_FOR_STATE = (1 << 24), /*!< query: from --state */
|
|
|
2ff057 |
QUERY_FOR_DOCS = (1 << 25), /*!< query: from --docfiles */
|
|
|
2ff057 |
QUERY_FOR_CONFIG = (1 << 26), /*!< query: from --configfiles */
|
|
|
2ff057 |
QUERY_FOR_DUMPFILES = (1 << 27), /*!< query: from --dump */
|
|
|
2ff057 |
QUERY_FOR_LICENSE = (1 << 28), /*!< query: from --licensefiles */
|
|
|
2ff057 |
QUERY_FOR_ARTIFACT = (1 << 29), /*!< query: from --artifacts */
|
|
|
2ff057 |
};
|
|
|
2ff057 |
|
|
|
2ff057 |
typedef rpmFlags rpmQueryFlags;
|
|
|
2ff057 |
|
|
|
2ff057 |
#define _QUERY_FOR_BITS \
|
|
|
2ff057 |
(QUERY_FOR_LIST|QUERY_FOR_STATE|QUERY_FOR_DOCS|QUERY_FOR_CONFIG|\
|
|
|
2ff057 |
QUERY_FOR_LICENSE|QUERY_FOR_DUMPFILES)
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
* Bit(s) from common command line options.
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
extern rpmQueryFlags rpmcliQueryFlags;
|
|
|
2ff057 |
|
|
|
2ff057 |
extern rpmVSFlags rpmcliVSFlags;
|
|
|
2ff057 |
|
|
|
2ff057 |
extern int rpmcliVfyLevelMask;
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
typedef struct rpmQVKArguments_s * QVA_t;
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
* Function to display iterator matches.
|
|
|
2ff057 |
*
|
|
|
2ff057 |
* @param qva parsed query/verify options
|
|
|
2ff057 |
* @param ts transaction set
|
|
|
2ff057 |
* @param h header to use for query/verify
|
|
|
2ff057 |
* @return 0 on success
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
typedef int (*QVF_t) (QVA_t qva, rpmts ts, Header h);
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
* Function to query spec file.
|
|
|
2ff057 |
*
|
|
|
2ff057 |
* @param ts transaction set
|
|
|
2ff057 |
* @param qva parsed query/verify options
|
|
|
2ff057 |
* @param arg query argument
|
|
|
2ff057 |
* @return 0 on success
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
typedef int (*QSpecF_t) (rpmts ts, QVA_t qva, const char * arg);
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
* Describe query/verify/signature command line operation.
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
struct rpmQVKArguments_s {
|
|
|
2ff057 |
rpmQVSources qva_source; /*!< Identify CLI arg type. */
|
|
|
2ff057 |
int qva_sourceCount;/*!< Exclusive option check (>1 is error). */
|
|
|
2ff057 |
rpmQueryFlags qva_flags; /*!< Bit(s) to control operation. */
|
|
|
2ff057 |
rpmfileAttrs qva_fflags; /*!< Bit(s) to filter on attribute. */
|
|
|
2ff057 |
|
|
|
2ff057 |
QVF_t qva_showPackage; /*!< Function to display iterator matches. */
|
|
|
2ff057 |
QSpecF_t qva_specQuery; /*!< Function to query spec file. */
|
|
|
2ff057 |
char * qva_queryFormat; /*!< Format for headerFormat(). */
|
|
|
2ff057 |
char qva_mode;
|
|
|
2ff057 |
/*!<
|
|
|
2ff057 |
- 'q' from --query, -q
|
|
|
2ff057 |
- 'Q' from --querytags
|
|
|
2ff057 |
- 'V' from --verify, -V
|
|
|
2ff057 |
- 'I' from --import
|
|
|
2ff057 |
- 'K' from --checksig, -K
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
};
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
extern struct rpmQVKArguments_s rpmQVKArgs;
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
extern struct poptOption rpmQVSourcePoptTable[];
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
extern struct poptOption rpmQueryPoptTable[];
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
extern struct poptOption rpmVerifyPoptTable[];
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
* Display list of tags that can be used in --queryformat.
|
|
|
2ff057 |
* @param fp file handle to use for display
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
void rpmDisplayQueryTags(FILE * fp);
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
* Display results of package query.
|
|
|
2ff057 |
* @todo Devise a meaningful return code.
|
|
|
2ff057 |
* @param qva parsed query/verify options
|
|
|
2ff057 |
* @param ts transaction set
|
|
|
2ff057 |
* @param h header to use for query
|
|
|
2ff057 |
* @return 0 always
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
int showQueryPackage(QVA_t qva, rpmts ts, Header h);
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
* Iterate over query/verify arg list.
|
|
|
2ff057 |
* @param ts transaction set
|
|
|
2ff057 |
* @param qva parsed query/verify options
|
|
|
2ff057 |
* @param argv query argument(s) (or NULL)
|
|
|
2ff057 |
* @return 0 on success, else no. of failures
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
int rpmcliArgIter(rpmts ts, QVA_t qva, ARGV_const_t argv);
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
* Display package information.
|
|
|
2ff057 |
* @todo hack: RPMQV_ALL can pass char ** arglist = NULL, not char * arg. Union?
|
|
|
2ff057 |
* @param ts transaction set
|
|
|
2ff057 |
* @param qva parsed query/verify options
|
|
|
2ff057 |
* @param argv query argument(s) (or NULL)
|
|
|
2ff057 |
* @return 0 on success, else no. of failures
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
int rpmcliQuery(rpmts ts, QVA_t qva, ARGV_const_t argv);
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
* Display results of package verify.
|
|
|
2ff057 |
* @param qva parsed query/verify options
|
|
|
2ff057 |
* @param ts transaction set
|
|
|
2ff057 |
* @param h header to use for verify
|
|
|
2ff057 |
* @return result of last non-zero verify return
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
int showVerifyPackage(QVA_t qva, rpmts ts, Header h);
|
|
|
2ff057 |
|
|
|
2ff057 |
/**
|
|
|
2ff057 |
* Check package and header signatures.
|
|
Packit Service |
0cfc1f |
* @param qva unused
|
|
|
2ff057 |
* @param ts transaction set
|
|
|
2ff057 |
* @param fd package file handle
|
|
|
2ff057 |
* @param fn package file name
|
|
|
2ff057 |
* @return 0 on success, 1 on failure
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
int rpmVerifySignatures(QVA_t qva, rpmts ts, FD_t fd, const char * fn);
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
* Verify package install.
|
|
|
2ff057 |
* @todo hack: RPMQV_ALL can pass char ** arglist = NULL, not char * arg. Union?
|
|
|
2ff057 |
* @param ts transaction set
|
|
|
2ff057 |
* @param qva parsed query/verify options
|
|
|
2ff057 |
* @param argv verify argument(s) (or NULL)
|
|
|
2ff057 |
* @return 0 on success, else no. of failures
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
int rpmcliVerify(rpmts ts, QVA_t qva, ARGV_const_t argv);
|
|
|
2ff057 |
|
|
|
2ff057 |
/* ==================================================================== */
|
|
|
2ff057 |
/** \name RPMEIU */
|
|
|
2ff057 |
/* --- install/upgrade/erase modes */
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
* Bit(s) to control rpmInstall() operation.
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
enum rpmInstallFlags_e {
|
|
|
2ff057 |
INSTALL_NONE = 0,
|
|
|
2ff057 |
INSTALL_PERCENT = (1 << 0), /*!< from --percent */
|
|
|
2ff057 |
INSTALL_HASH = (1 << 1), /*!< from --hash */
|
|
|
2ff057 |
INSTALL_NODEPS = (1 << 2), /*!< from --nodeps */
|
|
|
2ff057 |
INSTALL_NOORDER = (1 << 3), /*!< from --noorder */
|
|
|
2ff057 |
INSTALL_LABEL = (1 << 4), /*!< from --verbose (notify) */
|
|
|
2ff057 |
INSTALL_UPGRADE = (1 << 5), /*!< from --upgrade */
|
|
|
2ff057 |
INSTALL_FRESHEN = (1 << 6), /*!< from --freshen */
|
|
|
2ff057 |
INSTALL_INSTALL = (1 << 7), /*!< from --install */
|
|
|
2ff057 |
INSTALL_ERASE = (1 << 8), /*!< from --erase */
|
|
|
2ff057 |
INSTALL_ALLMATCHES = (1 << 9), /*!< from --allmatches */
|
|
|
2ff057 |
INSTALL_REINSTALL = (1 << 10), /*!< from --reinstall */
|
|
|
2ff057 |
};
|
|
|
2ff057 |
|
|
|
2ff057 |
typedef rpmFlags rpmInstallFlags;
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
* Bit(s) to control rpmErase() operation.
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
#define UNINSTALL_NONE INSTALL_NONE
|
|
|
2ff057 |
#define UNINSTALL_NODEPS INSTALL_NODEPS
|
|
|
2ff057 |
#define UNINSTALL_ALLMATCHES INSTALL_ALLMATCHES
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
* The rpm CLI generic transaction callback handler.
|
|
|
2ff057 |
* @todo Remove headerFormat() from the progress callback.
|
|
|
2ff057 |
* @deprecated Transaction callback arguments need to change, so don't rely on
|
|
|
2ff057 |
* this routine in the rpmcli API.
|
|
|
2ff057 |
*
|
|
|
2ff057 |
* @param arg per-callback private data (e.g. an rpm header)
|
|
|
2ff057 |
* @param what callback identifier
|
|
|
2ff057 |
* @param amount per-callback progress info
|
|
|
2ff057 |
* @param total per-callback progress info
|
|
|
2ff057 |
* @param key opaque header key (e.g. file name or PyObject)
|
|
|
2ff057 |
* @param data private data (e.g. rpmInstallInterfaceFlags)
|
|
|
2ff057 |
* @return per-callback data (e.g. an opened FD_t)
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
void * rpmShowProgress(const void * arg,
|
|
|
2ff057 |
const rpmCallbackType what,
|
|
|
2ff057 |
const rpm_loff_t amount,
|
|
|
2ff057 |
const rpm_loff_t total,
|
|
|
2ff057 |
fnpyKey key,
|
|
|
2ff057 |
void * data);
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
* Install source rpm package.
|
|
|
2ff057 |
* @param ts transaction set
|
|
|
2ff057 |
* @param arg source rpm file name
|
|
|
2ff057 |
* @retval *specFilePtr (installed) spec file name
|
|
|
2ff057 |
* @retval *cookie
|
|
|
2ff057 |
* @return 0 on success
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
int rpmInstallSource(rpmts ts, const char * arg,
|
|
|
2ff057 |
char ** specFilePtr,
|
|
|
2ff057 |
char ** cookie);
|
|
|
2ff057 |
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
* Describe database command line requests.
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
struct rpmInstallArguments_s {
|
|
|
2ff057 |
rpmtransFlags transFlags;
|
|
|
2ff057 |
rpmprobFilterFlags probFilter;
|
|
|
2ff057 |
rpmInstallFlags installInterfaceFlags;
|
|
|
2ff057 |
int numRelocations;
|
|
|
2ff057 |
int noDeps;
|
|
|
2ff057 |
int incldocs;
|
|
|
2ff057 |
rpmRelocation * relocations;
|
|
|
2ff057 |
char * prefix;
|
|
|
2ff057 |
};
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
* Install/upgrade/freshen/reinstall binary rpm package.
|
|
|
2ff057 |
* @param ts transaction set
|
|
|
2ff057 |
* @param ia mode flags and parameters
|
|
|
2ff057 |
* @param fileArgv array of package file names (NULL terminated)
|
|
|
2ff057 |
* @return 0 on success
|
|
|
2ff057 |
*
|
|
|
2ff057 |
* @todo fileArgv is modified on errors, should be ARGV_const_t
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
int rpmInstall(rpmts ts, struct rpmInstallArguments_s * ia, ARGV_t fileArgv);
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
* Erase binary rpm package.
|
|
|
2ff057 |
* @param ts transaction set
|
|
|
2ff057 |
* @param ia control args/bits
|
|
|
2ff057 |
* @param argv array of package file names (NULL terminated)
|
|
|
2ff057 |
* @return 0 on success
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
|
|
|
2ff057 |
int rpmErase(rpmts ts, struct rpmInstallArguments_s * ia, ARGV_const_t argv);
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
extern struct rpmInstallArguments_s rpmIArgs;
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
extern struct poptOption rpmInstallPoptTable[];
|
|
|
2ff057 |
|
|
|
2ff057 |
/* ==================================================================== */
|
|
|
2ff057 |
/** \name RPMK */
|
|
|
2ff057 |
|
|
|
2ff057 |
/** Import public key(s) to rpm keyring
|
|
|
2ff057 |
* @param ts transaction set
|
|
|
2ff057 |
* @param argv array of pubkey path arguments (NULL terminated)
|
|
|
2ff057 |
* @return 0 on success
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
int rpmcliImportPubkeys(rpmts ts, ARGV_const_t argv);
|
|
|
2ff057 |
|
|
|
2ff057 |
/** \ingroup rpmcli
|
|
|
2ff057 |
* Verify package signatures
|
|
|
2ff057 |
* @param ts transaction set
|
|
|
2ff057 |
* @param argv array of package path arguments (NULL terminated)
|
|
|
2ff057 |
* @return 0 on success
|
|
|
2ff057 |
*/
|
|
|
2ff057 |
int rpmcliVerifySignatures(rpmts ts, ARGV_const_t argv);
|
|
|
2ff057 |
|
|
|
2ff057 |
#ifdef __cplusplus
|
|
|
2ff057 |
}
|
|
|
2ff057 |
#endif
|
|
|
2ff057 |
|
|
|
2ff057 |
#endif /* H_RPMCLI */
|