Scroll to navigation

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

الاسم

dnf5.conf-vendorpolicy-v1_1 - مرجع ملف سياسة تغيير البائع لـ DNF5 - الإصدار 1.1

الوصف

يصف هذا المستند بنية وصياغة ملفات تكوين سياسة تغيير البائع لـ DNF5 باستخدام تنسيق الإصدار 1.1.

للحصول على معلومات عامة حول ملفات سياسة تغيير المورد، راجع مرجع ملف سياسة تغيير مورد DNF5 <#dnf5-vendor-change-policy-label>.

هيكل الملف

حقول مطلوبة

سلسلة نصية (String)

نسخة تنسيق ملف الضبط.

لهذا التنسيق، يجب تعيينه إلى "1.1".

هذا الحقل إلزامي ويجب تحديده في المستوى الأعلى لملف TOML.

مثال:

الإصدار = '1.1'



ملاحظة:

لكي يكون لملف التكوين أي تأثير على سياسة تغيير البائع، يجب أن يحتوي على قائمة واحدة على الأقل من القوائم المدعومة (انظر أدناه): outgoing_vendors، incoming_vendors، equivalent_vendors، outgoing_packages، أو incoming_packages.

إذا لم يحتوي الملف على أي قوائم، فسيتم تحميله والتحقق من صحة إصداره، لكنه لن يحدد أي قواعد ولن يؤثر على سلوك مدير البائع.



تعريف مطابقة المورد

يمكن استخدام قوائم البائعين التالية لتعريف تعيينات البائعين. جميع القوائم اختيارية ويمكن دمجها بحرية. يتم تقييم جميع الشروط معًا.

[[outgoing_vendors]]
مصفوفة من الجداول

قائمة الموردين المسموح بالتغييرات منهم (موردو الحزم الخارجة).

[[incoming_vendors]]
مصفوفة من الجداول

قائمة الموردين المسموح بالتغييرات إليهم (موردو الحزم الواردة).

[[equivalent_vendors]]
مصفوفة من الجداول

قائمة الموردين المتكافئين بشكل متبادل. التغييرات مسموحة في كلا الاتجاهين بين جميع الموردين في هذه القائمة.

ملاحظة:

equivalent_vendors هي في الواقع تدوين مختصر. وهي مكافئة لإدراج نفس البائعين في كل من outgoing_vendors و incoming_vendors.



هام:

يُسمح بتغيير المورد أثناء استبدال الحزمة فقط إذا استُوفِيَ كلا الشرطين في آن واحد:
  • يتم إدراج بائع الحزمة الصادرة (المثبتة) في outgoing_vendors أو equivalent_vendors (أو كل من outgoing_vendors و equivalent_vendors مفقودان، مما يسمح بأي بائع)
  • يتم إدراج بائع الحزمة الواردة (الجديدة) في incoming_vendors أو equivalent_vendors (أو كل من incoming_vendors و equivalent_vendors مفقودان، مما يسمح بأي بائع)



حقول إدخال المورد

كل إدخال في [[outgoing_vendors]] أو [[incoming_vendors]] أو [[equivalent_vendors]] يمكن أن يحتوي على الحقول التالية:

سلسلة نصية (String)

حقل مطلوب.

اسم المورد أو نمط للمطابقة.

سلسلة نصية (String)

حقل اختياري.

طريقة المطابقة المستخدمة عند مقارنة سلاسل المورد.

المبدئي: "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، يُستثنى المورد من القاعدة. هذا مفيد لتعريف استثناءات للقواعد الأكثر عمومية. تُعالج القواعد (إدخالات المورد) بترتيب تعريفها. وهذا يعني أن قاعدة الاستثناء يجب أن تظهر قبل القواعد التي يجب استثناء المورد منها.

المبدئي: false


تصفية الحزم

يمكن تقييد سياسات تغيير البائع بشكل أكبر لتطبق فقط على حزم محددة باستخدام مرشحات الحزم. هذه المرشحات اختيارية وتسمح بالتحكم الدقيق في الحزم المسموح لها بتغيير البائعين.

