Udgivelsen af RPM-pakkehåndteringen 4.15

Efter næsten to års udvikling tog sted udgivelsen af pakkehåndtereren RPM 4.15.0. RPM4-projektet udvikles af Red Hat og anvendes i distributioner som RHEL (herunder afledte projekter som CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen og mange flere. Tidligere blev udviklingen af et uafhængigt udviklerteam fortsat projekt RPM5, som ikke er direkte relateret til RPM4 og i øjeblikket er forladt (ikke blevet opdateret siden 2010).

De mest bemærkelsesværdige forbedringer ændringer i RPM 4.15:

  • Tilføjet eksperimentel support for ujordet byggeri i chroot-miljøer;
  • Implementeret support for parallel bygning af pakker på multicore systemer. Antallet af tråde kan defineres via makroen «%_smp_build_ncpus» og variablen $RPM_BUILD_NCPUS. Makroen «%getncpus» er foreslået til at bestemme antal CPU'er;
  • I spec-filer er der tilføjet support for den betingede operator «%elif» (else if), samt varianter «%elifos» og «%elifarch» til binding til distribution og arkitektur;
  • Tilføjet nye sektioner «%patchlist» og «%sourcelist», som kan anvendes til at tilføje patches og kildekoder ved simpel opregning af navne uden angivelse af postnumre (for eksempel, i stedet for
    «Patch0: popt-1.16-pkgconfig.patch» i sektionen %patchlist kan man angive «popt-1.16-pkgconfig.patch»);
  • I rpmbuild tilføjet support for dynamisk opbygning af afhængigheder med deres inkludering i src.rpm. Spec-filen er udvidet med support for sektionen «%generate_buildrequires», hvis indhold behandles som en liste af afhængigheder (BuildRequires), der kræver kontrol (hvis en afhængighed mangler, vil der blive vist en fejl).
  • Implementeret operatoren «^» til kontrol af versioner, der er ældre end den angivne dato, udfører handlingen modsat operatoren «~». For eksempel,
    «1.1^20160101» vil omfatte version 1.1 og patches tilføjet efter 1. januar 2016;
  • Tilføjet option «—scm» for at aktivere tilstanden «%autosetup SCM»;
  • Tilføjet indbygget makro «%{expr:…}» til beregning af vilkårlige udtryk (for nogle dage siden blev også er blevet foreslået formatet «%[ expr ]» introduceret);
  • Sikret som standard brug af UTF-8 kodning til strenge i overskrifter;
  • Tilføjet globale makroer %build_cflags, %build_cxxflags, %build_fflags og %build_ldflags med flag til compiler og linker;
  • Tilføjet makro «%dnl» (Discard to Next Line) til indsættelse af kommentarer;
  • I bindingerne til Python 3 er der sikret, at strenge returneres som UTF-8 escape-sekvenser i stedet for byte-data;
  • Tilføjet en fiktiv backend-database for bedre support af systemer uden rpmdb (for eksempel Debian);
  • Forbedret identifikation af ARM-arkitektur og tilføjet støtte til armv8;
  • Sikret sømløs support for Lua 5.2-5.3, uden behov for compat-definitioner i koden.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster