Etter nesten to år med utvikling utgivelse av pakkebehandling RPM4-prosjektet er utviklet av Red Hat og brukes i distribusjoner som RHEL (inkludert derivatprosjekter) CentOS, Vitenskapelig Linux, AsiaLinux, Rødt flagg Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen og mange andre. Tidligere et uavhengig utviklingsteam prosjekt , som ikke er direkte relatert til RPM4 og for tiden er forlatt (ikke oppdatert siden 2010).
Mest bemerkelsesverdig i RPM 4.15:
- Lagt til eksperimentell støtte for uprivilegert montering i et chroot-miljø;
- støtte for parallellisering av pakkemontering på flerkjernesystemer. Grensen på antall tråder settes gjennom makroen "%_smp_build_ncpus" og $RPM_BUILD_NCPUS-variabelen. For å bestemme antall CPUer, foreslås makroen "%getncpus".
- Spesifikasjonsfiler støtter nå den betingede operatoren "%elif" (else if), samt alternativene "%elifos" og "%elifarch" for binding til distribusjonen og arkitekturen;
- nye seksjoner "%patchlist" og "%sourcelist", som kan brukes til å legge til patcher og kilder ved ganske enkelt å liste opp navn uten å spesifisere oppføringsnumre (for eksempel i stedet for
"Patch0: popt-1.16-pkgconfig.patch" i %patchlist-delen kan du spesifisere "popt-1.16-pkgconfig.patch"); - I rpmbuild støtte for dynamisk sammenstilling av avhengigheter med deres inkludering i src.rpm. I spesifikasjonsfilen er støtte for "%generate_buildrequires"-delen lagt til, hvis innhold behandles som en liste over avhengigheter (BuildRequires), som krever verifisering (hvis avhengigheten mangler, vil en feil vises).
- Operatoren "^" brukes til å se etter versjoner som er eldre enn en gitt dato, og gjør det motsatte av operatoren "~". For eksempel,
"1.1^20160101" vil dekke versjon 1.1 og oppdateringer lagt til etter 1. januar 2016; - Lagt til "--scm"-alternativet for å aktivere "%autosetup SCM"-modus;
- Lagt til innebygd makro "%{expr:...}" for å evaluere vilkårlige uttrykk (for noen dager siden var det også format "%[ uttr ]");
- Sikrer at standardkodingen er UTF-8 for strengdata i overskrifter;
- Lagt til globale makroer %build_cflags, %build_cxxflags, %build_fflags og %build_ldflags med flagg for kompilatoren og linkeren;
- Lagt til makro "%dnl" (Forkast til neste linje) for å sette inn kommentarer;
- Bindinger for Python 3 sikrer at strenger returneres som escaped UTF-8-sekvenser i stedet for bytedata;
- La til en dummy DB-backend for å forbedre støtten for systemer uten rpmdb (f.eks. Debian);
- Forbedret ARM-arkitekturdeteksjon og lagt til støtte for armv8;
- Gir sømløs støtte for Lua 5.2-5.3, som ikke krever kompatdefinisjoner i koden.
Kilde: opennet.ru
