Vydání správce balíčků RPM 4.15

Po téměř dvou letech vývoje se uskutečnilo vydání balíčkovacího systému RPM 4.15.0. Projekt RPM4 vyvíjí společnost Red Hat a používá se v takových distribucích jako RHEL (včetně odvozených projektů CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen a mnoha dalších. Dříve byl vyvíjen nezávislým týmem vývojářů vyvíjel projekt RPM5, který není přímo spojen s RPM4 a v současnosti je opuštěn (nebyl aktualizován od roku 2010).

Nejvýraznější vylepšení v RPM 4.15:

  • Byla přidána experimentální podpora neprivilegované kompilace v chrootovém prostředí;
  • Byla implementována podpora paralelního kompilování balíčků na vícejádrových systémech. Omezení počtu vláken se nastavuje pomocí makra „%_smp_build_ncpus“ a proměnné $RPM_BUILD_NCPUS. Pro určení počtu CPU bylo navrženo makro „%getncpus“;
  • Ve spec-souborech přibyla podpora podmínkových operátorů „%elif“ (else if), jakož i varianty „%elifos“ a „%elifarch“ pro vázání na distribuci a architekturu;
  • Byly přidány nové sekce „%patchlist“ a „%sourcelist“, které lze použít pro přidání patchů a zdrojových textů jednoduchým výčtem názvů bez uvedení čísel záznamů (například místo
    „Patch0: popt-1.16-pkgconfig.patch“ v sekci %patchlist lze uvést „popt-1.16-pkgconfig.patch“);
  • V rpmbuild byla přidána podpora dynamické kompilace závislostí s jejich zahrnutím do src.rpm. Ve spec-souboru byla přidána podpora sekce „%generate_buildrequires“, jejíž obsah se zpracovává jako seznam závislostí (BuildRequires), vyžadující kontrolu (pokud závislost chybí, bude vypsána chyba).
  • Realizováno operátor „^“ pro kontrolu verzí starších než zadané datum, provádějící akci, která je opačná k operátoru „~“. Například,
    „1.1^20160101“ pokryje verzi 1.1 a patche přidané po 1. lednu 2016;
  • Byla přidána volba „—scm“ pro zahrnutí režimu „%autosetup SCM“;
  • Bylo přidáno vestavěné makro „%{expr:…}“ pro vyhodnocení libovolných výrazů (před několika dny bylo také byla navržena formát „%[ expr ]“);
  • Bylo zajištěno výchozí použití kódování UTF-8 pro řetězcová data v hlavičkách;
  • Byly přidány globální makra %build_cflags, %build_cxxflags, %build_fflags a %build_ldflags s vlajkami pro kompilátor a linker;
  • Bylo přidáno makro „%dnl“ (Discard to Next Line) pro vkládání komentářů;
  • V bindích pro Python 3 bylo zajištěno vracení řetězců ve formě escaped sekvencí UTF-8 místo byte dat;
  • Byl přidán fiktivní backend DB pro zlepšení podpory systémů bez rpmdb (například Debian);
  • Bylo vylepšeno určení architektury ARM a přidána podpora armv8;
  • Byla zajištěna bezproblémová podpora Lua 5.2-5.3, nevyžadující definice compat v kódu.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster