.\" Generated by scdoc 1.11.4 .\" Complete documentation for this program is not available as a GNU info page .ie \n(.g .ds Aq \(aq .el .ds Aq ' .nh .ad l .\" Begin generated content: .TH "RPM-CONFIG" "5" "2026-01-08" "RPM 6.0.1" .PP .SH NAME \fBrpm-config\fR - rpm runtime macro configuration .PP .SH SYNOPSIS \fINAME\fR \fIVALUE\fR .PP .SH FILES \fI/usr/lib/rpm/macros\fR .br \fI/usr/lib/rpm/macros.\&d/macros.\&*\fR .br \fI/usr/lib/rpm/platform/%{_target}/macros\fR .br \fI/usr/lib/rpm/fileattrs/*.\&attr\fR .br \fI/usr/lib/rpm//macros\fR .br \fI/etc/rpm/macros.\&*\fR .br \fI/etc/rpm/macros\fR .br \fI/etc/rpm/%{_target}/macros\fR .br \fI\(ti/.\&config/rpm/macros\fR .PP .SH DESCRIPTION The primary configuration mechanism in \fBrpm\fR is \fBrpm-macros\fR(7).\& On startup, \fBrpm\fR reads a set of \fBrpm-macrofile\fR(5) files determined by the \fImacro path\fR.\& .PP Each file or \fBglob\fR(7) pattern in the colon-separated \fImacro path\fR is read sequentially by \fBrpm\fR for macro definitions.\& \fB%{_target}\fR is expanded to the detected - platform.\& Tildes are expanded to the value of the environment variable \fBHOME\fR.\& .PP If a macro is defined multiple times, the last entry wins.\& The default \fImacro path\fR uses this to achieve the following hierarchy of settings: .PD 0 .IP 1. 4 Generic \fBrpm\fR factory defaults .IP 2. 4 Platform-specific \fBrpm\fR factory defaults .IP 3. 4 Vendor (distribution) specific settings .IP 4. 4 Host specific settings .IP 5. 4 User specific settings .IP 6. 4 Command-line override settings .PD .PP The default \fImacro path\fR can be inspected with \fBrpm --showrc|grep \(haMacro\fR.\& .PP In older versions of rpm, the path of per-user macros was \fI\(ti/.\&rpmmacros\fR.\& This is still processed if it exists and the new configuration directory does not exist.\& .PP .SH CONFIGURATION The following configurables are supported for the \fBrpm\fR runtime (as opposed to just package building) parts: .PP \fB%_color_output\fR \fIMODE\fR .RS 4 Output coloring mode.\& Valid values are \fBnever\fR and \fBauto\fR.\& .PP .RE \fB%_db_backend\fR \fIBACKEND\fR .RS 4 The database backend to use.\& Possible values for \fIBACKEND\fR are: .PD 0 .IP \(bu 4 \fBdummy\fR: Dummy backend (no actual functionality) .IP \(bu 4 \fBbdb_ro\fR: Berkeley DB (read-only) .IP \(bu 4 \fBndb\fR: Native database (no external dependencies) .IP \(bu 4 \fBsqlite\fR: Sqlite database .PD .PP .RE \fB%_dbpath\fR \fIDIRECTORY\fR .RS 4 The location of the rpm database file(s).\& .PP .RE \fB%_excludedocs\fR \fIVALUE\fR .RS 4 Boolean (i.\&e.\& 1 == "yes", 0 == "no") that controls whether files marked as %doc should be installed.\& .PP .RE \fB%_flush_io\fR \fIVALUE\fR .RS 4 Flush file IO during transactions (at a severe cost in performance for rotational disks).\& Possible values are 1 to enable, 0 to disable.\& .PP .RE \fB%_group_path\fR \fIPATH\fR .RS 4 Location of group(5) files as : separated list .PP .RE \fB%_httpport\fR \fIPORT\fR .RS 4 The port of HTTP proxy (used for FTP/HTTP).\& .PP .RE \fB%_httpproxy\fR \fIHOSTNAME\fR .RS 4 The hostname of HTTP proxy (used for FTP/HTTP).\& .PP .RE \fB%_install_langs\fR \fILOCALES\fR .RS 4 A colon separated list of desired locales to be installed; \fBall\fR means install all locale specific files.\& .PP .RE \fB%_install_script_path\fR \fIPATH\fR .RS 4 The PATH put into the environment before running %pre/%post et al.\& .PP .RE \fB%_keyring\fR \fIBACKEND\fR .RS 4 The keyring type to use.\& Possible values for \fIBACKEND\fR are: .PD 0 .IP \(bu 4 \fBfs\fR: Plain ASCII files in a directory .IP \(bu 4 \fBopenpgp\fR: Shared OpenPGP certificate directory .IP \(bu 4 \fBrpmdb\fR: Pseudo-packages in the rpmdb .PD .PP .RE \fB%_keyringpath\fR \fIDIRECTORY\fR .RS 4 The location of the keyring path for non-rpmdb variants.\& .PP .RE \fB%_minimize_writes\fR \fIVALUE\fR .RS 4 Minimize writes during transactions (at the cost of more reads) to conserve eg SSD disks (EXPERIMENTAL).\& Possible values are: .PD 0 .IP \(bu 4 \fB0\fR: disable .IP \(bu 4 \fB1\fR: enable .IP \(bu 4 \fB-1\fR: (or undefined) autodetect on platforms where supported, otherwise default to disabled .PD .PP .RE \fB%_netsharedpath\fR \fIPATH\fR .RS 4 A colon separated list of paths where files should \fBnot\fR be installed.\& Usually, these are network filesystem mount points.\& .PP .RE \fB%_passwd_path\fR \fIPATH\fR .RS 4 Location of passwd(5) files as : separated list .PP .RE \fB%_pkgverify_digests\fR \fIHASHALGOS\fR .RS 4 A colon separated list of hash algorithms to calculate digests on the entire package files during verification.\& The calculated digests are stored in the \fBPackagedigests\fR tag of packages in the rpmdb, and the corresponding algorithms in the \fBPackagedigestalgos\fR tag.\& No package digests are calculated or stored if \fB--noverify\fR is used during package installation.\& .PP .RE \fB%_pkgverify_flags\fR \fIVSFLAGS\fR .RS 4 Transaction package verification flags, used for fine-grained control of \fB%_pkgverify_level\fR operation.\& Set to 0x0 for full compatibility with v4 packages.\& .PP .RE \fB%_pkgverify_level\fR \fIMODE\fR .RS 4 Enforced package verification mode in transactions, where \fIMODE\fR is one of: .PD 0 .IP \(bu 4 \fBall\fR: require valid digest(s) and signature(s) .IP \(bu 4 \fBsignature\fR: require valid signature(s) .IP \(bu 4 \fBdigest\fR: require valid digest(s) .IP \(bu 4 \fBnone\fR: legacy rpm behavior, nothing required .PD .PP .RE \fB%_prefer_color\fR \fIVALUE\fR .RS 4 Package conflict resolution in bi-arch transactions.\& See also \fB%_transaction_color\fR.\& Possible values are: .PD 0 .IP \(bu 4 \fB0\fR: disabled .IP \(bu 4 \fB1\fR: prefer 32-bit packages .IP \(bu 4 \fB2\fR: prefer 64-bit packages .PD .PP .RE \fB%__plugindir\fR \fIDIRECTORY\fR .RS 4 Transaction plugin directory.\& .PP .RE \fB%_query_all_fmt\fR \fIFORMAT\fR .RS 4 Default output format for \fBrpm\fR(8) query operations, as described by \fBrpm-queryformat\fR(7).\& Percent signs need to be escaped, for example \fB%%{nevra}\fR.\& .PP .RE \fB%_rpmlock_path\fR \fIFILE\fR .RS 4 The path of the file used for transaction fcntl lock.\& .PP .RE \fB%_tmppath\fR \fIPATH\fR .RS 4 The directory where temporary files are created.\& .PP .RE \fB%__urlhelpercmd\fR \fIEXECUTABLE\fR .RS 4 The executable to use for retrieving remote files.\& .PP .RE \fB%__urlhelperopts\fR \fIOPTIONS\fR .RS 4 Generic options to pass to the \fB%__urlhelpercmd\fR command.\& .PP .RE \fB%__urlhelper_localopts\fR \fIOPTIONS\fR .RS 4 User/host specific options to pass to the \fB%__urlhelpercmd\fR command.\& .PP .RE \fB%__urlhelper_proxyopts\fR \fIOPTIONS\fR .RS 4 Proxy options to pass to the \fB%__urlhelpercmd\fR command.\& .PP .RE \fB%_urlhelper\fR \fICOMMAND\fR .RS 4 Full command (with options) to use when retrieving remote files.\& Normally pieced together from the double-underscore \fB%__urlhelper*\fR macros.\& .PP .RE \fB%_transaction_color\fR \fIVALUE\fR .RS 4 Package and file conflict behavior in bi-arch transactions.\& See also \fB%_prefer_color\fR.\& Possible values are: .PD 0 .IP \(bu 4 \fB0\fR: do not consider "colors", only use arch compatibility map .IP \(bu 4 \fB1\fR: only allow 32-bit packages .IP \(bu 4 \fB2\fR: only allow 64-bit packages .IP \(bu 4 \fB3\fR: allow 32- and 64-bit packages to share files .PD .PP .RE \fB%_vsflags_erase\fR \fIVSFLAGS\fR .RS 4 Transaction verification flags used when erasing or updating packages.\& .PP .RE \fB%_vsflags_install\fR \fIVSFLAGS\fR .RS 4 Transaction verification flags used when installing packages.\& .PP .RE \fB%_vsflags_query\fR \fIVSFLAGS\fR .RS 4 Transaction verification flags used when querying packages.\& .PP .RE \fB%_vsflags_rebuilddb\fR \fIVSFLAGS\fR .RS 4 Transaction verification flags used when rebuilding the database.\& .PP .RE \fB%_vsflags_verify\fR \fIVSFLAGS\fR .RS 4 Transaction verification flags used when verifying packages.\& .PP .RE .SS Verification flags Digest/signature verification flags for various rpm operations are controlled by a bitmask known as \fIVSFLAGS\fR.\& These flags control various aspects of digital checksum and signature verification when reading rpm package files and their headers.\& .PP \fIVSFLAGS\fR is formed by bitwise or'\&ing the individual flags: .PD 0 .IP \(bu 4 \fB0x00001\fR (RPMVSF_NOHDRCHK): don'\&t verify headers from rpmdb .IP \(bu 4 \fB0x00100\fR (RPMVSF_NOSHA1HEADER): don'\&t verify header SHA1 digest .IP \(bu 4 \fB0x00200\fR (RPMVSF_NOSHA256HEADER): don'\&t verify header SHA256 digest .IP \(bu 4 \fB0x00400\fR (RPMVSF_NODSAHEADER): don'\&t verify header DSA signature(s) .IP \(bu 4 \fB0x00800\fR (RPMVSF_NORSAHEADER): don'\&t verify header RSA signature(s) .IP \(bu 4 \fB0x01000\fR (RPMVSF_NOOPENPGP): don'\&t verify header OpenPGP signature(s) .IP \(bu 4 \fB0x02000\fR (RPMVSF_NOSHA3_256HEADER): don'\&t verify header SHA3_256 digest .IP \(bu 4 \fB0x04000\fR (RPMVSF_NOSHA512PAYLOAD): don'\&t verify package payload SHA512 digest .IP \(bu 4 \fB0x08000\fR (RPMVSF_NOSHA3_256PAYLOAD): don'\&t verify package payload SHA3_256 digest .IP \(bu 4 \fB0x10000\fR (RPMVSF_NOSHA256PAYLOAD): don'\&t verify package payload SHA256 digest .IP \(bu 4 \fB0x20000\fR (RPMVSF_NOMD5): don'\&t verify legacy header+payload MD5 digest .IP \(bu 4 \fB0x40000\fR (RPMVSF_NODSA): don'\&t verify legacy header+payload DSA signature .IP \(bu 4 \fB0x80000\fR (RPMVSF_NORSA): don'\&t verify legacy header+payload RSA signature .PD .PP RPM'\&s Python bindings can be helpful for working with these values, for example: .nf .RS 4 >>> import rpm >>> hex(rpm\&.RPMVSF_NOSHA1HEADER) \&'0x100\&' >>> hex(rpm\&.RPMVSF_NOSHA1HEADER|rpm\&.RPMVSF_NOMD5) \&'0x20100\&' >>> .fi .RE .PP .SS Hash algorithms The following hash algorithms (denoted by \fIHASHALGO\fR) are known to rpm, but availability can vary depending how rpm and it'\&s underlying libraries have been built: .PD 0 .IP \(bu 4 \fB1\fR: MD5 (obsolete) .IP \(bu 4 \fB2\fR: SHA1 (obsolete) .IP \(bu 4 \fB8\fR: SHA256 .IP \(bu 4 \fB9\fR: SHA384 .IP \(bu 4 \fB10\fR: SHA512 .IP \(bu 4 \fB12\fR: SHA3-256 .IP \(bu 4 \fB14\fR: SHA3-512 .PD .PP .SH ENVIRONMENT If \fBXDG_CONFIG_HOME\fR environment variable is set, it replaces \fI\(ti/.\&config\fR in the \fImacro path\fR.\& .PP .SH SEE ALSO \fBrpm\fR(8), \fBrpm-common\fR(8), \fBrpm-macrofile\fR(5), \fBrpm-rpmrc\fR(5), \fBrpm-macros\fR(7)