Lansarea managerului de pachete RPM 4.16

După un an de dezvoltare a avut loc lansarea managerului de pachete RPM 4.16.0. Proiectul RPM4 este dezvoltat de compania Red Hat și este utilizat în distribuții precum RHEL (inclusiv proiectele derivate CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen și multe altele. În trecut, a fost realizat de o echipă independentă de dezvoltatori s-a dezvoltat proiect RPM5, care nu este direct legat de RPM4 și în prezent este abandonat (nu a fost actualizat din 2010). Codul proiectului se răspândește este sub licențele GPLv2 și LGPLv2.

Cele mai notabile îmbunătățiri în RPM 4.16:

  • A fost implementat un nou backend pentru stocarea bazelor de date în SGBD SQLite. Acest backend va fi folosit în Fedora Linux 33 în locul backend-ului bazat pe BerkeleyDB.
  • A fost implementat un nou backend experimental pentru stocarea bazelor de date în BDB (Oracle Berkeley DB), care funcționează în modul de citire. Implementarea a fost scrisă de la zero și nu folosește codul vechiului backend BerkeleyDB, care a fost declarat învechit, dar rămâne inclus în mod implicit.
  • A fost eliminat backend-ul experimental pentru baza de date bazat pe LMDB.
  • A fost declarat stabil backend-ul pentru baza de date bazat pe stocare NDB.
  • Au fost adăugate suport pentru macrocomenzi și expresii „%if” operator ternar (%{expr:1==0?»yes»:»no»}) și propusă o funcționalitate încorporată pentru compararea versiunilor (‘%[v»3:1.2-1″ > v»2.0″]’).
  • A fost implementat suportul pentru clasificarea fișierelor pe baza tipurilor MIME ale conținutului acestora.
  • A fost adăugată posibilitatea de a genera dependențe folosind macrocomenzi parametrice.
  • A fost propusă o nouă versiune a API-ului de analiză și comparare pentru limbile C și Python.
  • A fost asigurată paralelizarea execuției brp-strip și a componentelor setului de teste. A fost optimizată paralelizarea procesului de generare a pachetelor.
  • În utilitarul rpmdb a fost adăugată opțiunea ‘—salvagedb’ pentru recuperarea unei baze de date corupte (funcționează doar cu backend-ul NDB).
  • Au fost adăugate noi macrocomenzi %arm32, %arm64 și %riscv pentru a determina arhitectura. De asemenea, a fost adăugată macrocomanda încorporată %{macrobody:…} pentru a obține conținutul macrocomenzilor.
  • În expresii este interzisă utilizarea cuvintelor neîngrădite cu ghilimele, adică în loc de ‘a == b’ acum trebuie să scrii ‘»a» == «b»‘.
  • În parserul de expresii a fost implementat sintaxa «%[…]» pentru executarea expresiilor cu dezvoltarea macrocomenzilor (se deosebește de «%{expr:…}» prin faptul că macrocomenzile sunt executate primele).
  • În expresii a fost adăugat suport pentru dezvoltarea scurtă a operatorilor logici și ternari («%[0 && 1 / 0]» este considerat 0, nu produce o eroare din cauza încercării de împărțire la zero).
  • A fost adăugat suportul pentru aplicarea operatorului logic NOT în contexte arbitrare (!»%?foo»).
  • Comportamentul operatorilor «||» și «&&» a fost aliniat la Perl/Python/Ruby, adică în loc să returneze o valoare booleană, acum returnează ultima valoare calculată (de exemplu, «%[2 || 3]» va returna 2).
  • A fost adăugată posibilitatea de verificare a formatelor alternative de semnături digitale și a hash-urilor.
  • A fost adăugată suportul pentru meta-dependințe (Requires(meta): somepkg), fără a afecta ordinea de instalare și dezinstalare.
  • În rpmsign a fost adăugată opțiunea „—rpmv3” pentru a forța utilizarea semnăturilor digitale în format RPM3.
  • A fost adăugată opțiunea de instalare „—excludeartifacts” pentru a omite instalarea documentației, exemplarelor de fișiere de configurare și altor date asociate.
  • Suportul pentru RPMv3 și backend-urile criptografice beecrypt și NSS a fost declarat învechit.
  • A fost adăugată suportul pentru DSA2 (gcrypt) și EdDSA.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster