Izdaja RPM 4.16

Po letu razvoja potekal izdaja upravitelja paketov Vrtljajev 4.16.0. Projekt RPM4 je razvil Red Hat in se uporablja v distribucijah, kot so RHEL (vključno z izpeljanimi projekti CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen in mnogi drugi. Prej neodvisna razvojna ekipa razviti Projekt RPM 5, ki ni neposredno povezan z RPM4 in je trenutno opuščen (ni posodobljen od leta 2010). Koda projekta distributer licenciran pod GPLv2 in LGPLv2.

Najbolj opazen izboljšave v RPM 4.16:

  • Implementirano je bilo novo zaledje za shranjevanje baz podatkov v SQLite DBMS. To zaledje bo uporabljen v Fedora Linux 33 namesto zaledja, ki temelji na BerkeleyDB.
  • Implementirano je bilo novo eksperimentalno zaledje za shranjevanje baz podatkov v BDB (Oracle Berkeley DB), ki deluje v načinu samo za branje. Implementacija je napisana iz nič in ne uporablja kode iz podedovanega zaledja BerkeleyDB, ki je zastarel, vendar je še vedno privzeto vključen.
  • Eksperimentalno zaledje baze podatkov, ki temelji na LMDB, je bilo odstranjeno.
  • Zaledna baza podatkov, ki temelji na shrambi NDB, je bila razglašena za stabilno.
  • Dodana podpora za makre in izraze »%if«. operator thenar (%{expr:1==0?"yes":"no"}) in ponuja vgrajeno funkcijo primerjave različic ('%[v"3:1.2-1″ > v"2.0″]').
  • Implementirana je podpora za razvrščanje datotek glede na vrste MIME njihove vsebine.
  • Dodana možnost ustvarjanja odvisnosti z uporabo parametrični makri.
  • Predlagana je bila nova različica API-ja za razčlenjevanje in primerjavo za C in Python.
  • Zagotovljena je paralelizacija izvajanja komponent brp-strip in testne zbirke. Izvedena je bila optimizacija paralelizacije procesa generiranja paketov.
  • V pripomoček rpmdb dodano možnost “—salvagedb” za obnovitev poškodovane baze podatkov (deluje samo z zaledjem NDB).
  • Dodani novi makri %arm32, %arm64 in %riscv za zaznavanje arhitekture. Dodan je tudi vgrajeni makro %{macrobody:...} za pridobitev vsebine makrov.
  • V izrazih je prepovedana uporaba besed, ki niso ločene z narekovaji, tj. namesto 'a == b' morate zdaj napisati '"a" == "b"'.
  • Razčlenjevalnik izrazov implementira sintakso »%[...]« za izvajanje izraza z razširitvijo makra (od »%{expr:...}« se razlikuje po tem, da se najprej izvedejo makri).
  • Dodana podpora za kratko razširitev logičnih in tenarnih operatorjev v izrazih ("%[0 && 1 / 0]" se obravnava kot 0 in ne povzroča napake zaradi poskusa deljenja z ničlo).
  • Dodana podpora za uporabo logičnega operatorja NOT v poljubnih kontekstih (!"%?foo").
  • Obnašanje operaterjev "||". in "&&" je usklajen s Perl/Python/Ruby, tj. Namesto da vrne logično vrednost, zdaj vrne zadnjo izračunano vrednost (na primer, »%[2 || 3]« bo vrnilo 2).
  • Dodana možnost preverjanja alternativnih formatov digitalnih podpisov in zgoščenih vrednosti.
  • Dodana podpora za metaodvisnosti (Requires(meta): somepkg), ki ne vplivajo na vrstni red namestitve in odstranitve.
  • Dodana možnost "--rpmv3" v rpmsign za vsilitev uporabe digitalnih podpisov v formatu RPM3.
  • Dodana namestitvena možnost »--excludeartifacts« za preskok namestitve dokumentacije, primerov konfiguracijskih datotek in drugih povezanih podatkov.
  • Zastarela podpora za RPMv3 ter kripto ozadja beecrypt in NSS.
  • Dodana podpora za DSA2 (gcrypt) in EdDSA.

Vir: opennet.ru

Dodaj komentar