RPM 4.16 buraxılışı

Bir illik inkişafdan sonra reallaşdı paket meneceri buraxılışı 4.16.0 RPM. RPM4 layihəsi Red Hat tərəfindən hazırlanmışdır və RHEL (törəmə layihələri CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux daxil olmaqla), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, kimi paylamalarda istifadə olunur. Tizen və bir çox başqaları. Əvvəllər müstəqil inkişaf qrupu inkişaf etmişdir layihə RPM 5, RPM4 ilə birbaşa əlaqəli olmayan və hazırda tərk edilmiş (2010-cu ildən yenilənmir). Layihə kodu yayılır GPLv2 və LGPLv2 altında lisenziyalıdır.

Ən diqqətəlayiq irəliləyişlər RPM 4.16-da:

  • SQLite DBMS-də verilənlər bazalarının saxlanması üçün yeni backend tətbiq edilmişdir. Bu backend istifadə olunacaq Fedora Linux 33-də BerkeleyDB-ə əsaslanan backend əvəzinə.
  • Yalnız oxumaq rejimində işləyən BDB-də (Oracle Berkeley DB) verilənlər bazalarının saxlanması üçün yeni eksperimental backend tətbiq edilmişdir. Tətbiq sıfırdan yazılmışdır və köhnəlmiş, lakin hələ də defolt olaraq daxil edilmiş köhnə BerkeleyDB backend kodundan istifadə etmir.
  • Eksperimental LMDB əsaslı verilənlər bazası backend silindi.
  • NDB yaddaşına əsaslanan backend verilənlər bazası stabil elan edilmişdir.
  • "%if" makroları və ifadələri üçün əlavə dəstək thenar operatoru (%{ifadə:1==0?"bəli":"yox"}) və daxili versiya müqayisəsi funksiyasını təklif edir ('%[v"3:1.2-1″ > v"2.0″]').
  • Faylların məzmununun MIME tipləri əsasında təsnifləşdirilməsinə dəstək həyata keçirilib.
  • İstifadə edərək asılılıq yaratmaq imkanı əlavə edildi parametrik makrolar.
  • C və Python üçün təhlil və müqayisə API-nin yeni versiyası təklif edilmişdir.
  • brp-strip və test paketinin komponentlərinin icrasının paralelləşdirilməsi təmin edilir. Paket generasiya prosesinin paralelləşdirilməsinin optimallaşdırılması həyata keçirilmişdir.
  • Rpmdb yardım proqramına əlavə etdi zədələnmiş verilənlər bazasını bərpa etmək üçün “—salvagedb” seçimi (yalnız NDB backend ilə işləyir).
  • Memarlıq aşkarlanması üçün yeni %arm32, %arm64 və %riscv makroları əlavə edildi. Həmçinin makroların məzmununu əldə etmək üçün daxili makro %{macrobody:...} əlavə edildi.
  • İfadələrdə dırnaq işarəsi ilə ayrılmamış sözlərdən istifadə etmək qadağandır, yəni. 'a == b' əvəzinə indi '"a" == "b"' yazmalısınız.
  • İfadə analizatoru makro genişləndirmə ilə ifadənin icrası üçün “%[...]” sintaksisini həyata keçirir (“%{ifadə:...}” ilə fərqlənir ki, makrolar əvvəlcə yerinə yetirilir).
  • İfadələrdə məntiqi və tenar operatorların qısa müddətə genişləndirilməsi üçün əlavə dəstək ("%[0 && 1 / 0]" sıfıra bölmə cəhdinə görə xətaya səbəb olmaq əvəzinə 0 kimi qəbul edilir).
  • İxtiyari kontekstlərdə DEYİL məntiqi operatordan istifadə üçün dəstək əlavə edildi ("%?foo").
  • "||" operatorlarının davranışı və "&&" Perl/Python/Ruby ilə uyğunlaşdırılır, yəni. Boolean dəyəri qaytarmaq əvəzinə, indi son hesablanmış dəyəri qaytarır (məsələn, "%[2 || 3]" 2 qaytaracaq).
  • Rəqəmsal imzaların və hashlərin alternativ formatlarını yoxlamaq imkanı əlavə edildi.
  • Quraşdırma və silinmə sırasına təsir etməyən meta-asılılıqlar üçün əlavə dəstək (Tələb olunur(meta): somepkg).
  • RPM3 formatında rəqəmsal imzaların istifadəsini məcbur etmək üçün rpmsign üçün "--rpmv3" seçimi əlavə edildi.
  • Sənədlərin, nümunə konfiqurasiya fayllarının və digər əlaqəli məlumatların quraşdırılmasını atlamaq üçün "--excludeartifacts" quraşdırma seçimi əlavə edildi.
  • RPMv3 və beecrypt və NSS kriptovalyutası üçün köhnəlmiş dəstək.
  • DSA2 (gcrypt) və EdDSA üçün əlavə dəstək.

Mənbə: opennet.ru

Добавить комментарий