Scroll to navigation

DNF5.CONF-VENDORPOLICY-V1_1(5) dnf5 DNF5.CONF-VENDORPOLICY-V1_1(5)

NAMN

dnf5.conf-vendorpolicy-v1_1 — DNF5:s policyfilreferens för leverantörsändring — v1.1

BESKRIVNING

Detta dokument beskriver strukturen och syntaxen i DNF5:s policykonfigurationsfiler för leverantörsändring med formatet version 1.1.

För allmän information om policyfiler för leverantörsändring, se DNF5:s policyfilreferens för leverantörsändring <#dnf5-vendor-change-policy-label>.

FILSTRUKTUR

Nödvändiga fält

Sträng

Konfigurationsfilens formatversion.

För detta format måste detta vara satt till "1.1".

Detta fält är obligatoriskt och måste anges på toppnivån i TOML-filen.

Exempel:

version = '1.1'



OBS:

För att konfigurationsfilen skall ha någon påverkan på leverantörsändringspolicyn måste den definiera leverantörsavbildningar med en av de tillåtna konfigurationerna (se nedan): outgoing_vendors, incoming_vendors, equivalent_vendors, outgoing_packages eller incoming_packages.

Om filen inte innehåller några listor kommer den att laddas och dess version kommer valideras, men den kommer inte definiera några regler och kommer inte påverka beteendet hos leverantörshanteraren.



Leverantörsavbildningsdefinition

Följande leverantörslistor kan användas för att definiera leverantörsavbildningar. Alla listor är frivilliga och kan kombineras fritt. Alla villkor beräknas tillsammans.

[[outgoing_vendors]]
Vektor av tabeller

Lista över leverantörer från vilka ändringar tillåts (utgående paketleverantörer).

[[incoming_vendors]]
Vektor av tabeller

Lista över leverantörer till vilka ändringar tillåts (inkommande paketleverantörer).

[[equivalent_vendors]]
Vektor av tabeller

Lista över leverantörer som är ömsesidigt ekvivalenta. Ändringar tillåts i båda riktningar mellan alla leverantörer i denna lista.

OBS:

equivalent_vendors är faktiskt en förkortad notation. Det är ekvivalent med att lista samma leverantörer i både outgoing_vendors och incoming_vendors.



Viktigt:

En leverantörsändring under ersättning av ett paket tillåts endast om båda villkoren samtidigt uppfylls:
  • Leverantören i det utgående (installerade) paketet är listad i outgoing_vendors eller equivalent_vendors (eller både outgoing_vendors och equivalent_vendors saknas, vilket tillåter alla leverantörer)
  • Leverantören i det inkommande (nya) paketet är listad i incoming_vendors eller equivalent_vendors (eller både outgoing_vendors och equivalent_vendors saknas, vilket tillåter alla leverantörer)



Leverantörspostfält

Varje post i [[outgoing_vendors]], [[incoming_vendors]] eller [[equivalent_vendors]] kan innehålla följande fält:

Sträng

Nödvändigt fält.

Leverantörsnamn eller -mönster för matchning.

Sträng

Valfritt fält.

Matchningsmetoden som skall användas när leverantörssträngar jämförs.

Standard: "EXACT"

Värden som stödjs:

  • "EXACT" — exakt matchning (skiftlägeskänsligt)
  • "IEXACT" — exakt matchning (skiftlägesokänsligt)
  • "GLOB" - glob-mönster (skiftlägeskänsligt)
  • "IGLOB" - glob-mönster (skiftlägesokänsligt)
  • "REGEX" — reguljärt uttryck (skiftlägeskänsligt)
  • "IREGEX" — reguljärt uttryck (skiftlägesokänsligt)
  • "CONTAINS" — innehåller strängen (skiftlägeskänsligt)
  • "ICONTAINS" — innehåller strängen (skiftlägesokänsligt)
  • "STARTSWITH" — börjar med (skiftlägeskänsligt)
  • "ISTARTSWITH" — börjar med (skiftlägesokänsligt)
  • "ENDSWITH" — slutar med (skiftlägeskänsligt)
  • "IENDSWITH" — slutar med (skiftlägesokänsligt)
  • "NOT_EXACT", "NOT_IEXACT", "NOT_GLOB", "NOT_IGLOB", "NOT_CONTAINS", "NOT_ICONTAINS" — negerade varianter

