Pas një viti zhvillimi lëshimi i menaxherit të paketave . Projekti RPM4 zhvillohet nga kompania Red Hat dhe përdoret në shpërndarje të tilla si RHEL (duke përfshirë projektet përkatëse CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen dhe shumë të tjera. Më parë, nga një skuadër e pavarur zhvilluesish projekt , i cili nuk është i lidhur direkt me RPM4 dhe aktualisht është braktisur (nuk është përditësuar që nga viti 2010). Kodi i projektit në përputhje me licencat GPLv2 dhe LGPLv2.
Pikat më të dukshme në RPM 4.16:
- ĂshtĂ« realizuar njĂ« backend i ri pĂ«r ruajtjen e DB nĂ« sistemin e menaxhimit tĂ« bazĂ«s sĂ« tĂ« dhĂ«nave SQLite. Ky backend nĂ« Fedora Linux 33 nĂ« vend tĂ« backend-it tĂ« bazuar nĂ« BerkeleyDB.
- ĂshtĂ« realizuar njĂ« backend eksperimental i ri pĂ«r ruajtjen e DB nĂ« BDB (Oracle Berkeley DB), qĂ« punon nĂ« modalitetin vetĂ«m pĂ«r lexim. Realizimi Ă«shtĂ« shkruar nga e para dhe nuk pĂ«rdor kodin e backend-it tĂ« kaluar BerkeleyDB, i cili Ă«shtĂ« shpallur i vjetĂ«ruar, por ende pĂ«rfshihet si parazgjedhje.
- Backend-i eksperimental i DB mbi bazën e LMDB është fshirë.
- Backend-i i DB mbi bazën e ruajtjes NDB është shpallur si stabil.
- NĂ« makrot dhe shprehjet â%ifâ Ă«shtĂ« shtuar mbĂ«shtetje (%{expr:1==0?"yes":"no"}) dhe Ă«shtĂ« ofruar njĂ« mundĂ«si e ndĂ«rtuar pĂ«r krahasimin e versioneve (â%[v"3:1.2-1" > v"2.0"]â).
- ĂshtĂ« realizuar mbĂ«shtetje pĂ«r klasifikimin e skedarĂ«ve bazuar nĂ« MIME-tĂ« e pĂ«rmbajtjes sĂ« tyre.
- ĂshtĂ« shtuar mundĂ«sia pĂ«r gjenerimin e varĂ«sive pĂ«rmes .
- ĂshtĂ« propozuar njĂ« version i ri API pĂ«r analizimin dhe krahasimin pĂ«r gjuhĂ«t C dhe Python.
- ĂshtĂ« siguruar paralelizimi i ekzekutimit tĂ« brp-strip dhe komponentĂ«ve tĂ« grupit tĂ« testeve. ĂshtĂ« kryer optimizimi i procesit tĂ« paralelizimit tĂ« gjenerimit tĂ« pakove.
- NĂ« utilitarin rpmdb Ă«shtĂ« shtuar opsioni ââsalvagedbâ pĂ«r rikuperimin e DB tĂ« dĂ«mtuar (punon vetĂ«m me backend-in NDB).
- JanĂ« shtuar makro tĂ« reja %arm32, %arm64 dhe %riscv pĂ«r pĂ«rcaktimin e arkitekturĂ«s. ĂshtĂ« shtuar gjithashtu makroja e ndĂ«rtuar %{macrobody:âŠ} pĂ«r tĂ« marrĂ« pĂ«rmbajtjen e makrove.
- NĂ« shprehje Ă«shtĂ« ndaluar pĂ«rdorimi i fjalĂ«ve tĂ« papĂ«rcaktuara me thonjza, dmth. nĂ« vend tĂ« âa == bâ tani duhet tĂ« shkruhet â"a" == "b"â.
- NĂ« parserin e shprehjeve Ă«shtĂ« realizuar sintaksa â%[âŠ]â pĂ«r ekzekutimin e shprehjes me zgjerimin e makrove (diferencĂ«n nga â%{expr:âŠ}â e bĂ«n qĂ« makrot tĂ« ekzekutohen fillimisht).
- NĂ« shprehje Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r shpĂ«rndarjen e shkurtĂ«r tĂ« operatorĂ«ve logjikĂ« dhe ternarĂ« (â%[0 && 1 / 0]â konsiderohet si 0, dhe nuk shkakton njĂ« gabim nga pĂ«rpjekja pĂ«r ndarje me zero).
- ĂshtĂ« realizuar mbĂ«shtetje pĂ«r aplikimin e operatorit logjik NOT nĂ« kontekste tĂ« rastĂ«sishme (!"%?foo").
- Sjellja e operatorĂ«ve â||â dhe â&&â Ă«shtĂ« pĂ«rshtatur me Perl/Python/Ruby, dmth. nĂ« vend tĂ« kthimit tĂ« njĂ« vlerĂ«sim tĂ« boolean tani kthen vlerĂ«n e fundit tĂ« llogaritur (pĂ«r shembull, "%[2 || 3]%" do tĂ« kthejĂ« 2).
- Shtuar mundësinë për verifikimin e formateve alternative të nënshkrimeve dixhitale dhe hash-eve.
- Shtuar mbështetje për meta-varësi (Requires(meta): somepkg), pa ndikuar në rendin e instalimit dhe të heqjes.
- NĂ« rpmsign Ă«shtĂ« shtuar opsioni "ârpmv3" pĂ«r tĂ« detyruar pĂ«rdorimin e nĂ«nshkrimeve dixhitale nĂ« formatin RPM3.
- Shtuar njĂ« opsion instaluese "âexcludeartifacts" pĂ«r tĂ« anashkaluar instalimin e dokumentacionit, shembujve tĂ« skedave tĂ« konfigurimit dhe tĂ« dhĂ«nave tĂ« tjera pĂ«rcjellĂ«se.
- Deklaruar si të vjetruar mbështetja për RPMv3 dhe backend-et kriptografike beecrypt dhe NSS.
- Shtuar mbështetje për DSA2 (gcrypt) dhe EdDSA.
Burimi: opennet.ru