[[outgoing_packages]]
مصفوفة من الجداول

قائمة مرشحات الحزم التي تقيد الحزم الصادرة (المثبتة) المسموح لها بتغيير البائعين. إذا تم حذفها، يُسمح لجميع الحزم بالتغيير من بائعها الحالي.

[[incoming_packages]]
مصفوفة من الجداول

قائمة مرشحات الحزم التي تقيد الحزم الواردة (الجديدة) المسموح بتثبيتها مع تغيير البائع. إذا تم حذفها، يُسمح بتثبيت جميع الحزم بغض النظر عن البائع.


حقول إدخال مرشح الحزمة

يمكن أن يحتوي كل إدخال في [[outgoing_packages]] أو [[incoming_packages]] على:

مصفوفة من الجداول

حقل مطلوب.

قائمة شروط المرشح التي يجب أن تتطابق جميعها لكي تتأثر الحزمة بهذه القاعدة. كل مرشح هو جدول يحتوي على الحقول التالية:

سلسلة نصية (String)

حقل مطلوب.

سمة الحزمة للتصفية بناءً عليها.

القيم المدعومة:

  • "name" - اسم الحزمة
  • "source_name" - اسم الحزمة المصدر
  • "evr" - سلسلة الحقبة-الإصدار-الإصدار
  • "epoch" - رقم الحقبة
  • "version" - سلسلة الإصدار
  • "release" - سلسلة الإصدار
  • "arch" - بنية الحزمة
  • "repoid" - معرف المستودع
  • "cmdline_repo" - هل الحزمة من مستودع سطر الأوامر (منطقي)

سلسلة نصية (String)

حقل مطلوب.

القيمة المطلوب المطابقة معها.

  • لمرشح cmdline_repo، استخدم "true"/"1" أو "false"/"0"
  • لمرشح epoch، استخدم سلسلة رقمية (مثل "0"، "1")
  • للمرشحات الأخرى، استخدم قيم سلسلة مناسبة

سلسلة نصية (String)

حقل اختياري.

طريقة المطابقة المستخدمة.

المبدئي: "EXACT"

For string-based filters (name, source_name, arch, repoid):

نفس القيم المستخدمة في مقارن البائع: EXACT، NOT_EXACT، IEXACT، NOT_IEXACT، CONTAINS، NOT_CONTAINS، ICONTAINS، NOT_ICONTAINS، STARTSWITH، ISTARTSWITH، ENDSWITH، IENDSWITH، REGEX، IREGEX، GLOB، NOT_GLOB، IGLOB، NOT_IGLOB

For version-based filters (evr, epoch, version, release):

  • "EXACT" - يساوي
  • "NOT_EXACT" - لا يساوي
  • "GT" - أكبر من
  • "GTE" - أكبر من أو يساوي
  • "LT" - أقل من
  • "LTE" - أقل من أو يساوي

ملاحظة:

تستخدم المرشحات القائمة على الإصدار دلالات مقارنة إصدار RPM الصحيحة بدلاً من مقارنة السلاسل المعجمية. يضمن هذا الترتيب الصحيح للإصدارات (مثل "1.10" > "1.9").


ملاحظة:

يدعم مرشح cmdline_repo المقارن "EXACT" فقط.



منطقي

حقل اختياري.

إذا كانت القيمة صحيحة، تُستثنى الحزم المطابقة للمرشحات من القاعدة. هذا مفيد لتحديد الاستثناءات. يجب أن تظهر قواعد الاستثناء قبل القواعد التي ينبغي استثناء الحزم منها.

المبدئي: false


أمثلة

مثال 1: السماح بالتغيير من "VendorA" إلى "VendorB"

يوضح هذا المثال الحد الأدنى المطلوب من الضبط، مما يسمح بالتغيير من "VendorA" إلى "VendorB"، ولكن ليس العكس.

الإصدار = '1.1'
[[outgoing_vendors]]
vendor = 'VendorA'
[[incoming_vendors]]
vendor = 'VendorB'


