Pas një vit zhvillimi lëshimi i menaxherit të paketave . Projekti RPM4 zhvillohet nga kompania Red Hat dhe përdoret në distribucione të tilla si RHEL (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ë, u zhvillua nga një ekip i pavarur zhvilluesish projektin , i cili nuk është i lidhur drejtpërdrejt me RPM4 dhe aktualisht është i braktisur (nuk është përditësuar që nga viti 2010). Kodi i projektit në licencat GPLv2 dhe LGPLv2.
Pikat më të dukshme në RPM 4.16:
- Një backend i ri është realizuar për ruajtjen e DB-së në baze të SQLite. Ky backend në Fedora Linux 33 në vend të backend-it të bazuar në BerkeleyDB.
- Një backend eksperimental i ri për ruajtjen e DB-së në BDB (Oracle Berkeley DB) është realizuar, punon në modalitetin vetëm për lexim. Realizimi është shkruar nga fillimi dhe nuk përdor kodin e backend-it të kaluar BerkeleyDB, i cili është shpallur i vjetëruar, por akoma përfshihet si parazgjedhje.
- Backend-i eksperimental i DB-së në bazë të LMDB është hequr.
- Backend-i i stabilizuar i DB-së në bazë të ruajtjes NDB është shpallur.
- NĂ« makro dhe shprehjet "%if" Ă«shtĂ« shtuar mbĂ«shtetje (%{expr:1==0?"yes":"no"}) dhe Ă«shtĂ« propozuar njĂ« mundĂ«si e integruar pĂ«r krahasimin eVersioneve (â%[v"3:1.2-1" > v"2.0"]â).
- Mbështetje për klasifikimin e skedarëve është realizuar në bazë të MIME-tipeve të përmbajtjes së tyre.
- ĂshtĂ« shtuar mundĂ«sia e gjenerimit tĂ« varĂ«sive me anĂ« tĂ« .
- Një version i ri i API-së për analizimin dhe krahasimin për gjuhët C dhe Python është propozuar.
- Kjo ka siguruar paralelizimin e ekzekutimit tĂ« brp-strip dhe komponenteve tĂ« grupit tĂ« testeve. ĂshtĂ« realizuar optimizimi i paralelizimit tĂ« procesit tĂ« gjenerimit tĂ« pakove.
- Në utilitarin rpmdb opsioni «--salvagedb» për të rikuperuar një DB të dëmtuar (funksionon vetëm me backend NDB).
- JanĂ« shtuar makro tĂ« reja %arm32, %arm64 dhe %riscv pĂ«r tĂ« pĂ«rcaktuar arkitekturĂ«n. Po ashtu Ă«shtĂ« shtuar makro e integruar %{macrobody:âŠ} pĂ«r tĂ« marrĂ« pĂ«rmbajtjen e makros.
- NĂ« shprehje, pĂ«rdorimi i fjalĂ«ve pa citohet Ă«shtĂ« i ndaluar, dmth, nĂ« vend tĂ« âa == bâ tani duhet tĂ« shkruani â»a» == «b»â.
- NĂ« parserin e shprehjeve Ă«shtĂ« implementuar sintaksa «%[âŠ]» pĂ«r tĂ« ekzekutuar njĂ« shprehje me shpalosjen e makros (ndryshon nga «%{expr:âŠ}» nĂ« atĂ« qĂ« makros ekzekutohen tĂ« parat).
- Në shprehje është shtyrë mbështetje për shpalosjen e shkurtër të operatorëve logjik dhe ternarë («%[0 && 1 / 0]» merret si 0, dhe nuk çon në gabim për shkak të përpjekjes për ndarjen nga zero).
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r aplikimin e operatorit logjik NOT nĂ« kontekste tĂ« rastĂ«sishme (!»%?foo»).
- Sistemi i operatorëve «||» dhe «&&» është përputhur me Perl/Python/Ruby, pra, në vend të kthen një vlerë booleane tani jep vlerën e fundit të llogaritur (p.sh., «%[2 || 3]» do të kthejë 2).
- ĂshtĂ« shtuar mundĂ«sia pĂ«r tĂ« verifikuar formate alternative tĂ« nĂ«nshkrimeve digjitale dhe hash-eve.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r meta-varĂ«sitĂ« (Requires(meta): somepkg), qĂ« nuk ndikojnĂ« nĂ« rendin e instalimit dhe fshirjes.
- NĂ« rpmsign Ă«shtĂ« shtuar opsioni «ârpmv3» pĂ«r tĂ« detyruar pĂ«rdorimin e nĂ«nshkrimeve digjitale nĂ« formatin RPM3.
- ĂshtĂ« shtuar opsioni i instalimit «âexcludeartifacts» pĂ«r tĂ« anashkaluar instalimin e dokumentacionit, mostrave tĂ« skedarĂ«ve tĂ« konfigurimit dhe tĂ« dhĂ«nave tĂ« tjera shoqĂ«ruese.
- Mbështetjeja për RPMv3 dhe backend-et e kriptografisë beecrypt dhe NSS tani është shpallur si e vjetruar.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r DSA2 (gcrypt) dhe EdDSA.
Burimi: opennet.ru
