PÀrast aasta arendust toimus pakettihalduri RPM 4.20.0 vÀljalase. RPM4 projekti arendab ettevÔte Red Hat ja seda kasutatakse sellistes distributsioonides nagu RHEL, Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS ja Tizen. Projektikood levib GPLv2 ja LGPLv2 litsentside alusel.
JĂ€rgmisel aastal oodatakse suurt RPM 6 haru, kus rakendatakse uut arhiiviformaati, mis vĂ”imaldab luua pakette, mille suurus ĂŒletab 4 GB (see piirang on oluline, sest SRC-pakett Chromiumiga on selle piirini lĂ€hedal ja selle suurus on 3.7 GB). Uuel harul on samuti plaanis lubada C++ keele kasutamine RPM-i arendamiseks. Uus tĂ€htis haru on pĂŒhendatud projekti aastapĂ€evale â 27. novembril 2025 möödub 30 aastat esimesest commit'ist RPM-is. RPM 5.x versioonid jÀÀvad vahele, et vĂ€ltida kattumist RPM5 projektiga, mis ei ole otseselt seotud Red Hat'i RPM-iga ja mille arendust on juhtinud iseseisev arendajate meeskond ning mis ei ole alates 2016. aastast uuendatud.
KÔige tÀhelepanuvÀÀrsemad tÀiustused RPM 4.20-s:
- Komplekti on lisatud uus tööriist rpm2archive, mis asendab tööriista rpm2cpio ja lihtsustab edaspidist ĂŒleminekut uuele paketiformaadile, mis ei kasuta cpio. Erinevalt rpm2cpio-st, muundab uus tööriist RPM-faili mitte cpio arhiiviks, vaid gzip'i abil kompresseeritud tar-formaadis arhiiviks. Vana rpm2cpio tööriist on asendatud sĂŒmboolse lingiga rpm2archive.
- Pakutud on deklareeritud koostesĂŒsteem, mis pĂ”hineb uue direktiivi âBuildSystemâ kasutamisel, mille kaudu saab mÀÀrata pakendi loomisel kasutatava koostesĂŒsteemi. Allikasood automaatselt ette valmistatud, kompileeritud ja installitud vastavalt mÀÀratud koostesĂŒsteemile, ilma et oleks vaja eraldi mÀÀrata SPEC-faili ettevalmistus-, koostamis- ja installimisprotsessid plokkides â%prepâ, â%buildâ ja â%installâ. RPM-is mÀÀratakse toetatud koostesĂŒsteemid makrode kogumite kujul.
PĂ”hiteema on see, et deklaratiivne seadistamisformaat vĂ”imaldab distributsioonide arendajatel luua eraldi makrosid tĂŒĂŒpiliste ehitamisprotsesside jaoks, et vĂ€ltida korduvate stsenaariumite mÀÀratlemist igas paketis. NĂ€iteks, selle asemel et mÀÀratleda kĂ€skude configure ja make kĂ€ivitamise jĂ€rjestusi Autotools'i kasutavate programmide jaoks, piisab nĂŒĂŒd, kui öelda "BuildSystem: autotools" ning loobuda sektsioonidest "%prep", "%build" ja "%install". Praegu on sellised makrod ette valmistatud Autotools'i ja CMake'i jaoks. Kui on vajalik ebatavalise kĂ€itumise rakendamine, on pakette saatvatele isikutele antud vĂ”imalus lisada oma makrosid erinevate pakendi vormimise etappide ĂŒletamiseks.
- Lisatud tugi tĂ€iendavate sektsioonide kinnitamiseks ettevalmistamise, ehitamise, installimise, seadistamise, puhastamise ja kontrollimise kĂ€skudega, mis tĂ€iendavad pĂ”hisektsioone %prep, %conf, %build, %install, %check ja %clean. TĂ€iendava skripti kĂ€ivitamiseks enne pĂ”hisektsiooni koodi tĂ€itmist on pakutud valik "-p" ja pĂ€rast pĂ”hisektsiooni â valik "-a". Sellised asendused vĂ”ivad olla kasulikud kĂ€itumise tĂ€pseks kohandamiseks eelpool kirjeldatud deklaratiivse ehitamisreĆŸiimi kasutamisel.
- DĂŒnaamiliselt genereeritavates SPEC-failide osades on lubatud sisaldada direktiive ja sektsioone, mis ei mĂ”juta ehitusprotsessi.
- Lisatud makro %builddir ja rakendatud RPM kaudu hallatav vÔimalus siduda oma ehituskaustasid eraldi pakettidega.
- Pakutud uus protokoll "multi-file", mis kiirendab oluliselt sÔltuvuste genereerimist.
- rpm kĂ€sklasse on lisatud valik "âjson", et esitada pĂ€ringute tulemused JSON-formaadis.
- Lisatud plug-in rpm-plugin-unshare, mis tagab skriptide isolatsiooni, mida tĂ€idetakse ehitussektsioonides, kasutades Linuxis nimesid. NĂ€iteks vĂ”imaldab plug-in keelata vĂ”rgu juurdepÀÀsu ja piirata failisĂŒsteemi juurdepÀÀsu ning kasutada eraldi privaatseid katalooge /tmp ja /home, et kaitsta ebausaldusvÀÀrsete ajutiste failide töötlemise korral pakettide ehitamisel.
- Pakutud avalik API pluginate arendamiseks, mis sĂ€ilitab ĂŒhilduvuse vĂ€ljalaskete vahel. Varem oli pluginate API mĂ”eldud ainult sisemiseks kasutamiseks ja vĂ”is igal vĂ€ljalaskmisel muutuda.
- rpmkeys kĂ€skudesse on lisatud valikud "âlist" ja "âdelete".
- rpmsign meeskonda on lisatud toetus digitaalsete allkirjade loomisele paketide jaoks, kasutades ECDSA vÔtmeid.
- Parandatud on korduvate kogude tuge. Lisatud on makro â%build_mtime_policyâ, mis vĂ”imaldab hallata lisatud sildide sisu ajal, kasutades vÀÀrtust clamp_to_source_date_epoch, et mÀÀrata kindel silt, vĂ”i clamp_to_buildtime, et nĂ€idata tegelikku kogumise aega.
- Failides sysusers.d on lubatud lisada ridu grupi liikmete mÀÀratlemiseks.
- Tagatud on korrektne ja distributiividest sÔltumatu debuginfo failide tugi.
- Makrode sĂŒ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 patĆĄi number).
- Ajustatud on vananenud OpenPGP parser.
- Perli ja Pythoni ABI sÔltuvuste generaatorid on toodud eraldi repodesse.
Allikas: opennet.ru
