RPM-RPMRC(5)

2025-04-15

NAME

rpm-rpmrc - 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 5.99.90

Index

2025-04-15