The rpm.versions File
Last modified: 2024 April 17
Overview
The /usr/local/cpanel/etc/rpm.versions file contains all of the cPanel-provided settings for the rpm.versions system. We provide these settings based on the version of cPanel & WHM that your server runs. Your server automatically updates this file whenever cPanel & WHM updates.
The system stores the /usr/local/cpanel/etc/rpm.versions file in YAML format. The sections below describe each of the file’s headers and their contents.
We strongly recommend that you never directly edit this file, because you will lose your changes when you perform an upgrade. Instead, use the /var/cpanel/rpm.versions.d/local.versions file to make changes.
install_targets — Target components and dependencies
The install_targets section of the /usr/local/cpanel/etc/rpm.versions file lists each target with its component packages and dependencies.
Each target entry displays information in the following format:
 | 
 | 
This example uses the following variables:
package_targetis the name of the target.component_package_1andcomponent_package_2are packages that are necessary for thepackage_targetservice to function properly.dependency_1anddependency_2are additional packages on which the component packages are dependent.
Instead of individual packages, the components and dependencies sections may also list the names of package groups, as the rpm_groups section of the /usr/local/cpanel/etc/rpm.versions file defines.
obsolete — Obsolete packages
The obsolete section of the /usr/local/cpanel/etc/rpm.versions file lists packages that your version of cPanel & WHM no longer supports. If the package system detects any packages on this list, it will remove them from the system.
Each obsolete package entry appears in the following format:
compat-MySQL50-shared: 1This example uses the following variables:
compat-MySQL50-sharedis the package’s name.1is a Boolean value that will always equal1.
rpm_groups — Package groups
The rpm_groups section of the /usr/local/cpanel/etc/rpm.versions file lists groups of packages under their assigned group name. In the other sections of the file, this group name represents that list of packages, which eliminates the need for repetitive lists of frequently-used package names.
Each group entry appears in the following format:
 | 
 | 
This example uses the following variables:
groupnameis the name of the package group.grouped_package_1andgrouped_package_2are the names of individual packages that are part of the group.
rpm_locations — Package file locations
The rpm_locations section of the /usr/local/cpanel/etc/rpm.versions file specifies which URL template the rpm.versions system uses to find that target’s packages.
Each file location entry appears in the following format:
package: templateThis example uses the following variables:
packageis the package’s name.templateis the name of the URL template, as the file’surl_templatessection specifies.
srpm_sub_packages — Source package information
The srpm_sub_packages section of the /usr/local/cpanel/etc/rpm.versions file specifies a list of source packages (formerly known as source RPMs, or SRPMs) for each package target.
Each source package entry appears in the following format:
 | 
 | 
This example uses the following variables:
package_targetis the package target’s name.srpm1,srpm2, andsrpm3are the names of the target’s source packages.
srpm_versions — Source package versions
The srpm_versions section of the /usr/local/cpanel/etc/rpm.versions file specifies the exact version number for each package target.
Each source package version entry appears in the following format:
package_target: version-revision.distributionThis example uses the following variables:
package_targetis the package target’s name.versionis the exact version number.revisionis the package’s revision number.distributioncorresponds to the major version of cPanel & WHM with which we released this version.
For example, the source package version for the cpanel-ng-whm-initial-setup-wizard target appears similar to the following example:
cpanel-ng-whm-initial-setup-wizard: 118.16.16-1.cp11118This example uses the following variables:
- The WHM version is 
118.16.16. - The revision number is 
1. - The version of cPanel & WHM is version 118.
 
target_settings — Target installation settings
The target_settings section of the /usr/local/cpanel/etc/rpm.version file specifies each package target’s default installation status.
For more information about package targets, read our Target Settings documentation.
unsupported_rpms - Unsupported packages
The unsupported_rpms section of the /usr/local/cpanel/etc/rpm.versions file specifies packages that an operating system will not install.
The following example from cPanel & WHM version 118 demonstrates this section of the file:
 | 
 | 
url_templates — URL templates
The url_templates section defines the template that the rpm.versions system uses to find specific package files. In the /usr/local/cpanel/etc/rpm.versions file, all of these templates point to locations on cPanel’s httpupdate server.
Each URL template appears in one of the following formats:
 | 
 | 
This example uses the following variables:
deb_default,deb_default-noarchanddeb_ngare the names of package file location templates readable by Debian systems.default,default-noarch, andngare the names of the RPM file location templates readable by Red-Hat® systems.httpupdateis the hostname at which to download the packages.source_packageis the source package name.versionis the cPanel & WHM major version that first contained that package target.rpm_distis the name of the Red-Hat system’s OS distribution (for example,centos).rpm_dist_veris the Red-Hat system’s OS distribution’s version number (for example,5).rpm_archis the Red-Hat system’s OS architecture (for example,i686).packageis the package’s name.package_versionis the package’s version number.package_revisionis the package’s revision number.
The presence or absence of default-noarch in the package’s location indicates differences in the package template, which changes how the rpm.versions system generates information, such as package filenames, for that package.