إصدار RPM 4.16

بعد عام من التطوير وقع الافراج عن مدير الحزم دورة في الدقيقة 4.16.0. تم تطوير مشروع RPM4 بواسطة Red Hat ويستخدم في توزيعات مثل RHEL (بما في ذلك المشاريع المشتقة CentOS، وScientific Linux، وAsiaLinux، وRed Flag Linux، وOracle Linux)، وFedora، وSUSE، وopenSUSE، وALT Linux، وOpenMandriva، وMageia، وPCLinuxOS، تيزن وغيرها الكثير. فريق تطوير مستقل سابقًا متطور مشروع RPM5، والذي لا يرتبط مباشرة بـ RPM4 وتم التخلي عنه حاليًا (لم يتم تحديثه منذ 2010). رمز المشروع وزعت من خلال مرخص بموجب GPLv2 وLGPLv2.

أبرزها تحسينات في دورة في الدقيقة 4.16:

  • تم تنفيذ واجهة خلفية جديدة لتخزين قواعد البيانات في نظام إدارة قواعد البيانات SQLite. هذه الخلفية سوف يستخدم في Fedora Linux 33 بدلاً من الواجهة الخلفية المستندة إلى BerkeleyDB.
  • تم تنفيذ واجهة خلفية تجريبية جديدة لتخزين قواعد البيانات في BDB (Oracle Berkeley DB)، والتي تعمل في وضع القراءة فقط. تمت كتابة التنفيذ من البداية ولا يستخدم تعليمات برمجية من الواجهة الخلفية القديمة لـ BerkeleyDB، والتي تم إهمالها ولكنها لا تزال مضمنة بشكل افتراضي.
  • تمت إزالة الواجهة الخلفية لقاعدة البيانات التجريبية المستندة إلى LMDB.
  • تم الإعلان عن استقرار قاعدة البيانات الخلفية المستندة إلى وحدة تخزين NDB.
  • تمت إضافة دعم لوحدات الماكرو والتعبيرات "%if". مشغل الرانفة (%{expr:1==0؟"yes "no"}) ويقدم ميزة مقارنة الإصدارات المضمنة ('%[v"3:1.2-1″ > v"2.0″]').
  • تم تنفيذ دعم تصنيف الملفات بناءً على أنواع MIME لمحتواها.
  • وأضاف القدرة على توليد التبعيات باستخدام وحدات الماكرو البارامترية.
  • تم اقتراح إصدار جديد من واجهة برمجة تطبيقات التحليل والمقارنة لـ C وPython.
  • يتم ضمان التوازي في تنفيذ مكونات شريط brp ومجموعة الاختبار. تم تنفيذ تحسين الموازاة في عملية إنشاء الحزمة.
  • إلى الأداة المساعدة rpmdb مضاف الخيار "—salvagedb" لاستعادة قاعدة البيانات التالفة (يعمل فقط مع الواجهة الخلفية لـ NDB).
  • تمت إضافة وحدات ماكرو جديدة %arm32 و%arm64 و%riscv لاكتشاف البنية. تمت إضافة ماكرو مدمج أيضًا %{macrobody:...} للحصول على محتويات وحدات الماكرو.
  • يمنع استعمال كلمات غير مفصولة بعلامات الاقتباس في العبارات، أي: بدلاً من "a == b" أنت الآن بحاجة إلى كتابة ""a" == "b"".
  • يطبق محلل التعبير بناء الجملة "%[...]" لتنفيذ تعبير بتوسيع الماكرو (وهو يختلف عن "%{expr:...}" حيث يتم تنفيذ وحدات الماكرو أولاً).
  • تمت إضافة دعم للتوسعة القصيرة للعوامل المنطقية والرانفية في التعبيرات ("%[0 && 1 / 0]" يتم التعامل معها على أنها 0 بدلاً من التسبب في خطأ بسبب محاولة القسمة على صفر).
  • تمت إضافة دعم لاستخدام العامل NOT المنطقي في سياقات عشوائية (!"%?foo").
  • سلوك عوامل التشغيل "||". ويتم مطابقة "&&" مع Perl/Python/Ruby، أي. بدلاً من إرجاع قيمة منطقية، تقوم الآن بإرجاع آخر قيمة محسوبة (على سبيل المثال، "%[2 || 3]" سترجع 2).
  • تمت إضافة القدرة على التحقق من التنسيقات البديلة للتوقيعات الرقمية والتجزئة.
  • تمت إضافة دعم لتبعيات التعريف (يتطلب (ميتا): somepkg)، والتي لا تؤثر على ترتيب التثبيت والإزالة.
  • تمت إضافة خيار "--rpmv3" إلى rpmsign لفرض استخدام التوقيعات الرقمية بتنسيق RPM3.
  • تمت إضافة خيار التثبيت "--excludeartifacts" لتخطي تثبيت الوثائق وأمثلة ملفات التكوين والبيانات الأخرى ذات الصلة.
  • تم إيقاف الدعم لـ RPMv3 والواجهات الخلفية للتشفير beecrypt وNSS.
  • تمت إضافة دعم لـ DSA2 (gcrypt) وEdDSA.

المصدر: opennet.ru

إضافة تعليق