Boolean

Valfritt fält.

Om true utesluts leverantören från regeln. Detta är användbart för att definiera undantag till mer generella regler. Regler (leverantörsposter) bearbetas i den ordning de är definierade. Detta betyder att en exclude-regel måste förekomma före regeln från vilken leverantören skall uteslutas.

Standard: false


Paketfiltrering

Leverantörsändringspolicyer kan ytterligare begränsas till att endast gälla specifika paket med paketfilter. Dessa är frivilliga och tillåter finkornig styrning av vilka paket som tillåts ändra leverantörer.

[[outgoing_packages]]
Vektor av tabeller

Lista över paketfilter som begränsar vilka utgående (installerade) paket som tillåts ändra leverantörer. Om utelämnat tillåts alla paket att ändra från sin nuvarande leverantör.

[[incoming_packages]]
Vektor av tabeller

Lista över paketfilter som begränsar vilka inkommande (nya) paket som tillåts ändra leverantörer. Om utelämnat tillåts alla paket installeras oavsett leverantör.


Paketfilters postfält

Varje post i [[outgoing_packages]] eller [[incoming_packages]] kan innehålla:

Vektor av tabeller

Nödvändigt fält.

Lista över filtervillkor som alla måste matcha för att paketet skall påverkas av denna regel. Varje filter är en tabell med följande fält:

Sträng

Nödvändigt fält.

Paketattributet att filtrera på.

Värden som stödjs:

  • "name" — paketnamn
  • "source_name" — källpaketets namn
  • "evr" — Epok-Version-Utgåva-sträng
  • "epoch" — epoknummer
  • "version" — versionssträng
  • "release" — utgåvesträng
  • "arch" — paketarkitektur
  • "repoid" — förråds-ID
  • "cmdline_repo" — huruvida paketet kommer från kommandoradsförrådet (boolean)

Sträng

Nödvändigt fält.

Värdet att matcha mot.

  • För filtret cmdline_repo, använd "true"/"1" eller "false"/"0"
  • För filtret epoch använd en numerisk sträng (t.ex., "0", "1")
  • För övriga filter, använd lämpliga strängvärden

Sträng

Valfritt fält.

Matchningsmetod att använda.

Standard: "EXACT"

För sträng baserade filter (name, source_name, arch, repoid):

Samma värden som för jämförelse av leverantör: EXACT, NOT_EXACT, IEXACT, NOT_IEXACT, CONTAINS, NOT_CONTAINS, ICONTAINS, NOT_ICONTAINS, STARTSWITH, ISTARTSWITH, ENDSWITH, IENDSWITH, REGEX, IREGEX, GLOB, NOT_GLOB, IGLOB, NOT_IGLOB

För versionsbaserade filter (evr, epoch, version, release):

  • "EXACT" — lika med
  • "NOT_EXACT" — inte lika med
  • "GT" — större än
  • "GTE" — större än eller lika med
  • "LT" — mindre än
  • "LTE" — mindre än eller lika med

OBS:

Versionsbaserade filter använder ordentlig versionsjämförelsesemantik enligt RPM istället för lexikal strängjämförelse. Detta säkerställer korrekt versionsordning (t.ex., "1.10" > "1.9").


OBS:

Filtret cmdline_repo stödjer endast jämföraren "EXACT".



Boolean

Valfritt fält.

Om true exkluderas paket som matchar filtren från regeln. Detta är användbart för att definiera undantag. Uteslutningsregler måste komma före reglerna från vilka paketet skall uteslutas.

Standard: false


EXEMPEL

Exempel 1: Tillåt ändring från ”LeverantörA” till ”LeverantörB”

Detta exempel visar den minsta nödvändiga konfigurationen som tillåter en ändring från ”LeverantörA” till ”LeverantörB”, men inte omvänt.

version = '1.1'
[[outgoing_vendors]]
vendor = 'LeverantörA'
[[incoming_vendors]]
vendor = 'LeverantörB'


Exempel 2: Tillåt ändring från godtycklig leverantör till ”Min betrodda leverantör”

Detta exempel visar hur man tillåter en ändring från alla leverantörer till ”Min betrodda leverantör”, men inte tvärt om. Saknas outgoing_vendors betyder det att godtycklig leverantör är tillåten.

