Overview

This document explains the files in the /var/cpanel/rpm.versions.d/ directory, which system administrators and third-party developers can use to modify cPanel-provided RPM management.

  • All of the rpm.version system's .versions files are stored in the YAML format.
  • Because YAML is space-sensitive, misspelled words are common when system administrators edit a file manually. For this reason, we encourage system administrators to use the /scripts/update_local_rpm_versions script to edit the /var/cpanel/rpm.versions.d/local.versions file. For more information, read our The update_local_rpm_versions Script documentation.

rpm.versions files

The /usr/local/cpanel/etc/rpm.versions file contains cPanel-provided settings for the rpm.versions system, based on the version of cPanel & WHM that your server runs. However, the rpm.versions system allows any .versions files in the /var/cpanel/rpm.versions.d directory to override these settings.

The following table lists information about the files from which the rpm.versions system retrieves information:

Source of changesLocationDescription
cPanel, Inc./usr/local/cpanel/etc/rpm.versions

cPanel, Inc. provides these settings based on the version of cPanel & WHM that your server runs.

We strongly recommend that you never directly edit this file, because you will lose your changes when you perform an upgrade.


Third-party developers/var/cpanel/rpm.versions.d/*.versions

We encourage third-party developers who wish to override the /usr/local/cpanel/etc/rpm.versions file to create their own *.versions files in the /var/cpanel/rpm.versions.d/ directory. These settings override the cPanel-provided settings.

If multiple *.versions files on a server list an RPM target, conflicts may occur. For more information, read the Third-party conflicts section below.


System administrators/var/cpanel/rpm.versions.d/local.versions

These settings override all other settings.

We encourage system administrators to use the /scripts/update_local_rpm_versions script to edit the /var/cpanel/rpm.versions.d/local.versions file. For more information, read our The update_local_rpm_versions Script documentation.


 

Third-party conflicts

If a conflict exists between two or more third-party files in the /var/cpanel/rpm.versions.d/ directory, no RPM updates will take place.

A conflict can occur if two vendors modify the same setting in a file. You can resolve a conflict in either of the following ways:

  1. If the /var/cpanel/rpm.versions.d/local.versions file contains a modification to the same setting that caused the conflict between the vendor files, the setting that the /var/cpanel/rpm.versions.d/local.versions file specifies will override the conflict.
  2. The vendors can resolve the conflict through changes to their respective files in the /var/cpanel/rpm.versions.d/ directory.

File format

The files in the /var/cpanel/rpm.versions.d/  directory use the YAML format, and follow a structure that resembles the /usr/local/cpanel/etc/rpm.versions file. However, these files should only contain the values that you wish to specifically override in the rpm.versions system.

For a full description of this file format, read our The rpm.versions File documentation.

 

A file in the /var/cpanel/rpm.versions.d/ directory that overrides only one RPM target will appear similar to the following example:

file_format: 
  version: 2
install_targets: {}
 
rpm_groups: {}
 
deferred_settings: {}
 
deferred_optional: {}
 
rpm_locations: {}
 
srpm_sub_packages: {}
 
srpm_versions: {}
target_settings:
  pure-ftpd: unmanaged
url_templates: {}

Additional documentation