8 #if defined(IAM_RPM) || defined(__LCLINT__)
16 #if defined(RPM_VENDOR_OPENPKG)
17 #define _RPMIOB_INTERNAL
29 #if defined(IAM_RPMBT) || defined(IAM_RPMK)
33 #if defined(RPM_VENDOR_OPENPKG)
35 #define _RPMLUA_INTERNAL
50 #define GETOPT_REBUILD 1003
51 #define GETOPT_RECOMPILE 1004
62 #define QVA_ISSET(_qvaflags, _FLAG) ((_qvaflags) & (VERIFY_##_FLAG))
63 #define QVA_SET(_qvaflags, _FLAG) { \
64 unsigned ui = (unsigned)(_qvaflags); ui |= (VERIFY_##_FLAG); \
65 (_qvaflags) = (rpmVerifyFlags) ui; \
67 #define QVA_CLR(_qvaflags, _FLAG) { \
68 unsigned ui = (unsigned)(_qvaflags); ui &= ~(VERIFY_##_FLAG); \
69 (_qvaflags) = (rpmVerifyFlags) ui; \
72 #define VSF_ISSET(_vsflags, _FLAG) ((_vsflags) & (RPMVSF_##_FLAG))
73 #define VSF_SET(_vsflags, _FLAG) { \
74 unsigned ui = (unsigned)(_vsflags); ui |= (RPMVSF_##_FLAG); \
75 (_vsflags) = (pgpVSFlags) ui; \
77 #define VSF_CLR(_vsflags, _FLAG) { \
78 unsigned ui = (unsigned)(_vsflags); ui &= ~(RPMVSF_##_FLAG); \
79 (_vsflags) = (pgpVSFlags) ui; \
82 #define TSF_ISSET(_tsflags, _FLAG) ((_tsflags) & (RPMTRANS_FLAG_##_FLAG))
83 #define TSF_SET(_tsflags, _FLAG) { \
84 unsigned ui = (unsigned)(_tsflags); ui |= (RPMTRANS_FLAG_##_FLAG); \
85 (_tsflags) = (rpmtransFlags) ui; \
87 #define TSF_CLR(_tsflags, _FLAG) { \
88 unsigned ui = (unsigned)(_tsflags); ui &= ~(RPMTRANS_FLAG_##_FLAG); \
89 (_tsflags) = (rpmtransFlags) ui; \
92 #define IIF_ISSET(_iflags, _FLAG) ((_iflags) & (INSTALL_##_FLAG))
93 #define IIF_SET(_iflags, _FLAG) { \
94 unsigned ui = (unsigned)(_iflags); ui |= (INSTALL_##_FLAG); \
95 (_iflags) = (rpmInstallInterfaceFlags) ui; \
97 #define IIF_CLR(_iflags, _FLAG) { \
98 unsigned ui = (unsigned)(_iflags); ui &= ~(INSTALL_##_FLAG); \
99 (_iflags) = (rpmInstallInterfaceFlags) ui; \
102 #define PFF_ISSET(_pfflags, _FLAG) ((_pfflags) & (RPMPROB_FILTER_##_FLAG))
103 #define PFF_SET(_pfflags, _FLAG) { \
104 unsigned ui = (unsigned)(_pfflags); ui |= (RPMPROB_FILTER_##_FLAG); \
105 (_pfflags) = (rpmprobFilterFlags) ui; \
107 #define PFF_CLR(_pfflags, _FLAG) { \
108 unsigned ui = (unsigned)(_pfflags); ui &= ~(RPMPROB_FILTER_##_FLAG); \
109 (_pfflags) = (rpmprobFilterFlags) ui; \
114 #define QVA_ISSET(_qvaflags, _FLAG) ((_qvaflags) & (VERIFY_##_FLAG))
115 #define QVA_SET(_qvaflags, _FLAG) (_qvaflags) |= (VERIFY_##_FLAG)
116 #define QVA_CLR(_qvaflags, _FLAG) (_qvaflags) &= ~(VERIFY_##_FLAG)
118 #define VSF_ISSET(_vsflags, _FLAG) ((_vsflags) & (RPMVSF_##_FLAG))
119 #define VSF_SET(_vsflags, _FLAG) (_vsflags) |= (RPMVSF_##_FLAG)
120 #define VSF_CLR(_vsflags, _FLAG) (_vsflags) &= ~(RPMVSF_##_FLAG)
122 #define TSF_ISSET(_tsflags, _FLAG) ((_tsflags) & (RPMTRANS_FLAG_##_FLAG))
123 #define TSF_SET(_tsflags, _FLAG) (_tsflags) |= (RPMTRANS_FLAG_##_FLAG)
124 #define TSF_CLR(_tsflags, _FLAG) (_tsflags) &= ~(RPMTRANS_FLAG_##_FLAG)
126 #define IIF_ISSET(_iflags, _FLAG) ((_iflags) & (INSTALL_##_FLAG))
127 #define IIF_SET(_iflags, _FLAG) (_iflags) |= (INSTALL_##_FLAG)
128 #define IIF_CLR(_iflags, _FLAG) (_iflags) &= ~(INSTALL_##_FLAG)
130 #define PFF_ISSET(_pfflags, _FLAG) ((_pfflags) & (RPMPROB_FILTER_##_FLAG))
131 #define PFF_SET(_pfflags, _FLAG) (_pfflags) |= (RPMPROB_FILTER_##_FLAG)
132 #define PFF_CLR(_pfflags, _FLAG) (_pfflags) &= ~(RPMPROB_FILTER_##_FLAG)
141 #define MODES_QV (MODE_QUERY | MODE_VERIFY)
145 #define MODES_IE (MODE_INSTALL | MODE_ERASE)
151 #define MODES_BT (MODE_BUILD | MODE_TARBUILD | MODE_REBUILD | MODE_RECOMPILE)
155 #define MODES_K (MODE_CHECKSIG | MODE_RESIGN)
161 #define MODES_FOR_DBPATH (MODES_BT | MODES_IE | MODES_QV | MODES_DB)
162 #define MODES_FOR_NODEPS (MODES_BT | MODES_IE | MODE_VERIFY)
163 #define MODES_FOR_TEST (MODES_BT | MODES_IE)
164 #define MODES_FOR_ROOT (MODES_BT | MODES_IE | MODES_QV | MODES_DB | MODES_K)
172 N_(
"Query options (with -q or --query):"),
175 N_(
"Verify options (with -V or --verify):"),
178 { NULL,
'\0', POPT_ARG_INCLUDE_TABLE, rpmcliQVSourcePoptTable, 0,
179 N_(
"Source options (with --query or --verify):"),
184 #if defined(IAM_RPMQV) || defined(IAM_RPMEIU)
186 N_(
"Dependency check/order options:"),
192 N_(
"File tree walk options (with --ftswalk):"),
198 N_(
"Signature options:"),
204 N_(
"Database options:"),
210 N_(
"Build options with [ <specfile> | <tarball> | <source package> ]:"),
216 N_(
"Install/Upgrade/Erase options:"),
221 N_(
"Common options:"),
231 long _stksize = 64 * 1024
L;
249 fprintf(fp,
"rpmlib 0x%08x,0x%08x,0x%08x\n",
253 static void printUsage(poptContext con, FILE * fp,
int flags)
261 poptPrintHelp(con, fp, flags);
263 poptPrintUsage(con, fp, flags);
267 #if defined(RPM_VENDOR_OPENPKG)
269 #if !defined(RPM_INTEGRITY_FP)
270 #error required RPM_INTEGRITY_FP (fingerprint of public key of integrity authority) not defined!
275 INTEGRITY_WARNING = 1,
279 static void integrity_check_message(
const char *fmt, ...)
284 fprintf(stderr,
"rpm: ATTENTION: INTEGRITY CHECKING DETECTED AN ENVIRONMENT ANOMALY!\nrpm: ");
285 vfprintf(stderr, fmt, ap);
290 static void integrity_check(
const char *
progname,
enum modes progmode_num)
294 char *spec_fn = NULL;
295 char *proc_fn = NULL;
296 char *pkey_fn = NULL;
301 const char *result = NULL;
302 const char *error = NULL;
304 const char *progmode;
305 int rc = INTEGRITY_ERROR;
308 spec_fn =
rpmExpand(
"%{?_integrity_spec_cfg}%{!?_integrity_spec_cfg:scripts/integrity.cfg}", NULL);
309 if (spec_fn == NULL || spec_fn[0] ==
'\0') {
310 integrity_check_message(
"ERROR: Integrity Configuration Specification file not configured.\n"
311 "rpm: HINT: macro %%{_integrity_spec_cfg} not configured correctly.\n");
314 proc_fn =
rpmExpand(
"%{?_integrity_proc_lua}%{!?_integrity_proc_lua:scripts/integrity.lua}", NULL);
315 if (proc_fn == NULL || proc_fn[0] ==
'\0') {
316 integrity_check_message(
"ERROR: Integrity Validation Processor file not configured.\n"
317 "rpm: HINT: macro %%{_integrity_proc_lua} not configured correctly.\n");
320 pkey_fn =
rpmExpand(
"%{?_integrity_pkey_pgp}%{!?_integrity_pkey_pgp:scripts/integrity.pgp}", NULL);
321 if (pkey_fn == NULL || pkey_fn[0] ==
'\0') {
322 integrity_check_message(
"ERROR: Integrity Authority Public-Key file not configured.\n"
323 "rpm: HINT: macro %%{_integrity_pkey_pgp} not configured correctly.\n");
333 integrity_check_message(
"ERROR: Integrity Configuration Specification file contains invalid signature.\n"
334 "rpm: HINT: Check file \"%s\".\n", spec_fn);
340 integrity_check_message(
"ERROR: Integrity Validation Processor file contains invalid signature.\n"
341 "rpm: HINT: Check file \"%s\".\n", proc_fn);
347 if (!(xx == 0 && spec_iob != NULL)) {
348 integrity_check_message(
"ERROR: Unable to load Integrity Configuration Specification file.\n"
349 "rpm: HINT: Check file \"%s\".\n", spec_fn);
356 if (!(xx == 0 && proc_iob != NULL)) {
357 integrity_check_message(
"ERROR: Unable to load Integrity Validation Processor file.\n"
358 "rpm: HINT: Check file \"%s\".\n", proc_fn);
364 if (progname == NULL || progname[0] ==
'\0')
366 switch (progmode_num) {
379 default: progmode =
"unknown";
break;
386 lua_getfield(lua->L, LUA_GLOBALSINDEX,
"integrity");
387 lua_getfield(lua->L, -1,
"processor");
388 lua_remove(lua->L, -2);
389 lua_pushstring(lua->L, progname);
390 lua_pushstring(lua->L, progmode);
391 lua_pushstring(lua->L, spec_fn);
392 lua_pushstring(lua->L, spec);
393 lua_pushstring(lua->L, proc_fn);
394 lua_pushstring(lua->L, proc);
395 #ifdef RPM_INTEGRITY_MV
396 lua_pushstring(lua->L, RPM_INTEGRITY_MV);
398 lua_pushstring(lua->L,
"0");
400 if (lua_pcall(lua->L, 7, 1, 0) != 0) {
401 error = lua_isstring(lua->L, -1) ? lua_tostring(lua->L, -1) :
"unknown error";
403 integrity_check_message(
"ERROR: Failed to execute Integrity Validation Processor.\n"
404 "rpm: ERROR: Lua: %s.\n"
405 "rpm: HINT: Check file \"%s\".\n", error, proc_fn);
410 if (!lua_isstring(lua->L, -1)) {
411 integrity_check_message(
"ERROR: Failed to fetch Integrity Validation Processor results.\n"
412 "rpm: HINT: Check file \"%s\".\n", proc_fn);
415 result = lua_tostring(lua->L, -1);
416 if (strcmp(result,
"OK") == 0)
418 else if (strncmp(result,
"WARNING:", 8) == 0) {
419 rc = INTEGRITY_WARNING;
420 integrity_check_message(
"%s\n", result);
423 rc = INTEGRITY_ERROR;
424 integrity_check_message(
"%s\n", result);
434 if (spec_iob != NULL)
436 if (proc_iob != NULL)
440 if (rc != INTEGRITY_OK) {
441 if (isatty(STDIN_FILENO) || isatty(STDOUT_FILENO))
443 if (rc == INTEGRITY_ERROR)
452 #if !defined(__GLIBC__) && !defined(__LCLINT__)
453 int main(
int argc,
const char ** argv,
char ** envp)
455 int main(
int argc,
const char ** argv)
462 poptContext optCon =
rpmcliInit(argc, (
char *
const *)argv, optionsTable);
467 #if defined(IAM_RPMQV)
479 #if defined(IAM_RPMDB)
483 #if defined(IAM_RPMK)
487 #if defined(IAM_RPMBT) || defined(IAM_RPMK)
488 char * passPhrase = (
char *)
"";
499 #if !defined(__GLIBC__) && !defined(__LCLINT__)
503 #if 0 && !defined(HAVE_SETPROCTITLE) && defined(__linux__)
504 (void) initproctitle(argc, (
char **)argv,
environ);
531 #if defined(IAM_RPMQV)
572 argerror(
_(
"only one major mode may be specified"));
588 argerror(
_(
"one type of query/verify may be performed at a "
591 if (qva->
qva_flags && (bigMode & ~MODES_QV))
609 argerror(
_(
"only one major mode may be specified"));
638 #if defined(IAM_RPMEIU)
641 argerror(
_(
"only installation, upgrading, rmsource and rmspec may be forced"));
643 argerror(
_(
"files may only be relocated during package installation"));
646 argerror(
_(
"cannot use --prefix with --relocate or --excludepath"));
649 argerror(
_(
"--relocate and --excludepath may only be used when installing new packages"));
652 argerror(
_(
"--prefix may only be used when installing new packages"));
655 argerror(
_(
"arguments to --prefix must begin with a /"));
658 argerror(
_(
"--hash (-h) may only be specified during package "
662 argerror(
_(
"--percent may only be specified during package "
666 argerror(
_(
"--replacepkgs may only be specified during package "
670 argerror(
_(
"--excludedocs may only be specified during package "
674 argerror(
_(
"--includedocs may only be specified during package "
678 argerror(
_(
"only one of --excludedocs and --includedocs may be "
682 argerror(
_(
"--ignorearch may only be specified during package "
686 argerror(
_(
"--ignoreos may only be specified during package "
690 argerror(
_(
"--allmatches may only be specified during package "
694 argerror(
_(
"--allfiles may only be specified during package "
699 argerror(
_(
"--justdb may only be specified during package "
700 "installation and erasure"));
704 argerror(
_(
"script disabling options may only be specified during "
705 "package installation and erasure"));
709 argerror(
_(
"trigger disabling options may only be specified during "
710 "package installation and erasure"));
713 argerror(
_(
"--nodeps may only be specified during package "
714 "building, rebuilding, recompilation, installation, "
715 "erasure, and verification"));
718 argerror(
_(
"--test may only be specified during package installation, "
719 "erasure, and building"));
723 argerror(
_(
"--root (-r) may only be specified during "
724 "installation, erasure, querying, and "
725 "database rebuilds"));
735 argerror(
_(
"arguments to --root (-r) must begin with a /"));
740 #if defined(RPM_VENDOR_OPENPKG)
744 #if defined(IAM_RPMBT) || defined(IAM_RPMK)
746 #
if defined(IAM_RPMBT)
749 #
if defined(IAM_RPMK)
762 if ((av = poptGetArgs(optCon)) == NULL) {
763 fprintf(stderr,
_(
"no files to sign\n"));
767 if (
Stat(*av, &sb)) {
768 fprintf(stderr,
_(
"cannot access file %s\n"), *av);
780 if (poptPeekArg(optCon)
781 #
if defined(IAM_RPMBT)
784 #
if defined(IAM_RPMK)
789 passPhrase =
Getpass(
_(
"Enter pass phrase: "));
791 fprintf(stderr,
_(
"Pass phrase check failed\n"));
795 fprintf(stderr,
_(
"Pass phrase is good.\n"));
797 passPhrase =
xstrdup(passPhrase);
806 fprintf(stderr,
_(
"creating a pipe for --pipe failed: %m\n"));
810 if (!(pipeChild = fork())) {
812 (void) dup2(p[0], STDIN_FILENO);
815 fprintf(stderr,
_(
"exec failed\n"));
819 (void) dup2(p[1], STDOUT_FILENO);
833 #if defined(SUPPORT_NOSIGNATURES)
835 VSF_SET(vsflags, NOSHA1HEADER);
867 if (!poptPeekArg(optCon))
868 argerror(
_(
"no packages files given for rebuild"));
880 while ((pkg = poptGetArg(optCon))) {
892 ec =
build(ts, ba, NULL);
907 #if defined(RPM_VENDOR_OPENPKG)
920 #if defined(RPM_VENDOR_MANDRIVA)
947 #if defined(RPM_VENDOR_OPENPKG) || defined(RPM_VENDOR_MANDRIVA) || defined(RPM_VENDOR_ARK)
966 if (!poptPeekArg(optCon)) {
968 argerror(
_(
"no spec files given for build"));
970 argerror(
_(
"no tar files given for build"));
973 while ((ba->
specFile = poptGetArg(optCon))) {
982 ec =
build(ts, ba, NULL);
994 if (!poptPeekArg(optCon)) {
996 argerror(
_(
"no packages given for erase"));
1004 ec +=
rpmErase(ts, ia, (
const char **) poptGetArgs(optCon));
1035 if (!poptPeekArg(optCon)) {
1037 argerror(
_(
"no packages given for install"));
1046 ec +=
rpmcliInstall(ts, ia, (
const char **)poptGetArgs(optCon));
1055 if (!poptPeekArg(optCon)
1057 argerror(
_(
"no arguments given for query"));
1061 ec =
rpmcliQuery(ts, qva, (
const char **) poptGetArgs(optCon));
1070 ui = (unsigned) vflags;
1074 if (!poptPeekArg(optCon)
1076 argerror(
_(
"no arguments given for verify"));
1077 ec =
rpmcliVerify(ts, qva, (
const char **) poptGetArgs(optCon));
1090 ui = (unsigned) vflags;
1095 if (!poptPeekArg(optCon))
1098 ec =
rpmcliSign(ts, ka, (
const char **)poptGetArgs(optCon));
1102 #if !defined(IAM_RPMQV)
1106 #if !defined(IAM_RPMK)
1110 #if !defined(IAM_RPMDB)
1113 #if !defined(IAM_RPMBT)
1119 #if !defined(IAM_RPMEIU)
1125 if (poptPeekArg(optCon) != NULL || argc <= 1 ||
rpmIsVerbose()) {
1126 printUsage(optCon, stderr, 0);
1133 #if defined(IAM_RPMBT) || defined(IAM_RPMK)
1141 (void) fclose(stdout);
1142 (void) waitpid(pipeChild, &status, 0);
1166 #if 0 && !defined(HAVE_SETPROCTITLE) && defined(__linux__)
1167 (void) finiproctitle();
1172 if (ec > 254) ec = 254;
rpmRelocation relocations
void rpmFreeMacros(MacroContext mc)
Destroy macro context.
enum rpmQueryFlags_e rpmQueryFlags
Bit(s) to control rpmQuery() operation, stored in qva_flags.
int build(rpmts ts, BTA_t ba, const char *rcfile)
rpmQueryFlags rpmcliQueryFlags
Bit(s) from common command line options.
struct poptOption rpmcliDepFlagsPoptTable[]
struct poptOption rpmDatabasePoptTable[]
#define VSF_SET(_vsflags, _FLAG)
const char bson_timestamp_t * ts
int rpmErase(rpmts ts, QVA_t ia, const char **argv)
Erase binary rpm package.
int rpmcliVerify(rpmts ts, QVA_t qva, const char **argv)
Verify package install.
int rpmcliQuery(rpmts ts, QVA_t qva, const char **argv)
Display package information.
char * xstrdup(const char *str)
int rpmCheckPassPhrase(const char *passPhrase)
Check for valid pass phrase by invoking a helper.
int rpmReadConfigFiles(const char *file, const char *target)
Read macro configuration file(s) for a target.
void rpmluaSetPrintBuffer(rpmlua _lua, int flag)
struct poptOption rpmcliAllPoptTable[]
Popt option table for options shared by all modes and executables.
static struct poptOption optionsTable[]
urltype urlIsURL(const char *url)
Return type of URL.
int main(int argc, const char **argv, char **envp)
#define PFF_SET(_pfflags, _FLAG)
struct poptOption rpmioFtsPoptTable[]
Popt option table for options to set Fts(3) options.
int Stat(const char *path, struct stat *st)
stat(2) clone.
static rpmVSFlags vsflags
Structure(s) and routine(s) used for classifying and parsing names.
Access mounted file system information.
struct poptOption rpmQueryPoptTable[]
Query mode options.
struct rpmBuildArguments_s rpmBTArgs
rpmiob rpmiobFree(rpmiob iob)
Destroy a I/O buffer instance.
int rpmcliInstallRun(rpmts ts, rpmps okProbs, rpmprobFilterFlags ignoreSet)
Install/erase package elements in a transaction set, reporting problems.
static void rpmlog(int code, const char *fmt,...)
#define QVA_ISSET(_qvaflags, _FLAG)
poptContext rpmcliInit(int argc, char *const argv[], struct poptOption *optionsTable)
Initialize most everything needed by an rpm CLI executable context.
struct rpmQVKArguments_s rpmIArgs
Command line option information.
const char * rpmioPipeOutput
int rpmiobSlurp(const char *fn, rpmiob *iobp)
#define VSF_CLR(_vsflags, _FLAG)
rpmuint32_t rpmlibVendor(void)
rpmRC rpmnsProbeSignature(void *_ts, const char *fn, const char *sigfn, const char *pubfn, const char *pubid, int flags)
Verify OpenPGP signature on a file.
Structures and prototypes used for an "rpmps" problem set.
int rpmcliInstallOrder(rpmts ts)
Order package elements in a transaction set, reporting problems.
enum rpmdepFlags_e rpmdepFlags
Bit(s) to control rpmtsCheck() and rpmtsOrder() operation.
const char * rpmioRootDir
#define QVA_SET(_qvaflags, _FLAG)
int rpmDefineMacro(MacroContext mc, const char *macro, int level)
Define macro in context.
int rpmfiAddRelocation(rpmRelocation *relp, int *nrelp, const char *oldPath, const char *newPath)
Add relocation element to array.
static void argerror(const char *desc)
int rpmtsRebuildDB(rpmts ts)
Rebuild the database used by the transaction.
struct poptOption rpmInstallPoptTable[]
int rpmcliInstall(rpmts ts, QVA_t ia, const char **argv)
Install/upgrade/freshen binary rpm package.
int rpmRollback(rpmts ts, QVA_t ia, const char **argv)
Rollback transactions, erasing new, reinstalling old, package(s).
Generate and verify rpm package signatures.
const char * qva_queryFormat
int rpmInstallSource(rpmts ts, const char *arg, const char **specFilePtr, const char **cookie)
Install source rpm package.
void * rpmluaFree(rpmlua lua)
pgpVSFlags rpmVSFlags
Bit(s) to control digest and signature verification.
char * rpmExpand(const char *arg,...)
Return (malloc'ed) concatenated macro expansion(s).
void rpmtsSetRootDir(rpmts ts, const char *rootDir)
Set transaction rootDir, i.e.
rpmRelocation rpmfiFreeRelocations(rpmRelocation relocs)
Free relocation array.
rpmInstallInterfaceFlags installInterfaceFlags
rpmuint32_t rpmlibVersion(void)
const char const bson int mongo_write_concern int flags
int rpmcliInstallCheck(rpmts ts)
Check package element dependencies in a transaction set, reporting problems.
rpmprobFilterFlags probFilter
enum rpmVerifyFlags_e rpmVerifyFlags
Bit(s) to control rpmVerify() operation, stored in qva_flags.
rpmuint32_t rpmlibTimestamp(void)
struct poptOption rpmSignPoptTable[]
Signature mode options.
char * rpmiobStr(rpmiob iob)
Return I/O buffer (as string).
#define IIF_SET(_iflags, _FLAG)
This is the only module users of librpmbuild should need to include.
struct poptOption rpmBuildPoptTable[]
rpmts rpmtsFree(rpmts ts)
Destroy transaction set, closing the database as well.
int rpmspecQuery(rpmts ts, QVA_t qva, const char *arg)
Function to query spec file(s).
rpmts rpmtsCreate(void)
Create an empty transaction set.
rpmVSFlags rpmtsSetVSFlags(rpmts ts, rpmVSFlags vsflags)
Set verify signatures flag(s).
void rpmcliConfigured(void)
Make sure that rpm configuration has been read.
struct rpmts_s * rpmts
The RPM Transaction Set.
static void * _free(const void *p)
Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.
Structures and prototypes used for an "rpmts" transaction set.
void rpmluaextActivate(rpmlua lua)
Add RPM library based Lua extension.
struct rpmQVKArguments_s rpmQVKArgs
int rpmcliSign(rpmts ts, QVA_t qva, const char **argv)
Create/Modify/Check elements from signature header.
void freeNames(void)
Destroy uid/gid caches.
#define TSF_SET(_tsflags, _FLAG)
struct poptOption rpmVerifyPoptTable[]
Verify mode options.
int rpmtsOpenDB(rpmts ts, int dbmode)
Open the database used by the transaction.
struct rpmQVKArguments_s rpmDBArgs
Access RPM indices using Berkeley DB interface(s).
static void printVersion(FILE *fp)
Display rpm version.
Describe build command line request.
int rpmExpandNumeric(const char *arg)
Return macro expansion as a numeric value.
poptContext rpmcliFini(poptContext optCon)
Destroy most everything needed by an rpm CLI executable context.
rpmioPool rpmioFreePool(rpmioPool pool)
Reclaim memory pool items.
#define rpmIncreaseVerbosity()
int(* rbRun)(rpmts ts, rpmps okProbs, rpmprobFilterFlags ignoreSet)
char *(* Getpass)(const char *prompt)
Return a password.