Versiunea RPM 4.15

După aproape doi ani de dezvoltare a avut loc lansarea managerului de pachete RPM 4.15.0. Proiectul RPM4 este dezvoltat de Red Hat și este utilizat în distribuții precum RHEL (inclusiv proiecte derivate CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen și mulți alții. Echipa de dezvoltare anterior independentă dezvoltat proiect RPM 5, care nu are legătură directă cu RPM4 și este în prezent abandonat (neactualizat din 2010).

Cel mai notabil îmbunătățiri în RPM 4.15:

  • S-a adăugat suport experimental pentru asamblarea neprivilegiată într-un mediu chroot;
  • Implementat suport pentru paralelizarea ansamblului pachetelor pe sisteme multi-core. Limita numărului de fire este stabilită prin macro-ul „%_smp_build_ncpus” și variabila $RPM_BUILD_NCPUS. Pentru a determina numărul de procesoare, este propusă macro-ul „%getncpus”;
  • Fișierele spec acceptă acum operatorul condiționat „%elif” (altfel dacă), precum și opțiunile „%elifos” și „%elifarch” pentru legarea la distribuție și arhitectură;
  • Adăugat noi secțiuni „%patchlist” și „%sourcelist”, care pot fi folosite pentru a adăuga patch-uri și surse prin simpla enumerare a numelor fără a specifica numerele de intrare (de exemplu, în loc de
    „Patch0: popt-1.16-pkgconfig.patch” în secțiunea %patchlist puteți specifica „popt-1.16-pkgconfig.patch”);

  • În rpmbuild adăugat suport pentru asamblarea dinamică a dependențelor cu includerea lor în src.rpm. În fișierul cu specificații, a fost adăugat suport pentru secțiunea „%generate_buildrequires”, al cărei conținut este procesat ca o listă de dependențe (BuildRequires), necesitând verificare (dacă dependența lipsește, va fi afișată o eroare).
  • Implementat Operatorul „^” este folosit pentru a verifica versiunile mai vechi decât o dată dată, făcând opusul operatorului „~”. De exemplu,
    „1.1^20160101” va acoperi versiunea 1.1 și patch-urile adăugate după 1 ianuarie 2016;

  • S-a adăugat opțiunea „--scm” pentru a activa modul „%autosetup SCM”;
  • S-a adăugat macrocomandă încorporată „%{expr:...}” pentru evaluarea expresiilor arbitrare (cu câteva zile în urmă a existat și propus formatul „%[ expr ]”);
  • Se asigură că codarea implicită este UTF-8 pentru datele șirurilor din anteturi;
  • S-au adăugat macrocomenzi globale %build_cflags, %build_cxxflags, %build_fflags și %build_ldflags cu steaguri pentru compilator și linker;
  • S-a adăugat macrocomandă „%dnl” (Renunțare la linia următoare) pentru inserarea comentariilor;
  • Legăturile pentru Python 3 asigură că șirurile sunt returnate ca secvențe UTF-8 cu evadare în loc de date de octeți;
  • S-a adăugat un backend de bază de date inactiv pentru a îmbunătăți suportul pentru sistemele fără rpmdb (de exemplu, Debian);
  • Detectarea arhitecturii ARM îmbunătățită și suport adăugat pentru armv8;
  • Oferă suport perfect pentru Lua 5.2-5.3, care nu necesită definiții de compatibilitate în cod.

Sursa: opennet.ru

Adauga un comentariu