Utgivelse av pakkebehandling RPM 4.15

Etter nesten to år med utvikling fant sted utgivelse av pakkebehandling RPM 4.15.0. RPM4-prosjektet er utviklet av Red Hat og brukes i slike distribusjoner som RHEL (inkludert derivatprosjekter CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen og mange andre. Tidligere selvstendig utviklingsteam utviklet prosjekt RPM5, som ikke er direkte relatert til RPM4 og for tiden er forlatt (ikke oppdatert siden 2010).

Mest bemerkelsesverdig forbedringer i RPM 4.15:

  • Lagt til eksperimentell støtte for uprivilegert montering i et chroot-miljø;
  • Implementert 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;
  • La til 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 la til 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).
  • Implementert 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å foreslått 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;
  • Lagt til dummy-databasebackend 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

Legg til en kommentar