Frigivelse af pakkehåndtering RPM 4.15

Efter næsten to års udvikling tog sted pakkehåndteringsudgivelse RPM 4.15.0. RPM4-projektet er udviklet af Red Hat og bruges i sådanne distributioner som RHEL (inklusive afledte projekter CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen og mange andre. Tidligere selvstændigt udviklingsteam udviklede sig projekt RPM5, som ikke er direkte relateret til RPM4 og i øjeblikket er opgivet (ikke opdateret siden 2010).

Mest bemærkelsesværdigt forbedring i RPM 4.15:

  • Tilføjet eksperimentel støtte til uprivilegeret samling i et chroot-miljø;
  • Implementeret understøttelse af parallelisering af pakkesamling på multi-core systemer. Grænsen på antallet af tråde er sat gennem makroen "%_smp_build_ncpus" og $RPM_BUILD_NCPUS-variablen. For at bestemme antallet af CPU'er foreslås makroen "%getncpus";
  • Spec-filer understøtter nu den betingede operator "%elif" (else if), såvel som mulighederne "%elifos" og "%elifarch" for binding til distributionen og arkitekturen;
  • Tilføjet nye sektioner "%patchlist" og "%sourcelist", som kan bruges til at tilføje patches og kilder ved blot at angive navne uden at angive indgangsnumre (f.eks. i stedet for
    "Patch0: popt-1.16-pkgconfig.patch" i %patchlist sektionen kan du angive "popt-1.16-pkgconfig.patch");

  • I rpmbuild tilføjet understøttelse af dynamisk samling af afhængigheder med deres inklusion i src.rpm. I spec-filen er der tilføjet understøttelse af afsnittet "%generate_buildrequires", hvis indhold behandles som en liste over afhængigheder (BuildRequires), der kræver verifikation (hvis afhængigheden mangler, vil der blive vist en fejl).
  • Implementeret Operatoren "^" bruges til at tjekke for versioner, der er ældre end en given dato, hvilket gør det modsatte af operatoren "~". For eksempel,
    "1.1^20160101" vil dække version 1.1 og patches tilføjet efter 1. januar 2016;

  • Tilføjet "--scm" mulighed for at aktivere "%autosetup SCM" tilstand;
  • Tilføjet indbygget makro "%{udtryk:...}" til evaluering af vilkårlige udtryk (for et par dage siden var der også foreslog format "%[udtr ]");
  • Sikrer, at standardkodningen er UTF-8 for strengdata i overskrifter;
  • Tilføjede globale makroer %build_cflags, %build_cxxflags, %build_fflags og %build_ldflags med flag for compileren og linkeren;
  • Tilføjet makro "%dnl" (kasser til næste linje) for at indsætte kommentarer;
  • Bindinger til Python 3 sikrer, at strenge returneres som escapede UTF-8-sekvenser i stedet for bytedata;
  • Tilføjet dummy database backend for at forbedre understøttelsen af ​​systemer uden rpmdb (f.eks. Debian);
  • Forbedret ARM-arkitekturdetektion og tilføjet understøttelse af armv8;
  • Giver problemfri understøttelse af Lua 5.2-5.3, som ikke kræver compat definitioner i koden.

Kilde: opennet.ru

Tilføj en kommentar