Vydání RPM 4.15

Po téměř dvou letech vývoje odehrál se vydání správce balíčků 4.15.0 RPM. Projekt RPM4 je vyvinut společností Red Hat a používá se v 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 mnoho dalších. Dříve nezávislý vývojový tým rozvinutý projekt RPM5, který přímo nesouvisí s RPM4 a je v současnosti opuštěný (neaktualizován od roku 2010).

Nejpozoruhodnější vylepšení v RPM 4.15:

  • Přidána experimentální podpora pro neprivilegované sestavení v prostředí chroot;
  • Realizováno podpora paralelizace sestavová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 je navrženo makro „%getncpus“;
  • Soubory Spec nyní podporují podmíněný operátor „%elif“ (else if), stejně jako možnosti „%elifos“ a „%elifarch“ pro vazbu na distribuci a architekturu;
  • Přidal nové sekce "%patchlist" a "%sourcelist", které lze použít k přidání patchů a zdrojů jednoduchým uvedením názvů bez uvedení čísel položek (například místo
    “Patch0: popt-1.16-pkgconfig.patch” v sekci %patchlist můžete zadat “popt-1.16-pkgconfig.patch”);

  • V rpmbuild přidal podpora dynamického sestavení závislostí s jejich zahrnutím do src.rpm. V souboru spec byla přidána podpora pro sekci „%generate_buildrequires“, jejíž obsah je zpracován jako seznam závislostí (BuildRequires), vyžadující ověření (pokud závislost chybí, zobrazí se chyba).
  • Realizováno Operátor "^" se používá ke kontrole verzí starších než dané datum a dělá opak operátoru "~". Například,
    "1.1^20160101" bude pokrývat verzi 1.1 a opravy přidané po 1. lednu 2016;

  • Přidána možnost "--scm" pro povolení režimu "%autosetup SCM";
  • Přidáno vestavěné makro "%{expr:...}" pro vyhodnocování libovolných výrazů (před pár dny zde bylo také navržený formát "%[ expr ]");
  • Zajišťuje, že výchozí kódování je UTF-8 pro data řetězců v hlavičkách;
  • Přidána globální makra %build_cflags, %build_cxxflags, %build_fflags a %build_ldflags s příznaky pro kompilátor a linker;
  • Přidáno makro „%dnl“ (Zahodit na další řádek) pro vkládání komentářů;
  • Vazby pro Python 3 zajišťují, že řetězce jsou vráceny jako uniklé sekvence UTF-8 namísto bajtových dat;
  • Přidán fiktivní databázový backend pro zlepšení podpory pro systémy bez rpmdb (např. Debian);
  • Vylepšená detekce architektury ARM a přidána podpora pro armv8;
  • Poskytuje bezproblémovou podporu pro Lua 5.2-5.3, která nevyžaduje kompatibilní definice v kódu.

Zdroj: opennet.ru

Přidat komentář