RPM 4.15-Version

Nach fast zwei Jahren Entwicklungszeit fand statt Paketmanager-Version RPM 4.15.0. Das RPM4-Projekt wurde von Red Hat entwickelt und wird in Distributionen wie RHEL (einschließlich abgeleiteter Projekte CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, verwendet. Tizen und viele andere. Zuvor unabhängiges Entwicklungsteam entwickelt Projekt RPM5, das nicht direkt mit RPM4 zusammenhängt und derzeit aufgegeben wird (seit 2010 nicht aktualisiert).

Am bemerkenswertesten Verbesserungen in U/min 4.15:

  • Experimentelle Unterstützung für unprivilegierte Assemblierung in einer Chroot-Umgebung hinzugefügt;
  • Umgesetzt Unterstützung für die Parallelisierung der Paketassemblierung auf Multicore-Systemen. Die Begrenzung der Anzahl der Threads wird über das Makro „%_smp_build_ncpus“ und die Variable $RPM_BUILD_NCPUS festgelegt. Um die Anzahl der CPUs zu ermitteln, wird das Makro „%getncpus“ vorgeschlagen;
  • Spezifikationsdateien unterstützen jetzt den bedingten Operator „%elif“ (else if) sowie die Optionen „%elifos“ und „%elifarch“ für die Bindung an die Distribution und Architektur;
  • Hinzugefügt neue Abschnitte „%patchlist“ und „%sourcelist“, die zum Hinzufügen von Patches und Quellen verwendet werden können, indem einfach Namen aufgelistet werden, ohne Eintragsnummern anzugeben (z. B. statt
    „Patch0: popt-1.16-pkgconfig.patch“ im Abschnitt %patchlist können Sie „popt-1.16-pkgconfig.patch“ angeben);

  • In rpmbuild hinzugefügt Unterstützung für die dynamische Zusammenstellung von Abhängigkeiten mit deren Einbindung in src.rpm. In der Spezifikationsdatei wurde Unterstützung für den Abschnitt „%generate_buildrequires“ hinzugefügt, dessen Inhalt als Liste von Abhängigkeiten (BuildRequires) verarbeitet wird und eine Überprüfung erfordert (wenn die Abhängigkeit fehlt, wird ein Fehler angezeigt).
  • Umgesetzt Der Operator „^“ wird verwendet, um nach Versionen zu suchen, die älter als ein bestimmtes Datum sind, und bewirkt das Gegenteil des Operators „~“. Zum Beispiel,
    „1.1^20160101“ deckt Version 1.1 und Patches ab, die nach dem 1. Januar 2016 hinzugefügt wurden;

  • Option „--scm“ hinzugefügt, um den Modus „%autosetup SCM“ zu aktivieren;
  • Integriertes Makro „%{expr:...}“ zum Auswerten beliebiger Ausdrücke hinzugefügt (vor ein paar Tagen gab es auch vorgeschlagen Format „%[ Ausdruck ]“);
  • Stellt sicher, dass die Standardkodierung UTF-8 für Zeichenfolgendaten in Headern ist.
  • Globale Makros %build_cflags, %build_cxxflags, %build_fflags und %build_ldflags mit Flags für den Compiler und Linker hinzugefügt;
  • Makro „%dnl“ (In nächste Zeile verwerfen) zum Einfügen von Kommentaren hinzugefügt;
  • Bindungen für Python 3 stellen sicher, dass Zeichenfolgen als maskierte UTF-8-Sequenzen statt als Byte-Daten zurückgegeben werden;
  • Dummy-Datenbank-Backend hinzugefügt, um die Unterstützung für Systeme ohne rpmdb (z. B. Debian) zu verbessern;
  • Verbesserte Erkennung der ARM-Architektur und zusätzliche Unterstützung für armv8;
  • Bietet nahtlose Unterstützung für Lua 5.2–5.3, für das keine kompatiblen Definitionen im Code erforderlich sind.

Source: opennet.ru

Kommentar hinzufügen