Veröffentlichung des Paketmanagers RPM 4.15

Nach fast zwei Jahren Entwicklung statt wurde der Paketmanager RPM 4.15.0. Das RPM4-Projekt wird von Red Hat vorangetrieben und findet Verwendung in Distributionen wie RHEL (einschließlich der Derivate CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen und vielen anderen. Zuvor wurde es von einem unabhängigen Entwicklerteam entwickelt Projekt RPM5, das nicht direkt mit RPM4 verbunden ist und derzeit aufgegeben wurde (seit 2010 nicht mehr aktualisiert).

Die bemerkenswertesten Verbesserungen Neuerungen in RPM 4.15:

  • Experimentelle Unterstützung für nicht privilegierte Builds in einer chroot-Umgebung wurde hinzugefügt;
  • Unterstützung für das parallele Bauen von Paketen auf Mehrkernsystemen wurde implementiert. Die Anzahl der Threads kann über das Makro „%_smp_build_ncpus“ und die Variable $RPM_BUILD_NCPUS festgelegt werden. Zur Bestimmung der Anzahl der CPUs wurde das Makro „%getncpus“ vorgeschlagen; In den Spec-Dateien gibt es jetzt Unterstützung für die bedingte Anweisung „%elif“ (else if), sowie die Optionen „%elifos“ und „%elifarch“, um an die Distribution und Architektur zu binden;
  • In den Spezifikationsdateien wurde die Unterstützung für bedingte Operatoren wie „%elif“ (else if) sowie die Varianten „%elifos“ und „%elifarch“ zur Bindung an die Distribution und Architektur hinzugefügt.
  • Es wurden hinzugefügt Neue Sektionen «%patchlist» und «%sourcelist», die verwendet werden können, um Patches und Quelltexte einfach durch Auflistung der Namen hinzuzufügen, ohne die Aufzeichnungsnummern anzugeben (zum Beispiel anstelle von
    «Patch0: popt-1.16-pkgconfig.patch» in der Sektion %patchlist kann «popt-1.16-pkgconfig.patch» angegeben werden);
  • In rpmbuild hinzugefügt wurde die Unterstützung für die dynamische Abhängigkeitserstellung mit deren Einbeziehung in src.rpm hinzugefügt. Im Spec-File wurde die Unterstützung für die Sektion «%generate_buildrequires» hinzugefügt, deren Inhalt als Liste von Abhängigkeiten (BuildRequires) behandelt wird, die überprüft werden müssen (wenn eine Abhängigkeit fehlt, wird ein Fehler ausgegeben).
  • Flagge „—python.EmulateJython“ implementiert, um JVM-Klassen mit normaler Python-Syntax beim Import zu verwenden und JVM-Ausnahmen aus Python-Code abzufangen. Der Operator «^» zur Überprüfung von Versionen nach einem bestimmten Datum wurde hinzugefügt, der das Gegenteil des Operators «~» bewirkt. Zum Beispiel,
    «1.1^20160101» umfasst die Version 1.1 und Patches, die nach dem 1. Januar 2016 hinzugefügt wurden;
  • Die Option «—scm» wurde hinzugefügt, um den Modus «%autosetup SCM» zu aktivieren;
  • Ein eingebautes Makro «%{expr:…}» wurde hinzugefügt, um beliebige Ausdrücke zu berechnen (vor einigen Tagen wurde auch das wurde angeboten Format «%[ expr ]» hinzugefügt);
  • Die Standardzeichencodierung für String-Daten in den Headern wurde auf UTF-8 festgelegt;
  • Es wurden globale Makros %build_cflags, %build_cxxflags, %build_fflags und %build_ldflags mit Flags für den Compiler und den Linker hinzugefügt;
  • Ein neues Makro „%dnl“ (Discard to Next Line) zum Einfügen von Kommentaren wurde hinzugefügt;
  • In den Bindings für Python 3 erfolgt die Rückgabe von Zeichenfolgen nun als UTF-8-escapierte Sequenzen statt als Byte-Daten;
  • Ein Dummy-Datenbank-Backend wurde hinzugefügt, um die Unterstützung von Systemen ohne rpmdb (z. B. Debian) zu verbessern;
  • Die Erkennung der ARM-Architektur wurde verbessert und die Unterstützung für armv8 hinzugefügt;
  • Nahtlose Unterstützung für Lua 5.2-5.3, die keine compat-Definitionen im Code benötigt, wurde bereitgestellt.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster