Wydanie RPM 4.15

Po prawie dwóch latach rozwoju odbyła się 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 projekty pochodne CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen i wiele innych. Wcześniej niezależny zespół programistów rozwinięty projekt obr/min 5, który nie jest bezpośrednio powiązany z RPM4 i jest obecnie porzucony (nie aktualizowany od 2010).

Najbardziej godne uwagi ulepszenia na obrotach 4.15:

  • Dodano eksperymentalne wsparcie dla nieuprzywilejowanego montażu w środowisku chroot;
  • Wdrożone obsługa równoległości składania pakietów w systemach wielordzeniowych. Limit liczby wątków ustawiany jest za pomocą makra „%_smp_build_ncpus” i zmiennej $RPM_BUILD_NCPUS. Aby określić liczbę procesorów, zaproponowano makro „%getncpus”;
  • Pliki specyfikacji obsługują teraz operator warunkowy „%elif” (else if), a także opcje „%elifos” i „%elifarch” do powiązania z dystrybucją i architekturą;
  • Dodany nowe sekcje „%patchlist” i „%sourcelist”, których można używać do dodawania poprawek i źródeł poprzez proste wypisanie nazw bez podawania numerów pozycji (na przykład zamiast
    „Patch0: popt-1.16-pkgconfig.patch” w sekcji %patchlist możesz określić „popt-1.16-pkgconfig.patch”);

  • W pliku RPMbuild dodany obsługa dynamicznego składania zależności wraz z ich włączeniem do src.rpm. W pliku specyfikacji dodano obsługę sekcji „%generate_buildrequires”, której zawartość przetwarzana jest w formie listy zależności (BuildRequires), wymagającej weryfikacji (w przypadku braku zależności zostanie wyświetlony błąd).
  • Wdrożone Operator „^” służy do sprawdzania wersji starszych niż podana data, działając odwrotnie do operatora „~”. Na przykład,
    „1.1^20160101” będzie obejmować wersję 1.1 i poprawki dodane po 1 stycznia 2016 r.;

  • Dodano opcję „--scm” umożliwiającą włączenie trybu „%autosetup SCM”;
  • Dodano wbudowane makro "%{expr:...}" do oceny dowolnych wyrażeń (kilka dni temu było też proponowane formatuj „%[ wyrażenie ]”);
  • Zapewnia, że ​​domyślne kodowanie to UTF-8 dla danych łańcuchowych w nagłówkach;
  • Dodano globalne makra %build_cflags, %build_cxxflags, %build_fflags i %build_ldflags z flagami dla kompilatora i linkera;
  • Dodano makro „%dnl” (Odrzuć do następnej linii) do wstawiania komentarzy;
  • Powiązania dla Pythona 3 zapewniają, że ciągi znaków są zwracane jako sekwencje UTF-8 ze zmianą znaczenia, a nie dane bajtowe;
  • Dodano fikcyjny backend bazy danych, aby poprawić obsługę systemów bez RPMdb (np. Debian);
  • Ulepszone wykrywanie architektury ARM i dodana obsługa armv8;
  • Zapewnia bezproblemową obsługę Lua 5.2-5.3, która nie wymaga definicji zgodności w kodzie.

Źródło: opennet.ru

Dodaj komentarz