PÀrast aasta pikkust arendust toimus RPM 4.20.0 paketihalduri vÀljaanne. RPM4 projekti arendab Red Hat ning see on kasutusel sellistes distributsioonides nagu RHEL, Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS ja Tizen. Projekti kood levitatakse GPLv2 ja LGPLv2 litsentside alusel.
JĂ€rgmisel aastal oodatakse olulise RPM 6 haru vĂ€ljaandmist, kus tutvustatakse uut arhiiviformaati, mis vĂ”imaldab erinevalt praegu kasutatavast cpio vormaadist luua rohkem kui 4 GB suuruseid pakette (see piirang on oluline, kuna SRC-pakett Chromium lĂ€heneb piirile ja selle suurus on 3,7 GB). Uues harus plaanitakse samuti lubada C++ keele kasutamine RPMi arendamiseks. Uus oluline haru seondub projekti juubeliga â 27. novembril 2025 möödub 30 aastat esimesest commitist RPM-is. RPM 5.x versioonid jĂ€etakse vahele, et vĂ€ltida ĂŒhtlasi seoseid RPM5 projektiga, mis ei ole otseselt seotud Red Hati RPM-iga, arendati sĂ”ltumatu arendajate meeskonna poolt ning ei uuendata alates 2016. aastast.
RPM 4.20.0 kÔige mÀrkimisvÀÀrsemad tÀiustused:
- Komplekti on lisatud uus utiliid rpm2archive, mis asendab utiliidi rpm2cpio ja lihtsustab edaspidi ĂŒleminekut uuele pakiformaadile, mis ei kasuta cpio-d. Erinevalt rpm2cpio-st muudab uus utiliit RPM-faili mitte cpio-arhiviks, vaid gzip-iga komprimeerituks tar-formaadis arhiviks. Vana utiliit rpm2cpio on asendatud sĂŒmboolse lingiga rpm2archive.
- Pakkuda on vĂ€lja deklareeritav ehitussĂŒsteem, mis pĂ”hineb uue direktiivi âBuildSystemâ kasutamisel, mille kaudu saab mÀÀrata paketi koostamisel kasutatava ehitussĂŒsteemi. Allikasood automaatselt ette valmistatakse, kompileeritakse ja installitakse tuginedes mÀÀratud ehitussĂŒsteemile, ilma et oleks vaja eraldi mÀÀrata SPEC-failis ettevalmistus-, ehitus- ja installimiscripts'%prep', '%build' ja '%install' blokis. RPM-is mÀÀratakse toetatavad ehitussĂŒsteemid makrode kogumite kujul.
Peamine idee on see, et deklaratiivne seadistusvorm vĂ”imaldab distributsioonide arendajatel luua erinevaid makrosid tĂŒĂŒpiliste koostamisprotsesside jaoks, et vĂ€ltida korduvate stsenaariumide mÀÀramist igas paketis. NĂ€iteks, selle asemel, et mÀÀrata Autotools'i kasutavatele programmidele kĂ€skude configure ja make kĂ€ivitamise jĂ€rjestusi, piisab nĂŒĂŒd, kui öelda lihtsalt "BuildSystem: autotools" ning vĂ€ltida sektsioone "%prep", "%build" ja "%install". TĂ€naseks on sellised makrod ette valmistatud Autotools'i ja CMake'i jaoks. Kui on vajalik rakendada mittestandardselt kĂ€itumist, on pakette saatva isiku jaoks vĂ”imalus liita oma makrosid pakendi koostamise erinevate etappide ĂŒmbermÀÀramiseks.
- Lisatud tugi tĂ€iendavate sektsioonide manustamiseks, mis sisaldavad ettevalmistamise, kogumise, installeerimise, seadistamise, puhastamise ja kontrollimise kĂ€ske, mis tĂ€iendavad baassektsioone %prep, %conf, %build, %install, %check ja %clean. TĂ€iendava skripti kĂ€ivitamiseks enne baassektsiooni kĂ€ivitamist on pakutud valik "-p", ja pĂ€rast baassektsiooni â valik "-a". Sellised asendused vĂ”ivad osutuda kasulikeks kĂ€itumise tĂ€psustamiseks eelnimetatud deklaratiivse kogumise reĆŸiimi kasutamisel.
- DĂŒnaamiliselt loodud SPEC-failide osadesse on lubatud lisada direktiive ja sektsioone, mis ei mĂ”juta kogumisprotsessi.
- Lisatud makro %builddir ja rakendatud RPM-i kaudu hallatav vÔimalus siduda oma kogumiskataloogid eraldi pakettidega.
- Pakutud on uus protokoll "multi-file", mis kiirendab oluliselt sÔltuvuste genereerimist.
- rpm-kĂ€sku on lisatud valik "âjson", et esitada pĂ€ringute tulemusi JSON-formaadis.
- Lisatud rpm-plugin-unshare pistikprogramm, mis tagab skriptide isoleerimise ehitusosades, kasutades Linuxi nimesid. NĂ€iteks vĂ”imaldab pistikprogramm keelata vĂ”rgu juurdepÀÀsu ja piirata failisĂŒsteemi juurdepÀÀsu, samuti kasutada eraldi privaatseid kaustu /tmp ja /home, et kaitsta vĂ”imalike ohtlike ajutiste failide töötlemise korral pakettide koostamisel.
- Pakutud on avalik API pistikprogrammide arendamiseks, mis sĂ€ilitab versioonide vahelise ĂŒhilduvuse. Varasemalt oli pistikprogrammide API mĂ”eldud ainult sisemiseks kasutamiseks ja see vĂ”is versioonide vahel muutuda.
- rpmkeys kĂ€sule on lisatud valikud ââlistâ ja ââdeleteâ.
- rpmsign kÀsule on lisatud digitaalsete allkirjade loomise tugi paketid, kasutades ECDSA vÔtmeid.
- Korduvate koostamiste tugi on paranenud. Lisatud makro â%build_mtime_policyâ, mis vĂ”imaldab hallata koostamisel lisatud ajamĂ€rgiste sisu (lĂ€bi vÀÀrtuse clamp_to_source_date_epoch saab kasutada fikseeritud mĂ€rkide, ja clamp_to_buildtime kaudu saab mĂ€rkida tegelikku koostamise aega).
- sysusers.d failides on lubatud lisada ridu grupi liikmete mÀÀratlemiseks.
- Tagatud korrektne ja distributsioonist sÔltumatu debuginfo failide tugi.
- MakrosĂŒntaks %patchN (ilma tĂŒhikuta N ees) on kuulutatud vananenuks, mille kasutamine toob nĂŒĂŒd kaasa vea (kasutage sĂŒntaksit "%patch N" vĂ”i "%patch -P N", kus N on patch'i number).
- Vananenud OpenPGP parser on eemaldatud.
- Perli ja Pythoni ABI sÔltuvuste generaatorid on viidud eraldi hoidlastesse.
Allikas: opennet.ru
