Vydání RPM 4.16

Po roce vývoje odehrál se vydání správce balíčků 4.16.0 RPM. Projekt RPM4 je vyvinut společností Red Hat a používá se v distribucích jako RHEL (včetně odvozených projektů CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen a mnoho dalších. Dříve nezávislý vývojový tým rozvinutý projekt RPM5, který přímo nesouvisí s RPM4 a je v současnosti opuštěný (neaktualizován od roku 2010). Kód projektu distribuovány pod licencí GPLv2 a LGPLv2.

Nejpozoruhodnější vylepšení v RPM 4.16:

  • Byl implementován nový backend pro ukládání databází v SQLite DBMS. Tento backend bude použito ve Fedora Linux 33 místo backendu založeného na BerkeleyDB.
  • Byl implementován nový experimentální backend pro ukládání databází v BDB (Oracle Berkeley DB), pracující v režimu pouze pro čtení. Implementace je napsána od začátku a nepoužívá kód ze staršího backendu BerkeleyDB, který byl zastaralý, ale je stále zahrnut ve výchozím nastavení.
  • Experimentální backend databáze založený na LMDB byl odstraněn.
  • Backendová databáze založená na úložišti NDB byla prohlášena za stabilní.
  • Přidána podpora maker a výrazů "%if". operátor thenar (%{expr:1==0?"yes":"no"}) a nabízí vestavěnou funkci porovnání verzí ('%[v"3:1.2-1″ > v"2.0″]').
  • Byla implementována podpora pro klasifikaci souborů na základě typů MIME jejich obsahu.
  • Přidána možnost generovat závislosti pomocí parametrická makra.
  • Byla navržena nová verze rozhraní API pro analýzu a porovnání pro C a Python.
  • Je zajištěna paralelizace provádění komponent brp-stripu a testovací sady. Byla provedena optimalizace paralelizace procesu generování paketů.
  • K obslužnému programu rpmdb přidal možnost „—salvagedb“ pro obnovení poškozené databáze (funguje pouze s backendem NDB).
  • Přidána nová makra %arm32, %arm64 a %riscv pro detekci architektury. Také přidáno vestavěné makro %{macrobody:...} pro získání obsahu maker.
  • Ve výrazech je zakázáno používat slova neoddělená uvozovkami, tzn. místo 'a == b' nyní musíte napsat '"a" == "b"'.
  • Analyzátor výrazů implementuje syntaxi „%[...]“ pro provádění výrazu s rozšířením makra (od „%{expr:...}“ se liší tím, že se makra spouštějí jako první).
  • Přidána podpora krátké expanze logických a thenarových operátorů ve výrazech ("%[0 && 1 / 0]" je považováno za 0 a nezpůsobuje chybu kvůli pokusu o dělení nulou).
  • Přidána podpora pro použití logického operátoru NOT v libovolném kontextu (!"%?foo").
  • Chování operátorů "||". a "&&" je uvedeno do souladu s Perl/Python/Ruby, tj. Místo vracení booleovské hodnoty nyní vrací poslední vypočítanou hodnotu (například "%[2 || 3]" vrátí 2).
  • Přidána možnost ověřovat alternativní formáty digitálních podpisů a hashů.
  • Přidána podpora pro metazávislosti (Requires(meta): somepkg), které neovlivňují pořadí instalace a odstranění.
  • Do rpmsign byla přidána možnost „--rpmv3“, která vynutí použití digitálních podpisů ve formátu RPM3.
  • Přidána možnost instalace "--excludeartifacts" pro přeskočení instalace dokumentace, příkladů konfiguračních souborů a dalších souvisejících dat.
  • Zastaralá podpora pro RPMv3 a šifrovací backendy beecrypt a NSS.
  • Přidána podpora pro DSA2 (gcrypt) a EdDSA.

Zdroj: opennet.ru

Přidat komentář