Wydanie menedżera pakietów RPM 4.15

Po prawie dwóch latach prac rozwojowych miał miejsce wydanie menedżera pakietów RPM 4.15.0. Projekt RPM4 jest rozwijany przez firmę Red Hat i jest używany w takich dystrybucjach jak RHEL (w tym pochodne projekty CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen i wielu innych. Wcześniej niezależny zespół deweloperów był rozwijany projekt RPM5, który nie jest bezpośrednio związany z RPM4 i obecnie jest porzucony (nie był aktualizowany od 2010 roku).

Najbardziej zauważalne ulepszenia w RPM 4.15:

  • Dodano eksperymentalne wsparcie dla nieprivileged builds w chroot;
  • Zrealizowano wsparcie dla równoległego budowania pakietów na systemach wielordzeniowych. Ograniczenie liczby wątków definiuje makro „%_smp_build_ncpus” i zmienna $RPM_BUILD_NCPUS. Aby określić liczbę CPU, zaproponowane makro to „%getncpus”;
  • W plikach spec pojawiło się wsparcie dla warunkowych operatorów „%elif” (else if), jak również dla opcji „%elifos” i „%elifarch” do powiązania z dystrybucją i architekturą;
  • Dodano nowe sekcje „%patchlist” i „%sourcelist”, które mogą służyć do dodawania poprawek i kodów źródłowych poprzez proste wymienianie nazw bez podawania numerów rekordów (na przykład, zamiast
    „Patch0: popt-1.16-pkgconfig.patch” w sekcji %patchlist można podać „popt-1.16-pkgconfig.patch”);
  • W rpmbuild dodano wsparcie dla dynamicznego budowania zależności z ich włączeniem do src.rpm. W pliku spec dodano wsparcie dla sekcji „%generate_buildrequires”, której zawartość przetwarzana jest jako lista zależności (BuildRequires), wymagająca weryfikacji (jeśli zależność jest nieobecna, wyświetli błąd).
  • Zrealizowano operator „^” do sprawdzania wersji starszych niż podana data, wykonujący działanie przeciwnie do operatora „~”. Na przykład,
    „1.1^20160101” obejmie wersję 1.1 oraz poprawki dodane po 1 stycznia 2016 roku;
  • Dodano opcję „—scm” do włączenia trybu „%autosetup SCM”;
  • Dodano wbudowane makro „%{expr:…}” do obliczania dowolnych wyrażeń (kilka dni temu również wprowadzono zaproponowano format „%[ expr ]” );
  • Zapewnia się domyślne użycie kodowania UTF-8 dla danych tekstowych w nagłówkach;
  • Dodano globalne makra %build_cflags, %build_cxxflags, %build_fflags i %build_ldflags z flagami do kompilatora i linkera;
  • Dodano makro „%dnl” (Discard to Next Line) do wstawiania komentarzy;
  • W wiązaniach dla Pythona 3 zapewniono zwracanie łańcuchów jako zeskalowanych sekwencji UTF-8 zamiast danych bajtowych;
  • Dodano fikcyjny backend bazy danych dla lepszego wsparcia systemów bez rpmdb (na przykład Debian);
  • Udoskonalono określenie architektury ARM i dodano wsparcie dla armv8;
  • Zapewniono bezszwowe wsparcie dla Lua 5.2-5.3, nie wymagające definicji compat w kodzie.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster