Pas pothuajse dy vjet 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 lidhet drejtpërdrejt me RPM4 dhe aktualisht është i braktisur (nuk është përditësuar që nga viti 2010).
Pikat më të dukshme në RPM 4.15:
- Shtuar mbështetje eksperimentale për ndërtimin jo të privilegjuar në një ambient chroot;
- mbështetje për ndarjen e ndërtimit të paketave në sisteme me shumë bërthama. Kufizimi i numrit të fijeve caktohet nëpërmjet makros "%_smp_build_ncpus" dhe variablës $RPM_BUILD_NCPUS. Për të përcaktuar numrin e CPU është propozuar makro "%getncpus";
- Në skedat spec është futur mbështetje për operatorin e kushteve "%elif" (else if), si dhe varianta "%elifos" dhe "%elifarch" për lidhjen me shpërndarjen dhe arkitekturën;
- seksione të reja "%patchlist" dhe "%sourcelist", të cilat mund të përdoren për të shtuar patches dhe kodin burimor duke e renditur thjesht emrat pa treguar numrat e shënimeve (për shembull, në vend të
"Patch0: popt-1.16-pkgconfig.patch" në seksionin %patchlist mund të tregoni "popt-1.16-pkgconfig.patch"); - Në rpmbuild mbështetje për ndërtimin dinamik të varësive me përfshirjen e tyre në src.rpm. Në skedën spec është futur mbështetje për seksionin "%generate_buildrequires", përmbajtja e të cilit përpunohen si një listë varësish (BuildRequires), që kërkon verifikim (nëse varësia mungon, do të shfaqet një gabim).
- operatori "^" për të verifikuar versionet më të vjetra se data e caktuar, i cili kryen veprimin e kundërt të operatorit "~". Për shembull,
"1.1^20160101" do tĂ« pĂ«rfshijĂ« versionin 1.1 dhe patches, tĂ« shtuar pas 1 janarit 2016; - Shtuar opsioni "âscm" pĂ«r pĂ«rfshirjen e modit "%autosetup SCM";
- Shtuar makron e integruar "%{expr:âŠ}" pĂ«r llogaritjen e shprehjeve tĂ« rastĂ«sishme (disa ditĂ« mĂ« parĂ« gjithashtu u shtua format "%[ expr ]");
- Siguruar përdorimin e kodimit UTF-8 si të parazgjedhur për të dhënat string në tituj;
- Shtuar makro globale %build_cflags, %build_cxxflags, %build_fflags dhe %build_ldflags me flamuj për përpunuesin dhe lidhësin;
- Shtuar makron "%dnl" (Hidh pĂ«r te Vija E N ë€ì) pĂ«r tĂ« futur komente;
- Në lidhjet për Python 3, siguruar kthimin e të dhënave string si sekuenca të ekranuara UTF-8 në vend të të dhënave byte;
- Shtuar një backend të rremë DB për të përmirësuar mbështetje sistemesh pa rpmdb (për shembull, Debian);
- Përmirësuar identifikimi i arkitekturës ARM dhe shtuar mbështetje për armv8;
- Siguruar mbështetje pa probleme për Lua 5.2-5.3, pa kërkuar përcaktime compat në kod.
Burimi: opennet.ru
