Peaaegu kahe aasta arendustöö järel paketihalduri väljalase . RPM4 projekti arendab Red Hat ja seda kasutatakse sellistes levitustes nagu RHEL (sealhulgas tuletatud projektid CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen ja paljudes teistes. Varasemalt oli see sõltumatu arendajate meeskonna poolt. projekt , mis ei ole otseselt seotud RPM4-ga ja on praegu hüljatud (pole uuendatud alates 2010. aastast).
Kõige silmapaistvamad RPM 4.15-s:
- Lisatud katsetamine alandatud koostamise toetuseks chroot-keskkonnas;
- tugede toimetamise paralleelsus mitme tuuma süsteemides. Protsesside arvu piirdumine toimub makro kaudu „%_smp_build_ncpus“ ja muutuja $RPM_BUILD_NCPUS kaudu. Protsessorite arvu määramiseks on pakutud makrot „%getncpus“;
- Spec-failides on nüüd toetatud tingimuslikke operaatorid „%elif“ (else if), samuti variandid „%elifos“ ja „%elifarch“ jaotuse ja arhitektuuri sidumiseks;
- uued sektsioonid „%patchlist“ ja „%sourcelist“, mida saab kasutada täiendavate patchide ja algteksti lisamiseks nimede lihtsa loetlemise kaudu ilma numbrite näitamiseta (näiteks asemel
„Patch0: popt-1.16-pkgconfig.patch“ sektsioonis %patchlist saab näidata „popt-1.16-pkgconfig.patch“); - V rpmbuild dünaamiliste sõltuvuste koostamise toetamine koos nende lisamisega src.rpm. Spec-failis on lisatud toetamine sektsiooni «%generate_buildrequires» jaoks, mille sisu töödeldakse sõltuvuste (BuildRequires) nimekirjana, mis vajab kontrollimist (kui sõltuvust ei leita, kuvatakse viga).
- operaator «^» versioonide kontrollimiseks, mis on vanemad kui antud kuupäev, tehes vastupidist tehte operaatorile «~». Näiteks,
«1.1^20160101» katab versiooni 1.1 ja plekke, mis on lisatud pärast 1. jaanuari 2016. aastat; - Lisatud valik «—scm» režiimi «%autosetup SCM» aktiveerimiseks;
- Lisatud sisseehitatud makro «%{expr:…}» määramatute väljendite arvutamiseks (mõni päev tagasi oli samuti vorming «%[ expr ]»);
- Tagatud on vaikimisi UTF-8 kodeeringu kasutamine stringiandmete jaoks pealkirjades;
- Lisatud globaalsed makrod %build_cflags, %build_cxxflags, %build_fflags ja %build_ldflags koos kompilaatori ja linkija lippudega;
- Lisatud makro «%dnl» (Discard to Next Line) kommentaaride sisestamiseks;
- Python 3 bindaades tagatakse stringide tagastamine, kasutades UTF-8 põgenenud järjestusi failibaidide asemel;
- Lisatud vale andmebaasi tagaplaan, et parandada toe pakkumist süsteemidele ilma rpmdb-ta (näiteks Debian);
- Parandatud ARM-arhitektuuri määratlemine ja lisatud armv8 tugi;
- Tagatud sujuv tugi Lua 5.2-5.3, mis ei nõua kompatiibi määratlemist koodis.
Allikas: opennet.ru
