The following configurables are supported for the rpm
runtime (as opposed to just package building) parts:
%_color_output MODE
Output coloring mode. Valid values are never and
auto.
%_db_backend BACKEND
The database backend to use. Possible values for
BACKEND are:
- dummy: Dummy backend (no actual functionality)
- bdb_ro: Berkeley DB (read-only)
- ndb: Native database (no external dependencies)
- sqlite: Sqlite database
%_dbpath DIRECTORY
The location of the rpm database file(s).
%_excludedocs VALUE
Boolean (i.e. 1 == "yes", 0 == "no")
that controls whether files marked as %doc should be installed.
%_flush_io VALUE
Flush file IO during transactions (at a severe cost in
performance for rotational disks). Possible values are 1 to enable, 0 to
disable.
%_group_path PATH
Location of
group(5) files as : separated list
%_httpport PORT
The port of HTTP proxy (used for FTP/HTTP).
%_httpproxy HOSTNAME
The hostname of HTTP proxy (used for FTP/HTTP).
%_install_langs LOCALES
A colon separated list of desired locales to be
installed; all means install all locale specific files.
%_install_script_path PATH
The PATH put into the environment before running
%pre/%post et al.
%_keyring BACKEND
The keyring type to use. Possible values for
BACKEND are:
- fs: Plain ASCII files in a directory
- openpgp: Shared OpenPGP certificate directory
- rpmdb: Pseudo-packages in the rpmdb
%_keyringpath DIRECTORY
The location of the keyring path for non-rpmdb
variants.
%_minimize_writes VALUE
Minimize writes during transactions (at the cost of more
reads) to conserve eg SSD disks (EXPERIMENTAL). Possible values are:
- 0: disable
- 1: enable
- -1: (or undefined) autodetect on platforms where supported,
otherwise default to disabled
%_netsharedpath PATH
A colon separated list of paths where files should
not be installed. Usually, these are network filesystem mount
points.
%_passwd_path PATH
Location of
passwd(5) files as : separated list
%_pkgverify_digests HASHALGOS
A colon separated list of hash algorithms to calculate
digests on the entire package files during verification. The calculated
digests are stored in the Packagedigests tag of packages in the rpmdb,
and the corresponding algorithms in the Packagedigestalgos tag. No
package digests are calculated or stored if --noverify is used during
package installation.
%_pkgverify_flags VSFLAGS
Transaction package verification flags, used for
fine-grained control of %_pkgverify_level operation. Set to 0x0 for
full compatibility with v4 packages.
%_pkgverify_level MODE
Enforced package verification mode in transactions, where
MODE is one of:
- all: require valid digest(s) and signature(s)
- signature: require valid signature(s)
- digest: require valid digest(s)
- none: legacy rpm behavior, nothing required
%_prefer_color VALUE
Package conflict resolution in bi-arch transactions. See
also
%_transaction_color. Possible values are:
- 0: disabled
- 1: prefer 32-bit packages
- 2: prefer 64-bit packages
%__plugindir DIRECTORY
Transaction plugin directory.
%_query_all_fmt FORMAT
Default output format for
rpm(8) query operations,
as described by
rpm-queryformat(7). Percent signs need to be escaped,
for example
%%{nevra}.
%_rpmlock_path FILE
The path of the file used for transaction fcntl
lock.
%_tmppath PATH
The directory where temporary files are created.
%__urlhelpercmd EXECUTABLE
The executable to use for retrieving remote files.
%__urlhelperopts OPTIONS
Generic options to pass to the %__urlhelpercmd
command.
%__urlhelper_localopts OPTIONS
User/host specific options to pass to the
%__urlhelpercmd command.
%__urlhelper_proxyopts OPTIONS
Proxy options to pass to the %__urlhelpercmd
command.
%_urlhelper COMMAND
Full command (with options) to use when retrieving remote
files. Normally pieced together from the double-underscore
%__urlhelper* macros.
%_transaction_color VALUE
Package and file conflict behavior in bi-arch
transactions. See also
%_prefer_color. Possible values are:
- 0: do not consider "colors", only use arch compatibility
map
- 1: only allow 32-bit packages
- 2: only allow 64-bit packages
- 3: allow 32- and 64-bit packages to share files
%_vsflags_erase VSFLAGS
Transaction verification flags used when erasing or
updating packages.
%_vsflags_install VSFLAGS
Transaction verification flags used when installing
packages.
%_vsflags_query VSFLAGS
Transaction verification flags used when querying
packages.
%_vsflags_rebuilddb VSFLAGS
Transaction verification flags used when rebuilding the
database.
%_vsflags_verify VSFLAGS
Transaction verification flags used when verifying
packages.
Digest/signature verification flags for various rpm operations are
controlled by a bitmask known as VSFLAGS. These flags control various
aspects of digital checksum and signature verification when reading rpm
package files and their headers.
VSFLAGS is formed by bitwise or'ing the individual
flags:
- 0x00001 (RPMVSF_NOHDRCHK): don't verify headers from rpmdb
- 0x00100 (RPMVSF_NOSHA1HEADER): don't verify header SHA1 digest
- 0x00200 (RPMVSF_NOSHA256HEADER): don't verify header SHA256
digest
- 0x00400 (RPMVSF_NODSAHEADER): don't verify header DSA
signature(s)
- 0x00800 (RPMVSF_NORSAHEADER): don't verify header RSA
signature(s)
- 0x01000 (RPMVSF_NOOPENPGP): don't verify header OpenPGP
signature(s)
- 0x02000 (RPMVSF_NOSHA3_256HEADER): don't verify header SHA3_256
digest
- 0x04000 (RPMVSF_NOSHA512PAYLOAD): don't verify package payload
SHA512 digest
- 0x08000 (RPMVSF_NOSHA3_256PAYLOAD): don't verify package payload
SHA3_256 digest
- 0x10000 (RPMVSF_NOSHA256PAYLOAD): don't verify package payload
SHA256 digest
- 0x20000 (RPMVSF_NOMD5): don't verify legacy header+payload MD5
digest
- 0x40000 (RPMVSF_NODSA): don't verify legacy header+payload DSA
signature
- 0x80000 (RPMVSF_NORSA): don't verify legacy header+payload RSA
signature
RPM's Python bindings can be helpful for working with these
values, for example:
>>> import rpm
>>> hex(rpm.RPMVSF_NOSHA1HEADER)
'0x100'
>>> hex(rpm.RPMVSF_NOSHA1HEADER|rpm.RPMVSF_NOMD5)
'0x20100'
>>>
The following hash algorithms (denoted by HASHALGO) are
known to rpm, but availability can vary depending how rpm and it's
underlying libraries have been built:
- 1: MD5 (obsolete)
- 2: SHA1 (obsolete)
- 8: SHA256
- 9: SHA384
- 10: SHA512
- 12: SHA3-256
- 14: SHA3-512