مثال 2: السماح بالتغيير من أي مورد إلى "My Trusted Vendor"

يُظهر هذا المثال السماح بالتغيير من أي بائع إلى "البائع الموثوق لدي"، ولكن ليس العكس. يعني غياب outgoing_vendors أن أي بائع مسموح به.

الإصدار = '1.1'
[[incoming_vendors]]
vendor = 'My Trusted Vendor'


مثال 3: موردون متكافئون

يوضح هذا المثال موردين متكافئين بشكل متبادل، مما يسمح بالتغييرات في كلا الاتجاهين.

الإصدار = '1.1'
# كافة الموردين التاليين متكافئون تبادلياً
[[equivalent_vendors]]
vendor = 'Fedora Project'
[[equivalent_vendors]]
vendor = 'Red Hat'
comparator = 'ISTARTSWITH'
[[equivalent_vendors]]
vendor = 'CentOS'
comparator = 'ISTARTSWITH'


مثال 4: موردون متكافئون مع استثناء

يوضح هذا المثال سياسة مورد للموردين المتعلقين بـ SUSE مع استثناء لخدمة بناء openSUSE.

الإصدار = '1.1'
# كافة الموردين التاليين متكافئون تبادلياً باستثناء المستبعدين
[[equivalent_vendors]]
vendor = 'openSUSE Build Service'
comparator = 'ISTARTSWITH'
exclude = true
[[equivalent_vendors]]
vendor = 'SUSE'
comparator = 'ISTARTSWITH'
[[equivalent_vendors]]
vendor = 'openSUSE'
comparator = 'ISTARTSWITH'


مثال 5: الجمع بين البائعين المكافئين والبائعين الواردين

يُوضح هذا المثال الجمع بين equivalent_vendors و incoming_vendors، وهي ميزة تم تقديمها في الإصدار "1.1". "البائع الأول" و "البائع الثاني" متكافئان بشكل متبادل، ويمكن لكليهما التغيير إلى "البائع الثالث".

الإصدار = '1.1'
[[equivalent_vendors]]
vendor = 'First Vendor'
[[equivalent_vendors]]
vendor = 'Second Vendor'
[[incoming_vendors]]
vendor = 'Third Vendor'


مثال 6: السماح بحزم سطر الأوامر من أي بائع

يسمح هذا المثال بتثبيت الحزم من مستودع سطر الأوامر من أي بائع، متجاوزًا قيود البائع.

الإصدار = '1.1'
[[incoming_packages]]
filters = [

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


مثال 7: حزم سطر الأوامر مع الاستثناء

يسمح هذا المثال بتثبيت الحزم من مستودع سطر الأوامر من أي بائع، باستثناء الحزم التي تبدأ أسماؤها بـ "mypackage".

الإصدار = '1.1'
[[incoming_packages]]
filters = [

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


مثال 8: السماح بالتغيير من أي بائع إلى بائع محدد مع ترشيح الحزم

يسمح هذا المثال بالتغيير من أي بائع إلى "البائع الخاص بي"، ولكن فقط للحزم الواردة التي يكون اسم حزمة المصدر فيها هو "mypackage" والإصدار أكبر من أو يساوي "2.0".

الإصدار = '1.1'
[[incoming_packages]]
filters = [

{ filter = 'source_name', value = 'mypackage' },
{ filter = 'version', value = '2.0', comparator = 'GTE' } ] [[incoming_vendors]] vendor = 'My Vendor'


انظر أيضًا

  • مرجع ملف سياسة تغيير المُورّد لـ DNF5 <#dnf5-vendor-change-policy-label>
  • مرجع ملف سياسة تغيير مورد DNF5 - الإصدار 1.0 <#dnf5-vendor-change-policy-v1-0-label>
  • dnf5.conf(5)، مرجع ضبط DNF5 <#dnf5-conf-label>

المؤلف

انظر AUTHORS.md في توزيعة مصدر dnf5.

حقوق النسخ

المساهمون في مشروع dnf5.

ترجمة

تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.

19 فبراير 2026