Közel két év fejlesztés után csomagkezelő kiadás Az RPM4 projektet a Red Hat fejlesztette ki, és olyan disztribúciókban használják, mint az RHEL (beleértve a származtatott projekteket is). CentOS, Tudományos Linux, ÁzsiaLinux, Vörös zászló Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen és sok más. Korábban független fejlesztőcsapat volt. terv , amely nem kapcsolódik közvetlenül az RPM4-hez, és jelenleg felhagyott (2010 óta nem frissítve).
Legfigyelemreméltóbb RPM 4.15-ban:
- Hozzáadott kísérleti támogatás a kiváltságtalan összeállításhoz chroot környezetben;
- csomag-összeállítás párhuzamosításának támogatása többmagos rendszereken. A szálak számának korlátját a „%_smp_build_ncpus” makró és a $RPM_BUILD_NCPUS változó határozza meg. A CPU-k számának meghatározásához a „%getncpus” makrót javasoljuk;
- A specifikációs fájlok mostantól támogatják a „%elif” (else if) feltételes operátort, valamint a „%elifos” és „%elifarch” opciókat a disztribúcióhoz és az architektúrához való kötéshez;
- új szekciók "%patchlist" és "%sourcelist", amelyek javítások és források hozzáadására használhatók úgy, hogy egyszerűen felsorolják a neveket bejegyzésszám megadása nélkül (például
„Patch0: popt-1.16-pkgconfig.patch” a %patchlist részben megadhatja a „popt-1.16-pkgconfig.patch” parancsot); - Az rpmbuildben a függőségek dinamikus összeállításának támogatása az src.rpm-ben való szerepeltetésükkel. A specifikációs fájlban a „%generate_buildrequires” rész támogatása került be, melynek tartalma függőségek listájaként (BuildRequires) kerül feldolgozásra, amely ellenőrzést igényel (ha hiányzik a függőség, hiba jelenik meg).
- A "^" operátor az adott dátumnál régebbi verziók ellenőrzésére szolgál, a "~" operátor ellentétével. Például,
Az "1.1^20160101" lefedi az 1.1-es verziót és a 1. január 2016. után hozzáadott javításokat; - "--scm" opció hozzáadva az "%autosetup SCM" mód engedélyezéséhez;
- Beépített "%{expr:...}" makró hozzáadva tetszőleges kifejezések kiértékeléséhez (néhány nappal ezelőtt szintén formátum "%[ expr ]");
- Biztosítja, hogy a fejlécekben található karakterláncadatok alapértelmezett kódolása UTF-8;
- Hozzáadott globális makrók %build_cflags, %build_cxxflags, %build_fflags és %build_ldflags a fordító és linker jelzőivel;
- „%dnl” makró (elvetés a következő sorba) hozzáadva a megjegyzések beszúrásához;
- A Python 3 kötései biztosítják, hogy a karakterláncok kiszabadult UTF-8 szekvenciákként jelenjenek meg bájtadatok helyett;
- Hozzáadtunk egy próba adatbázis backendet az rpmdb nélküli rendszerek támogatásának javítása érdekében (pl. Debian);
- Továbbfejlesztett ARM architektúra észlelés és hozzáadott támogatás az armv8 számára;
- Zökkenőmentes támogatást biztosít a Lua 5.2-5.3-hoz, amely nem igényel kompatibilis definíciókat a kódban.
Forrás: opennet.ru
