10 #if defined(WITH_BEECRYPT)
13 #if defined(WITH_CDSA)
16 #if defined(WITH_GCRYPT)
25 #if defined(WITH_TOMCRYPT)
68 #if !defined(POPT_ARGFLAG_TOGGLE)
69 #define POPT_ARGFLAG_TOGGLE 0
71 #define POPT_SHOWVERSION -999
72 #define POPT_UNDEFINE -994
73 #define POPT_CRYPTO -993
154 N_(
"MD2 digest (RFC-1319)"), NULL },
156 N_(
"MD4 digest"), NULL },
158 N_(
"MD5 digest (RFC-1321)"), NULL },
160 N_(
"SHA-1 digest (FIPS-180-1)"), NULL },
162 N_(
"SHA-224 digest (FIPS-180-2)"), NULL },
164 N_(
"SHA-256 digest (FIPS-180-2)"), NULL },
166 N_(
"SHA-384 digest (FIPS-180-2)"), NULL },
168 N_(
"SHA-512 digest (FIPS-180-2)"), NULL },
170 N_(
"SKEIN-224 digest"), NULL },
172 N_(
"SKEIN-256 digest"), NULL },
174 N_(
"SKEIN-384 digest"), NULL },
176 N_(
"SKEIN-512 digest"), NULL },
178 N_(
"SKEIN-1024 digest"), NULL },
180 N_(
"Arirang-224 digest"), NULL },
182 N_(
"Arirang-256 digest"), NULL },
184 N_(
"Arirang-384 digest"), NULL },
186 N_(
"Arirang-512 digest"), NULL },
188 N_(
"Blake-224 digest"), NULL },
190 N_(
"Blake-256 digest"), NULL },
192 N_(
"Blake-384 digest"), NULL },
194 N_(
"Blake-512 digest"), NULL },
196 N_(
"Blake2b digest"), NULL },
198 N_(
"Blake2bp digest"), NULL },
200 N_(
"Blake2s digest"), NULL },
202 N_(
"Blake2sp digest"), NULL },
204 N_(
"BlueMidnightWish-224 digest"), NULL },
206 N_(
"BlueMidnightWish-256 digest"), NULL },
208 N_(
"BlueMidnightWish-384 digest"), NULL },
210 N_(
"BlueMidnightWish-512 digest"), NULL },
212 N_(
"Chi-224 digest"), NULL },
214 N_(
"Chi-256 digest"), NULL },
216 N_(
"Chi-384 digest"), NULL },
218 N_(
"Chi-512 digest"), NULL },
220 N_(
"CubeHash-224 digest"), NULL },
222 N_(
"CubeHash-256 digest"), NULL },
224 N_(
"CubeHash-384 digest"), NULL },
226 N_(
"CubeHash-512 digest"), NULL },
228 N_(
"Echo-224 digest"), NULL },
230 N_(
"Echo-256 digest"), NULL },
232 N_(
"Echo-384 digest"), NULL },
234 N_(
"Echo-512 digest"), NULL },
236 N_(
"EdonR-224 digest"), NULL },
238 N_(
"EdonR-256 digest"), NULL },
240 N_(
"EdonR-384 digest"), NULL },
242 N_(
"EdonR-512 digest"), NULL },
244 N_(
"Fugue-224 digest"), NULL },
246 N_(
"Fugue-256 digest"), NULL },
248 N_(
"Fugue-384 digest"), NULL },
250 N_(
"Fugue-512 digest"), NULL },
252 N_(
"Groestl-224 digest"), NULL },
254 N_(
"Groestl-256 digest"), NULL },
256 N_(
"Groestl-384 digest"), NULL },
258 N_(
"Groestl-512 digest"), NULL },
260 N_(
"Hamsi-224 digest"), NULL },
262 N_(
"Hamsi-256 digest"), NULL },
264 N_(
"Hamsi-384 digest"), NULL },
266 N_(
"Hamsi-512 digest"), NULL },
268 N_(
"JH-224 digest"), NULL },
270 N_(
"JH-256 digest"), NULL },
272 N_(
"JH-384 digest"), NULL },
274 N_(
"JH-512 digest"), NULL },
276 N_(
"Keccak-224 digest"), NULL },
278 N_(
"Keccak-256 digest"), NULL },
280 N_(
"Keccak-384 digest"), NULL },
282 N_(
"Keccak-512 digest"), NULL },
284 N_(
"Lane-224 digest"), NULL },
286 N_(
"Lane-256 digest"), NULL },
288 N_(
"Lane-384 digest"), NULL },
290 N_(
"Lane-512 digest"), NULL },
292 N_(
"Luffa-224 digest"), NULL },
294 N_(
"Luffa-256 digest"), NULL },
296 N_(
"Luffa-384 digest"), NULL },
298 N_(
"Luffa-512 digest"), NULL },
300 N_(
"MD6-224 digest"), NULL },
302 N_(
"MD6-256 digest"), NULL },
304 N_(
"MD6-384 digest"), NULL },
306 N_(
"MD6-512digest"), NULL },
308 N_(
"RadioGatun32-256 digest"), NULL },
310 N_(
"RadioGatun64-256 digest"), NULL },
312 N_(
"Shabal-224 digest"), NULL },
314 N_(
"Shabal-256 digest"), NULL },
316 N_(
"Shabal-384 digest"), NULL },
318 N_(
"Shabal-512 digest"), NULL },
320 N_(
"SHAvite3-224 digest"), NULL },
322 N_(
"SHAvite3-256 digest"), NULL },
324 N_(
"SHAvite3-384 digest"), NULL },
326 N_(
"SHAvite3-512 digest"), NULL },
328 N_(
"SIMD-224 digest"), NULL },
330 N_(
"SIMD-256 digest"), NULL },
332 N_(
"SIMD-384 digest"), NULL },
334 N_(
"SIMD-512 digest"), NULL },
336 N_(
"TIB3-224 digest"), NULL },
338 N_(
"TIB3-256 digest"), NULL },
340 N_(
"TIB3-384 digest"), NULL },
342 N_(
"TIB3-512 digest"), NULL },
344 N_(
"SALSA-10 hash"), NULL },
346 N_(
"SALSA-20 hash"), NULL },
348 N_(
"RIPEMD-128 digest"), NULL },
350 N_(
"RIPEMD-160 digest"), NULL },
352 N_(
"RIPEMD-256 digest"), NULL },
354 N_(
"RIPEMD-320 digest"), NULL },
356 N_(
"TIGER digest"), NULL },
358 N_(
"CRC-32 checksum"), NULL },
360 N_(
"CRC-64 checksum"), NULL },
362 N_(
"ADLER-32 checksum"), NULL },
364 N_(
"Lookup3 hash"), NULL },
366 N_(
"No hash algorithm"), NULL },
368 N_(
"All hash algorithm(s)"), NULL },
379 fprintf(fp,
_(
"%s (" RPM_NAME ") %s\n"), __progname, rpmioEVR);
387 if (rpmioInitialized < 0) {
389 rpmioInitialized = 0;
391 if (rpmioInitialized)
398 enum poptCallbackReason reason,
399 const struct poptOption * opt,
const char *
arg,
410 if (opt->arg == NULL)
424 if (*t ==
'-') *t =
'_';
442 if (*t ==
'-') *t =
'_';
456 {
const char *val =
rpmExpand(arg, NULL);
458 val_len = strlen(val);
459 if (val[val_len - 1] ==
'\n')
460 fwrite(val, val_len, 1, stdout);
462 fprintf(stdout,
"%s\n", val);
476 #if defined(WITH_BEECRYPT)
479 rpmlog(
RPMLOG_ERR,
"BeeCrypt (\"beecrypt\") based cryptography implementation not available\n");
484 #if defined(WITH_GCRYPT)
487 rpmlog(
RPMLOG_ERR,
"GCrypt (\"gcrypt\") based cryptography implementation not available\n");
492 #if defined(WITH_TOMCRYPT)
495 rpmlog(
RPMLOG_ERR,
"TomCrypt (\"tomcrypt\") based cryptography implementation not available\n");
500 #if defined(WITH_NSS)
503 rpmlog(
RPMLOG_ERR,
"Mozilla NSS (\"nss\") based cryptography implementation not available\n");
508 #if defined(WITH_SSL)
511 rpmlog(
RPMLOG_ERR,
"OpenSSL (\"openssl\") based cryptography implementation not available\n");
516 #if defined(WITH_CDSA)
519 rpmlog(
RPMLOG_ERR,
"CDSA (\"cdsa\") based cryptography implementation not available\n");
544 N_(
"FTS_COMFOLLOW: follow command line symlinks"), NULL },
546 N_(
"FTS_LOGICAL: logical walk"), NULL },
548 N_(
"FTS_NOCHDIR: don't change directories"), NULL },
550 N_(
"FTS_NOSTAT: don't get stat info"), NULL },
552 N_(
"FTS_PHYSICAL: physical walk"), NULL },
554 N_(
"FTS_SEEDOT: return dot and dot-dot"), NULL },
556 N_(
"FTS_XDEV: don't cross devices"), NULL },
558 N_(
"FTS_WHITEOUT: return whiteout information"), NULL },
566 { NULL,
'\0', POPT_ARG_CALLBACK | POPT_CBFLAG_INC_DATA | POPT_CBFLAG_CONTINUE,
570 {
"debug",
'd', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
__debug, -1,
571 N_(
"Debug generic operations"), NULL },
574 {
"define",
'D', POPT_ARG_STRING, NULL, (int)
'D',
575 N_(
"Define MACRO with value EXPR"),
576 N_(
"'MACRO EXPR'") },
578 N_(
"Undefine MACRO"),
580 {
"eval",
'E', POPT_ARG_STRING, NULL, (int)
'E',
581 N_(
"Print macro expansion of EXPR"),
585 N_(
"Read <FILE:...> instead of default file(s)"),
588 {
"rpmlua",
'\0', POPT_ARG_STRING, &
rpmluaFiles, 0,
589 N_(
"Read <FILE:...> instead of default RPM Lua file(s)"),
592 {
"rpmpopt",
'\0', POPT_ARG_STRING, NULL, 0,
593 N_(
"Read <FILE:...> instead of default POPT file(s)"),
597 {
"pipe",
'\0', POPT_ARG_STRING|POPT_ARGFLAG_DOC_HIDDEN, &
rpmioPipeOutput, 0,
598 N_(
"Send stdout to CMD"),
600 {
"root",
'r', POPT_ARG_STRING|POPT_ARGFLAG_SHOW_DEFAULT, &
rpmioRootDir, 0,
601 N_(
"Use ROOT as top level directory"),
604 {
"quiet",
'\0', 0, NULL, (int)
'q',
605 N_(
"Provide less detailed output"), NULL},
606 {
"verbose",
'v', 0, NULL, (int)
'v',
607 N_(
"Provide more detailed output"), NULL},
609 N_(
"Print the version"), NULL },
611 #if defined(HAVE_LIBIO_H) && defined(_G_IO_IO_FILE_VERSION)
613 N_(
"Disable use of libio(3) API"), NULL},
616 {
"usecrypto",
'\0', POPT_ARG_STRING|POPT_ARGFLAG_DOC_HIDDEN, NULL,
POPT_CRYPTO,
617 N_(
"Select cryptography implementation"),
620 {
"ardebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_ar_debug, -1,
621 N_(
"Debug ar archives"), NULL},
622 {
"avdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_av_debug, -1,
623 N_(
"Debug argv collections"), NULL},
624 {
"cpiodebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_cpio_debug, -1,
625 N_(
"Debug cpio archives"), NULL},
626 {
"ctxdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_ctx_debug, -1,
627 N_(
"Debug digest contexts"), NULL},
628 {
"davdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_dav_debug, -1,
629 N_(
"Debug WebDAV data stream"), NULL},
630 {
"ftpdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_ftp_debug, -1,
631 N_(
"Debug FTP/HTTP data stream"), NULL},
632 {
"ftsdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_fts_debug, -1,
633 N_(
"Debug Fts(3) traverse"), NULL},
634 {
"htdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_ht_debug, -1,
635 N_(
"Debug hash tables"), NULL},
636 {
"htmldebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_html_debug, -1,
637 N_(
"Debug HTML parsing"), NULL},
638 {
"iosmdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_iosm_debug, -1,
639 N_(
"Debug I/O state machine"), NULL},
640 {
"miredebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_mire_debug, -1,
641 N_(
"Debug miRE patterns"), NULL},
642 {
"pgpdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_pgp_debug, -1,
643 N_(
"Debug PGP usage"), NULL},
644 {
"pgpprint",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_pgp_print, -1,
645 N_(
"Print PGP keys"), NULL},
646 {
"rpmiodebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmio_debug, -1,
647 N_(
"Debug rpmio I/O"), NULL},
648 {
"rpmiobdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmiob_debug, -1,
649 N_(
"Debug rpmio I/O buffers"), NULL},
651 {
"rpmasndebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmasn_debug, -1,
652 N_(
"Debug embedded ASN.1 interpreter"), NULL},
653 {
"rpmbagdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmbag_debug, -1,
654 N_(
"Debug depsolver wrappers "), NULL},
655 {
"rpmcvsdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmcvs_debug, -1,
656 N_(
"Debug CVS wrappers "), NULL},
657 {
"rpmgitdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmgit_debug, -1,
658 N_(
"Debug GIT wrappers "), NULL},
659 {
"rpmsetdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmset_debug, -1,
660 N_(
"Debug SET-VERSION wrappers "), NULL},
661 {
"rpmsvndebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmsvn_debug, -1,
662 N_(
"Debug Subversion wrappers "), NULL},
663 {
"rpmtpmdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmtpm_debug, -1,
664 N_(
"Debug TPM emulator"), NULL},
666 {
"rpmaugdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmaug_debug, -1,
667 N_(
"Debug embedded Augeas interpreter"), NULL},
668 {
"rpmbfdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmbf_debug, -1,
669 N_(
"Debug Bloom filters"), NULL},
670 {
"rpmcudfdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmcudf_debug, -1,
671 N_(
"Debug embedded CUDF parser"), NULL},
672 {
"rpmficldebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmficl_debug, -1,
673 N_(
"Debug embedded FICL interpreter"), NULL},
674 {
"rpmhkpdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmhkp_debug, -1,
675 N_(
"Debug hkp:// keyring"), NULL},
676 {
"rpmjsdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmjs_debug, -1,
677 N_(
"Debug embedded JavaScript interpreter"), NULL},
679 {
"rpmluadebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmlua_debug, -1,
680 N_(
"Debug embedded Lua interpreter"), NULL},
682 {
"rpmmgdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmmg_debug, -1,
683 N_(
"Debug rpmmg magic"), NULL},
684 {
"rpmmrbdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_rpmmrb_debug, -1,
685 N_(
"Debug embedded MRuby interpreter"), NULL},
686 {
"mongodebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmmgo_debug, -1,
687 N_(
"Debug Mongo DB connection"), NULL},
688 {
"nixdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_rpmnix_debug, -1,
689 N_(
"Debug embedded Nix interpreter"), NULL},
690 {
"odbcdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_odbc_debug, -1,
691 N_(
"Debug embedded ODBC interface"), NULL},
692 {
"rpmperldebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmperl_debug, -1,
693 N_(
"Debug embedded Perl interpreter"), NULL},
694 {
"rpmpythondebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmpython_debug, -1,
695 N_(
"Debug embedded Python interpreter"), NULL},
696 {
"rpmrubydebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmruby_debug, -1,
697 N_(
"Debug embedded Ruby interpreter"), NULL},
698 {
"rpmsqdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmsq_debug, -1,
699 N_(
"Debug rpmsq Signal Queue"), NULL},
700 {
"rpmsqldebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmsql_debug, -1,
701 N_(
"Debug embedded SQL interpreter"), NULL},
702 {
"rpmsquirreldebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmsquirrel_debug, -1,
703 N_(
"Debug embedded SQUIRREL interpreter"), NULL},
704 {
"rpmsmdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmsm_debug, 1,
705 N_(
"Debug semanage"), NULL},
706 {
"rpmspdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmsp_debug, 1,
707 N_(
"Debug sepol"), NULL},
708 {
"rpmsxdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmsx_debug, 1,
709 N_(
"Debug selinux"), NULL},
710 {
"rpmtcldebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmtcl_debug, -1,
711 N_(
"Debug embedded TCL interpreter"), NULL},
712 {
"rpmvcdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmvc_debug, -1,
713 N_(
"Debug embedded SQL virtual cursor"), NULL},
714 {
"rpmvtdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmvt_debug, -1,
715 N_(
"Debug embedded SQL virtual table"), NULL},
717 {
"rpmzqdebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_rpmzq_debug, -1,
718 N_(
"Debug rpmzq Job Queuing"), NULL},
720 {
"xardebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_xar_debug, -1,
721 N_(
"Debug xar archives"), NULL},
722 {
"tardebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_tar_debug, -1,
723 N_(
"Debug tar archives"), NULL},
725 N_(
"Display operation statistics"), NULL},
726 {
"urldebug",
'\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &
_url_debug, -1,
727 N_(
"Debug URL cache handling"), NULL},
743 optCon = poptFreeContext(optCon);
745 #if defined(HAVE_MCHECK_H) && defined(HAVE_MTRACE)
760 if (fstat(fdno, &sb) == -1 &&
errno == EBADF)
761 ret = (open(devnull, flags) == fdno) ? 1 : 2;
775 #if defined(HAVE_MCHECK_H) && defined(HAVE_MTRACE)
784 if (__progname == NULL) {
785 if ((__progname = strrchr(argv[0],
'/')) != NULL) __progname++;
786 else __progname = argv[0];
791 {
static const char _devnull[] =
"/dev/null";
792 #if defined(STDIN_FILENO)
793 (void)
checkfd(_devnull, STDIN_FILENO, O_RDONLY);
795 #if defined(STDOUT_FILENO)
796 (void)
checkfd(_devnull, STDOUT_FILENO, O_WRONLY);
798 #if defined(STDERR_FILENO)
799 (void)
checkfd(_devnull, STDERR_FILENO, O_WRONLY);
803 #if defined(ENABLE_NLS) && !defined(__LCLINT__)
811 if (optionsTable == NULL) {
819 for (i = 1; i < argc; i++) {
820 if (strcmp(argv[i],
"--rpmpopt") == 0 && i+1 < argc) {
821 rpmpoptfiles = argv[i+1];
824 else if (strncmp(argv[i],
"--rpmpopt=", 10) == 0) {
825 rpmpoptfiles = argv[
i]+10;
832 optCon = poptGetContext(__progname, argc, (
const char **)argv, optionsTable, _rpmio_popt_context_flags);
836 #if defined(RPM_VENDOR_OPENPKG) || \
837 !defined(POPT_ERROR_BADCONFIG)
838 {
char * path_buf =
xstrdup(rpmpoptfiles);
842 for (path = path_buf; path != NULL && *path !=
'\0'; path = path_next) {
847 path_next = strchr(path,
':');
848 if (path_next != NULL && *path_next ==
':')
851 path_next = path + strlen(path);
856 if ((i =
rpmGlob(path, &ac, &av)) != 0)
860 for (i = 0; i < ac; i++) {
861 const char *fn = av[
i];
865 rpmlog(
RPMLOG_WARNING,
"existing POPT configuration file \"%s\" considered INSECURE -- not loaded\n", fn);
869 (void)poptReadConfigFile(optCon, fn);
874 path_buf =
_free(path_buf);
878 if ((xx = poptReadConfigFiles(optCon, rpmpoptfiles)) != 0)
879 rpmlog(
RPMLOG_WARNING,
"existing POPT configuration file \"%s\" considered INSECURE -- not loaded\n", rpmpoptfiles);
884 (void) poptReadDefaultConfig(optCon, 1);
890 while ((rc = poptGetNextOpt(optCon)) > 0) {
891 const char * optArg = poptGetOptArg(optCon);
893 optArg =
_free(optArg);
898 fprintf(stderr,
_(
"%s: option table misconfigured (%d)\n"),
909 fprintf(stderr,
"%s: %s: %s\n", __progname,
910 poptBadOption(optCon, POPT_BADOPTION_NOALIAS),
943 while ((c = *p++) !=
'\0') {
949 if (--lvl <= 0)
return --p;
968 static char whitespace[] =
" \t\n\r";
976 if ((P = *Pptr) == NULL)
985 if ((b = P->
next) != NULL)
986 while (*b && strchr(whitespace, *b))
988 if (b == NULL || *b ==
'\0')
994 if ((be = b) != NULL)
1019 if ((be =
matchchar(be,
'[',
']')) == NULL) {
1027 if ((be = strchr(be,
'"')) == NULL) {
1045 while (*b && (*b ==
' ' || *b ==
'\t'))
void rpmFreeMacros(MacroContext mc)
Destroy macro context.
pgpImplVecs_t * pgpImplVecs
poptContext rpmioInit(int argc, char *const argv[], struct poptOption *optionsTable)
Initialize most everything needed by an rpmio executable context.
struct pgpImplVecs_s rpmbcImplVecs
struct poptOption rpmioDigestPoptTable[]
Digest options using popt.
void rpmioClean(void)
Free all memory allocated by rpmio usage.
static int checkfd(const char *devnull, int fdno, int flags)
char * xstrdup(const char *str)
MacroContext rpmCLIMacroContext
enum pgpHashAlgo_e pgpHashAlgo
9.4.
static struct poptOption optionsTable[]
pgpImplVecs_t rpmltcImplVecs
Implementation specific parameter storage.
struct poptOption rpmioFtsPoptTable[]
Popt option table for options to set Fts(3) options.
static void rpmlog(int code, const char *fmt,...)
pgpImplVecs_t rpmnssImplVecs
pgpHashAlgo rpmioDigestHashAlgo
#define bindtextdomain(Domain, Directory)
const char * rpmioPipeOutput
int rpmGlob(const char *patterns, int *argcPtr, const char ***argvPtr)
Return URL path(s) from a (URL prefixed) pattern glob.
void * xcalloc(size_t nmemb, size_t size)
int _rpmruby_debug
Triggers printing of debugging information.
const char const bson * data
#define POPT_ARGFLAG_TOGGLE
static int xisspace(int c)
const char * rpmioRootDir
ARGV_t argvFree(ARGV_t argv)
Destroy an argv array.
#define setlocale(Category, Locale)
static void printVersion(FILE *fp)
Display rpm version.
int rpmDefineMacro(MacroContext mc, const char *macro, int level)
Define macro in context.
rpmioP rpmioPFree(rpmioP P)
Destroy a rpmioP object.
static void rpmioAllArgCallback(poptContext con, enum poptCallbackReason reason, const struct poptOption *opt, const char *arg, const void *data)
const char * rpmMacrofiles
List of macro files to read when configuring rpm.
pgpImplVecs_t rpmsslImplVecs
Implementation specific parameter storage.
int argvAdd(ARGV_t *argvp, ARGstr_t val)
Add a string to an argv array.
int xstrcasecmp(const char *s1, const char *s2)
Locale insensitive strcasecmp(3).
char * rpmExpand(const char *arg,...)
Return (malloc'ed) concatenated macro expansion(s).
Embedded Ruby interpreter.
#define rpmSetVerbosity(_lvl)
const char const char int arg
const char const bson int mongo_write_concern int flags
void rpmioConfigured(void)
Make sure that rpm configuration has been read.
int _rpmio_popt_context_flags
enum rpmRC_e rpmRC
RPM return codes.
static void * _free(const void *p)
Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.
pgpImplVecs_t rpmgcImplVecs
Implementation specific parameter storage.
int rpmSecuritySaneFile(const char *filename)
Check whether configuration file is moderately secure to load.
static const char * rpmpoptfiles
#define textdomain(Domain)
struct poptOption rpmioAllPoptTable[]
Popt option table for options shared by all modes and executables.
static int rpmioInitialized
poptContext rpmioFini(poptContext optCon)
Destroy most everything needed by an rpm CLI executable context.
int rpmUndefineMacro(MacroContext mc, const char *macro)
Undefine macro in context.
#define rpmIncreaseVerbosity()
static char * matchchar(char *p, char pl, char pr)
Return text between pl and matching pr characters.
rpmRC rpmioParse(rpmioP *Pptr, const char *str)
Parse next command out of a string incrementally.