table of contents
| DNF5.CONF-VENDORPOLICY-V1_0(5) | dnf5 | DNF5.CONF-VENDORPOLICY-V1_0(5) |
NAME¶
dnf5.conf-vendorpolicy-v1_0 - DNF5 Vendor Change Policy File Reference - v1.0
DESCRIPTION¶
This document describes the structure and syntax of the DNF5 Vendor Change Policy configuration files using version 1.0 format.
For general information about vendor change policy files, see DNF5 Vendor Change Policy File Reference <#dnf5-vendor-change-policy-label>.
FILE STRUCTURE¶
Required Fields¶
- version
- String
Configuration file format version.
For this format, must be set to "1.0".
This field is mandatory and must be specified at the top level of the TOML file.
Example:
version = '1.0'
Note:
If the file contains no vendor lists, it will be loaded and its version will be validated, but it will not define any rules and will not affect vendor manager behavior.
Vendor Mapping Definition¶
The file can use one of the following vendor definition methods. Only one method can be used.
Option 1: Separate Lists (outgoing + incoming)
- [[outgoing_vendors]]
- Array of tables
List of vendors from which changes are allowed (outgoing package vendors).
- [[incoming_vendors]]
- Array of tables
List of vendors to which changes are allowed (incoming package vendors).
Note:
Important:
- The vendor of the outgoing (installed) package is listed in outgoing_vendors
- The vendor of the incoming (new) package is listed in incoming_vendors
Option 2: Equivalent Vendors
- [[equivalent_vendors]]
- Array of tables
List of vendors that are mutually equivalent. Changes are allowed in both directions between all vendors in this list.
Note:
Vendor Entry Fields¶
Each entry in [[outgoing_vendors]], [[incoming_vendors]], or [[equivalent_vendors]] can contain the following fields:
- vendor
- String
Required field.
Vendor name or pattern for matching.
- comparator
- String
Optional field.
The matching method to use when comparing vendor strings.
Default: "EXACT"
Supported values:
- "EXACT" - exact match (case-sensitive)
- "IEXACT" - exact match (case-insensitive)
- "GLOB" - glob pattern (case-sensitive)
- "IGLOB" - glob pattern (case-insensitive)
- "REGEX" - regular expression (case-sensitive)
- "IREGEX" - regular expression (case-insensitive)
- "CONTAINS" - contains string (case-sensitive)
- "ICONTAINS" - contains string (case-insensitive)
- "STARTSWITH" - starts with (case-sensitive)
- "ISTARTSWITH" - starts with (case-insensitive)
- "ENDSWITH" - ends with (case-sensitive)
- "IENDSWITH" - ends with (case-insensitive)
- "NOT_EXACT", "NOT_IEXACT", "NOT_GLOB", "NOT_IGLOB", "NOT_CONTAINS", "NOT_ICONTAINS" - negated variants
- exclude
- Boolean
Optional field.
If true, the vendor is excluded from the rule. This is useful for defining exceptions to more general rules. Rules (vendor entries) are processed in the order they are defined. This means that an exclude rule must appear before the rules from which the vendor should be excluded.
Default: false
EXAMPLES¶
Example 1: Allow change from "VendorA" to "VendorB"¶
This example shows the minimal required configuration, allowing a change from "VendorA" to "VendorB", but not the reverse.
version = '1.0' [[outgoing_vendors]] vendor = 'VendorA' [[incoming_vendors]] vendor = 'VendorB'
Example 2: Allow change from any vendor to "My Trusted Vendor"¶
This example shows allowing a change from any vendor to "My Trusted Vendor", but not the reverse (requires explicit rule for allowing all vendors).
version = '1.0' [[outgoing_vendors]] vendor = '' comparator = 'CONTAINS' [[incoming_vendors]] vendor = 'My Trusted Vendor'
Example 3: Equivalent vendors¶
This example shows vendors that are mutually equivalent, allowing changes in both directions.
version = '1.0' # All following vendors are mutually equivalent [[equivalent_vendors]] vendor = 'Fedora Project' [[equivalent_vendors]] vendor = 'Red Hat' comparator = 'ISTARTSWITH' [[equivalent_vendors]] vendor = 'CentOS' comparator = 'ISTARTSWITH'
Example 4: Equivalent vendors with an exclusion¶
This example shows a vendor policy for SUSE-related vendors with an exclusion for openSUSE Build Service.
version = '1.0' # All following vendors are mutually equivalent except excluded ones [[equivalent_vendors]] vendor = 'openSUSE Build Service' comparator = 'ISTARTSWITH' exclude = true [[equivalent_vendors]] vendor = 'SUSE' comparator = 'ISTARTSWITH' [[equivalent_vendors]] vendor = 'openSUSE' comparator = 'ISTARTSWITH'
SEE ALSO¶
- DNF5 Vendor Change Policy File Reference <#dnf5-vendor-change-policy-label>
- DNF5 Vendor Change Policy File Reference - v1.1 <#dnf5-vendor-change-policy-v1-1-label>
- dnf5.conf(5), DNF5 Configuration Reference <#dnf5-conf-label>
Author¶
See AUTHORS.md in dnf5 source distribution.
Copyright¶
Contributors to the dnf5 project.
| February 19, 2026 |