Egy év fejlesztés után csomagkezelő kiadása . Az RPM4 projektet a Red Hat fejleszti, és olyan disztribúciókban használják, mint például a RHEL (beleértve a CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux származékos projekteket), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen, és még sok más. Korábban egy független fejlesztői csapat által projekt , amely közvetlenül nem kapcsolódik az RPM4-hez, és jelenleg elhagyatott (2010 óta nem frissítették). A projekt kódja GPLv2 és LGPLv2 licenc alatt van.
Legfontosabb az RPM 4.16-ban:
- Egy új háttérbe helyezett adatbázis tároló backend került bevezetésre az SQLite DBMS-ben. Ez a backend a Fedora Linux 33-ban a BerkeleyDB alapú backend helyett.
- Egy új kísérleti backend is be lett vezetve, amely az Oracle Berkeley DB-t megvalósítja, és csak olvasási üzemmódban működik. Az implementációt teljesen újra írták, és nem használja a korábbi BerkeleyDB backend kódot, amely elavultnak lett nyilvánítva, de továbbra is alapértelmezettként aktiválva marad.
- Eltávolították a LMDB alapú kísérleti adatbázis backendet.
- Bejelentették az NDB tároló háttér adatbázis stabil változatát.
- A makrók és a ‘%if’ kifejezések támogatást kaptak (%{expr:1==0?"igen":"nem"}) és bevezették a beépített verzió összehasonlító képességet (‘%[v"3:1.2-1" > v"2.0"]’).
- Bevezetésre került a fájlok MIME-típusok szerinti osztályozásának támogatása.
- Lehetőség nyílt a függőségek generálására .
- Egy új API verziót ajánlottak a C és Python nyelvekhez történő parsálásra és összehasonlításra.
- Párhuzamosítást biztosítottak a brp-strip és a tesztelő készlet komponenseinek végrehajtásában. Optimalizálták a csomagok generálásának párhuzamosítási folyamatát.
- Az rpmdb eszközhöz hozzáadták a ‘—salvagedb’ opciót a sérült adatbázis helyreállításához (csak az NDB backend működik).
- Új makrók kerültek bevezetésre: %arm32, %arm64 és %riscv az architektúra meghatározására. Beépített %{macrobody:…} makró is hozzáadva a makrók tartalmának lekérésére.
- A kifejezésekben tilos az idézőjel nélküli szavak használata, tehát a ‘a == b’ helyett most már ‘"a" == "b"’ kell írni.
- A kifejezésekben megvalósították a ‘%[…]’ szintaxist a makrók kibővítésével végrehajtott kifejezésekhez (különbözik a ‘%{expr:…}’-tól abban, hogy a makrók először hajtódnak végre).
- A kifejezésekhez hozzáadták a logikai és hármas operátorok rövid kibővítésének támogatását (‘%[0 && 1 / 0]’ 0-ként van kezelve, és nem okoz hibát a zérusra osztás kísérlete miatt).
- Hozzáadva a NOT logikai operátor alkalmazásának támogatása tetszőleges kontextusokban (!»%?foo»).
- A „||” és „&&” operátorok viselkedése összhangba került a Perl/Python/Ruby nyelvekkel, azaz a boolean érték visszaadása helyett most az utolsó számított értéket adja vissza (például „%[2 || 3]” 2-t ad vissza).
- Hozzáadva az alternatív digitális aláírási formátumok és hash-ok ellenőrzésének lehetősége.
- Hozzáadva a meta-függőségek támogatása (Requires(meta): somepkg), amelyek nem befolyásolják a telepítés és eltávolítás sorrendjét.
- Az rpmsign-hoz hozzáadva a „—rpmv3” opció, amely kényszeríti a digitális aláírások használatát RPM3 formátumban.
- Hozzáadva az „—excludeartifacts” telepítési opció, amely lehetővé teszi a dokumentáció, konfigurációs fájlok példáinak és egyéb kiegészítő adatok telepítésének kihagyását.
- Elavultként kihirdetve az RPMv3 támogatása, valamint a beecrypt és NSS kriptográfiai háttér.
- Hozzáadva a DSA2 (gcrypt) és EdDSA támogatása.
Forrás: opennet.ru