version = '1.1'
[[incoming_vendors]]
vendor = 'Min betrodda leverantör'


Exempel 3: Ekvivalenta leverantörer

Detta exempel visar leverantörer som är ömsesidigt ekvivalenta, och tillåter ändringar i båda riktningarna.

version = '1.1'
# Alla följande leverantörer är ömsesidigt ekvivalenta
[[equivalent_vendors]]
vendor = 'Fedora Project'
[[equivalent_vendors]]
vendor = 'Red Hat'
comparator = 'ISTARTSWITH'
[[equivalent_vendors]]
vendor = 'CentOS'
comparator = 'ISTARTSWITH'


Exempel 4: Ekvivavlenta leverantörer med ett undantag

Detta exempel visar en leverantörspolicy för SUSE-relaterade leverantörer med ett undantag för openSUSE Build Service.

version = '1.1'
# Alla följande leverantörer är ömsesidigt ekvivalenta bortsett från de uteslutna
[[equivalent_vendors]]
vendor = 'openSUSE Build Service'
comparator = 'ISTARTSWITH'
exclude = true
[[equivalent_vendors]]
vendor = 'SUSE'
comparator = 'ISTARTSWITH'
[[equivalent_vendors]]
vendor = 'openSUSE'
comparator = 'ISTARTSWITH'


Exempel 5: Kombination av ekvivalenta leverantörer med inkommande leverantörer

Detta exempel demonstrerar kombinationen av equivalent_vendors med incoming_vendors, en finess introducerad i version "1.1". ”Första leverantör” och ”Andra leverantör” är ömsesidigt ekvivalenta, och båda kan ändras till ”Tredje leverantör”.

version = '1.1'
[[equivalent_vendors]]
vendor = 'Första leverantör'
[[equivalent_vendors]]
vendor = 'Andra leverantör'
[[incoming_vendors]]
vendor = 'Tredje leverantör'


Exempel 6: Tillåt kommandoradspaket från godtycklig leverantör

Detta exempel tillåter installation av paket från kommandoradsförrådet från alla leverantörer, och undviker begränsningar på leverantör.

version = '1.1'
[[incoming_packages]]
filters = [

{ filter = 'cmdline_repo', value = 'true' } ]


Exempel 7: Kommandoradspaket med undantag

Detta exempel tillåter installation av paket från kommandoradsförrådet från alla leverantörer, utom för paket vars namn börjar med ”mittpaket”.

version = '1.1'
[[incoming_packages]]
filters = [

{ filter = 'name', value = 'mittpaket', comparator = 'STARTSWITH' } ] exclude = true [[incoming_packages]] filters = [
{ filter = 'cmdline_repo', value = 'true' } ]


Exempel 8: Tillåt ändring från alla leverantörer till en specifik med paketfiltrering

Detta exempel tillåter en ändring från godtycklig leverantör till ”Min leverantör”, men bara för inkommande paket vars källpaketsnamn är ”mittpaket” och version är större eller lika med ”2.0”.

version = '1.1'
[[incoming_packages]]
filters = [

{ filter = 'source_name', value = 'mittpaket' },
{ filter = 'version', value = '2.0', comparator = 'GTE' } ] [[incoming_vendors]] vendor = 'Min leverantör'


SE ÄVEN

  • DNF5:s policyfilreferens för leverantörsändring <#dnf5-vendor-change-policy-label>
  • DNF5:s policyfilreferens för leverantörsändring — v1.0 <#dnf5-vendor-change-policy-v1-0-label>
  • dnf5.conf(5), DNF5:s konfigurationsreferens <#dnf5-conf-label>

Upphovsman

Se AUTHORS.md i dnf5 källkodsdistribution.

Copyright

Medarbetare i dnf5-projektet.

ÖVERSÄTTNING

Den svenska översättningen av denna manualsida skapades av Göran Uddeborg <goeran@uddeborg.se>

Denna översättning är fri dokumentation; läs GNU General Public License Version 3 eller senare för upphovsrättsvillkor. Vi tar INGET ANSVAR.

Om du hittar fel i översättningen av denna manualsida, skicka ett mail till Tp-sv@listor.tp-sv.se.

19 feb 2026