rpm-rpmrc - Man Page

rpm platform compatibility configuration

Synopsis

VARIABLE: {ARCH|OS}: VALUE .​.​.​

VARIABLE: ARCH VALUE

Files

/usr/lib/rpm/rpmrc
/usr/lib/rpm/<vendor>/rpmrc
/etc/rpmrc
~/.​config/rpm/rpmrc

Description

The low-level machine architecture and OS configuration in rpm is managed via a set of rpmrc files as defined by the rpmrc path.​ Most users never need to look at, much less touch these files.​

Each file in the colon separated rpmrc path is read sequentially by rpm for configuration information.​ Tildes will be expanded to the value of the environment variable HOME.​ The first file in the path must exist, others are considered optional.​

If a value is defined multiple times, the last entry wins.​ The default rpmrc path uses this to achieve the following hierarchy of platform configuration:

  1. Generic rpm factory defaults
  2. Vendor (distribution) specific configuration
  3. Host specific configuration
  4. User specific configuration

In older rpm versions the path of per-user rpmrc was ~/.​rpmrc.​ This is still processed if it exists and the new configuration directory does not exist.​

Configuration

ARCH and OS relate to uname(2) machine and operating system information, but are not 1:1 equivalent.​ The following directives are supported in the rpmrc files:

arch_canon ARCH: CANON_ARCH ARCH_NUM

Names and numbers of known architectures to alias different spellings to a canonical one.​ CANON_ARCH is what the ARCH entries in other rpmrc directives refer to.​

The number is not used for any calculations by rpm but must be present for historical reasons.​

arch_compat: ARCH: COMPAT_ARCH .​.​.​

Declare compatibility between machine architectures, ie.​ ARCH machines can install packages for COMPAT_ARCH architecture.​

archcolor: ARCH COLOR

Declare the "color" of ARCH.​ The color relates to the word length aka bitness of the architecture:

  • 0 means none (noarch packages and similar)
  • 1 means 32-bit
  • 2 means 64-bit
buildarch_compat: ARCH: COMPAT_ARCH .​.​.​

Declare compatibility between build architectures targets, ie.​ ARCH machines can produce COMPAT_ARCH binaries.​

buildarchtranslate: ARCH: TRANSLATE_ARCH

Automatically translate detected host architecture ARCH to TRANSLATE_ARCH when building packages.​ This is used to map sub-architectures to a main one, for example when building on a x86_64_v2 host we typically want the generated package to be of the main x86_64 architecture.​

optflags: ARCH OPTFLAGS

Compiler flags to use when building packages for ARCH architecture.​ The OPTFLAGS value is available as %{optflags} macro in spec files.​

os_canon: OS: CANON_OS OS_NUM

Names and numbers of known operating systems to alias different spellings to a canonical one.​ CANON_OS is what the OS entries in other rpmrc directives refer to.​

The number is not used for any calculations by rpm but must be present for historical reasons.​

os_compat: OS: COMPAT_OS .​.​.​

Declare compatibility between operating systems, ie.​ OS machine can install packages for COMPAT_OS operating system.​

Environment

If XDG_CONFIG_HOME environment variable is set, it replaces ~/.​config in the rpmrc path.​

See Also

rpm(8), rpm-common(8), rpm-config(5), rpm-macros(7)

Referenced By

rpm(8), rpmbuild(1), rpmbuild-config(5), rpm-common(8), rpm-config(5).

2026-08-20 RPM 6.1.0