Po roku vývoja vydanie správcu balíkov Projekt RPM4 je vyvinutý spoločnosťou Red Hat a používa sa v distribúciách ako RHEL (vrátane odvodených projektov). CentOS, Vedecký Linux, ÁziaLinux, Červená vlajka Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen a mnoho ďalších. Predtým nezávislý vývojový tím projekt , ktorá priamo nesúvisí s RPM4 a v súčasnosti je opustená (neaktualizovaná od roku 2010). Kód projektu pod licenciou GPLv2 a LGPLv2.
Najpozoruhodnejšie v otáčkach 4.16:
- Bol implementovaný nový backend pre ukladanie databáz v SQLite DBMS. Tento backend vo Fedore Linux 33 namiesto backendu založeného na BerkeleyDB.
- Bol implementovaný nový experimentálny backend pre ukladanie databáz v BDB (Oracle Berkeley DB), ktorý pracuje v režime iba na čítanie. Implementácia je napísaná úplne od začiatku a nepoužíva kód zo staršieho backendu BerkeleyDB, ktorý bol zastaraný, ale stále je štandardne zahrnutý.
- Experimentálny backend databázy založený na LMDB bol odstránený.
- Backendová databáza založená na úložisku NDB bola vyhlásená za stabilnú.
- Pridaná podpora pre makrá a výrazy "%if". (%{expr:1==0?"yes":"no"}) a ponúka vstavanú funkciu porovnávania verzií ('%[v"3:1.2-1″ > v"2.0″]').
- Bola implementovaná podpora pre klasifikáciu súborov na základe typov MIME ich obsahu.
- Pridaná možnosť vytvárať závislosti pomocou .
- Bola navrhnutá nová verzia rozhrania API na analýzu a porovnávanie pre C a Python.
- Je zabezpečená paralelnosť vykonávania komponentov brp-stripu a testovacej súpravy. Bola vykonaná optimalizácia paralelizácie procesu generovania paketov.
- K obslužnému programu rpmdb možnosť „—salvagedb“ na obnovenie poškodenej databázy (funguje len s backendom NDB).
- Pridané nové makrá %arm32, %arm64 a %riscv na detekciu architektúry. Tiež pridané vstavané makro %{macrobody:...} na získanie obsahu makier.
- Vo výrazoch je zakázané používať slová, ktoré nie sú oddelené úvodzovkami, t.j. namiesto 'a == b' teraz musíte napísať '"a" == "b"'.
- Analyzátor výrazov implementuje syntax „%[...]“ na spustenie výrazu s rozšírením makra (od „%{expr:...}“ sa líši tým, že makrá sa spustia ako prvé).
- Pridaná podpora krátkeho rozšírenia logických operátorov a operátorov thenar vo výrazoch ("%[0 && 1 / 0]" sa považuje za 0 a nespôsobuje chybu v dôsledku pokusu o delenie nulou).
- Pridaná podpora pre používanie logického operátora NOT v ľubovoľných kontextoch (!"%?foo").
- Správanie operátorov "||". a "&&" je zosúladené s Perl/Python/Ruby, t.j. Namiesto vrátenia boolovskej hodnoty teraz vracia poslednú vypočítanú hodnotu (napríklad "%[2 || 3]" vráti 2).
- Pridaná možnosť overovania alternatívnych formátov digitálnych podpisov a hashov.
- Pridaná podpora pre metazávislosti (Requires(meta): somepkg), ktoré neovplyvňujú poradie inštalácie a odstraňovania.
- Do rpmsign bola pridaná možnosť „--rpmv3“, aby sa vynútilo používanie digitálnych podpisov vo formáte RPM3.
- Pridaná možnosť inštalácie "--excludeartifacts" na preskočenie inštalácie dokumentácie, príkladov konfiguračných súborov a iných súvisiacich údajov.
- Zastaraná podpora pre RPMv3 a šifrovacie backendy beecrypt a NSS.
- Pridaná podpora pre DSA2 (gcrypt) a EdDSA.
Zdroj: opennet.ru
