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

dnf5.conf-vendorpolicy-v1_0 - مرجع فایل شیوه‌نامه تغییر ارائه‌دهنده DNF5 - نسخه ۱.۰

این سند ساختار و نحو (syntax) فایل‌های پیکربندی شیوه‌نامه تغییر ارائه‌دهنده DNF5 را با استفاده از قالب نسخه 1.0 توضیح می‌دهد.

برای اطلاعات کلی درباره فایل‌های شیوه‌نامه تغییر ارائه‌دهنده، مرجع فایل شیوه‌نامه تغییر ارائه‌دهنده DNF5 <#dnf5-vendor-change-policy-label> را ببینید.

رشته

نسخه قالب فایل پیکربندی.

برای این قالب، باید روی "1.0" تنظیم شود.

این فیلد الزامی است و باید در بالاترین سطح فایل TOML مشخص شود.

مثال:

version = '1.0'

نکته:

برای اینکه فایل پیکربندی بر شیوه‌نامه تغییر ارائه‌دهنده اثری داشته باشد، باید نگاشت‌های ارائه‌دهنده را با استفاده از یکی از پیکربندی‌های مجاز (زیر را ببینید) تعریف کند.

اگر فایل فاقد هرگونه فهرست ارائه‌دهنده باشد، بارگیری شده و نسخه آن اعتبارسنجی می‌شود، اما هیچ قانونی تعریف نمی‌کند و بر رفتار مدیر ارائه‌دهنده تأثیری نخواهد داشت.

فایل می‌تواند از یکی از روش‌های تعریف ارائه‌دهنده زیر استفاده کند. تنها یک روش می‌تواند استفاده شود.

گزینه ۱: فهرست‌های جداگانه (خروجی + ورودی)

[[outgoing_vendors]]
آرایه‌ای از جدول‌ها

فهرست ارائه‌دهندگانی که تغییر از آن‌ها مجاز است (ارائه‌دهندگان بسته خروجی).

[[incoming_vendors]]
آرایه‌ای از جدول‌ها

فهرست ارائه‌دهندگانی که تغییر به آن‌ها مجاز است (ارائه‌دهندگان بسته ورودی).

نکته:

outgoing_vendors و incoming_vendors باید یا هر دو وجود داشته باشند یا هر دو وجود نداشته باشند.

مهم:

تغییر ارائه‌دهنده هنگام جایگزینی بسته تنها در صورتی مجاز است که هر دو شرط هم‌زمان برقرار باشند:
  • ارائه‌دهنده بسته خروجی (نصب‌شده) در outgoing_vendors فهرست شده باشد
  • ارائه‌دهنده بسته ورودی (جدید) در incoming_vendors فهرست شده باشد

گزینه ۲: ارائه‌دهندگان معادل

[[equivalent_vendors]]
آرایه‌ای از جدول‌ها

فهرست ارائه‌دهندگانی که متقابلاً معادل یکدیگرند. تغییرات در هر دو جهت بین تمام ارائه‌دهندگان موجود در این فهرست مجاز است.

نکته:

نمی‌توان equivalent_vendors را با outgoing_vendors یا incoming_vendors ترکیب کرد. با این حال، equivalent_vendors در واقع یک روش نگارش خلاصه است. این معادل فهرست کردن همان ارائه‌دهندگان در هر دو outgoing_vendors و incoming_vendors است.

هر ورودی در [[outgoing_vendors]]، [[incoming_vendors]] یا [[equivalent_vendors]] می‌تواند شامل فیلدهای زیر باشد:

رشته

فیلد الزامی.

نام ارائه‌دهنده یا الگو برای تطبیق.

رشته

فیلد اختیاری.

روش تطبیق مورد استفاده هنگام مقایسه رشته‌های ارائه‌دهنده.

پیش‌فرض: "EXACT"

مقادیر پشتیبانی‌شده:

  • "EXACT" - تطبیق دقیق (حساس به حروف بزرگ و کوچک)
  • "IEXACT" - تطبیق دقیق (غیرحساس به حروف بزرگ و کوچک)
  • "GLOB" - الگوی glob (حساس به حروف بزرگ و کوچک)
  • "IGLOB" - الگوی glob (غیرحساس به حروف بزرگ و کوچک)
  • "REGEX" - عبارت باقاعده (حساس به حروف بزرگ و کوچک)
  • "IREGEX" - عبارت باقاعده (غیرحساس به حروف بزرگ و کوچک)
  • "CONTAINS" - شامل رشته (حساس به حروف بزرگ و کوچک)
  • "ICONTAINS" - شامل رشته (غیرحساس به حروف بزرگ و کوچک)
  • "STARTSWITH" - شروع با (حساس به حروف بزرگ و کوچک)
  • "ISTARTSWITH" - شروع با (غیرحساس به حروف بزرگ و کوچک)
  • "ENDSWITH" - پایان با (حساس به حروف بزرگ و کوچک)
  • "IENDSWITH" - پایان با (غیرحساس به حروف بزرگ و کوچک)
  • "NOT_EXACT", "NOT_IEXACT", "NOT_GLOB", "NOT_IGLOB", "NOT_CONTAINS", "NOT_ICONTAINS" - گونه‌های نفی‌شده
بولی

فیلد اختیاری.

اگر true باشد، ارائه‌دهنده از قاعده مستثنی می‌شود. این برای تعریف استثناها بر قواعد کلی‌تر مفید است. قواعد (ورودی‌های ارائه‌دهنده) به ترتیبی که تعریف شده‌اند پردازش می‌شوند. این بدان معناست که یک قاعده مستثنی‌سازی (exclude) باید قبل از قواعدی که ارائه‌دهنده باید از آن‌ها مستثنی شود، درج گردد.

پیش‌فرض: false

این مثال کمینه‌ی پیکربندی الزامی را نشان می‌دهد که تغییر از "VendorA" به "VendorB" را مجاز می‌داند، اما نه برعکس.

version = '1.0'
[[outgoing_vendors]]
vendor = 'VendorA'
[[incoming_vendors]]
vendor = 'VendorB'

این مثال مجاز دانستن تغییر از هر ارائه‌دهنده‌ای به "My Trusted Vendor" را نشان می‌دهد، اما نه برعکس (نیازمند قاعده صریح برای مجاز دانستن تمامی ارائه‌دهندگان است).

version = '1.0'
[[outgoing_vendors]]
vendor = ''
comparator = 'CONTAINS'
[[incoming_vendors]]
vendor = 'My Trusted Vendor'

این مثال ارائه‌دهندگانی را نشان می‌دهد که متقابلاً معادل یکدیگرند و تغییر در هر دو جهت را مجاز می‌دانند.

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'

این مثال شیوه‌نامه ارائه‌دهنده را برای ارائه‌دهندگان مرتبط با SUSE همراه با یک استثنا برای 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'

  • مرجع فایل شیوه‌نامه تغییر ارائه‌دهنده DNF5 <#dnf5-vendor-change-policy-label>
  • مرجع فایل شیوه‌نامه تغییر ارائه‌دهنده DNF5 - v1.1 <#dnf5-vendor-change-policy-v1-1-label>
  • dnf5.conf(5), مرجع پیکربندی DNF5 <#dnf5-conf-label>

فایل AUTHORS.md را در توزیع منبع dnf5 ببینید.

مشارکت‌کنندگان پروژه dnf5.

September 6, 2026