Veröffentlichung des Paketmanagers RPM 4.16

Nach einem Jahr Entwicklung hat stattgefunden Release des Paketmanagers RPM 4.16.0. Das RPM4-Projekt wird von Red Hat entwickelt und findet Verwendung in Distributionen wie RHEL (einschließlich abgeleiteter Projekte wie 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 weiterentwickelt Projekt RPM5, der nicht direkt mit RPM4 verbunden ist und derzeit eingestellt wurde (seit 2010 nicht mehr aktualisiert). Projektnummer wird verbreitet unter den Lizenzen GPLv2 und LGPLv2.

Die auffälligsten Verbesserungen in RPM 4.16:

  • Ein neuer Backend zur Speicherung von Datenbanken in SQLite wurde implementiert. Dieser Backend wird verwendet in Fedora Linux 33 anstelle des BerkeleyDB-basierten Backends.
  • Ein neuer experimenteller Backend zur Speicherung von Datenbanken in BDB (Oracle Berkeley DB), der im Nur-Lese-Modus arbeitet, wurde realisiert. Die Implementierung wurde von Grund auf neu geschrieben und nutzt keinen Code des alten BerkeleyDB-Backends, das als veraltet gilt, wird jedoch weiterhin standardmäßig aktiviert.
  • Der experimentelle LMDB-basierte Backend wurde entfernt.
  • Der NDB-basierte Backend wurde als stabil erklärt.
  • In die Makros und Ausdrücke „%if“ wurde Unterstützung für den ternären Operator (%{expr:1==0?»yes»:»no»}) und eine eingebaute Möglichkeit zum Versionenvergleich („%[v»3:1.2-1″ > v»2.0″]‘) hinzugefügt.
  • Unterstützung zur Klassifizierung von Dateien basierend auf den MIME-Typen ihres Inhalts wurde implementiert.
  • Die Möglichkeit zur Generierung von Abhängigkeiten mittels parametrischer Makros wurde hinzugefügt..
  • Eine neue Version der API für das Parsen und Vergleichen von C und Python wurde vorgeschlagen.
  • Die Durchführung von brp-strip und Komponenten des Test-Sets wurde parallelisiert. Eine Optimierung des Parallelisierungsprozesses zur Paketgenerierung wurde durchgeführt.
  • In das rpmdb hinzugefügt wurde die Option „—salvagedb“ zur Wiederherstellung einer beschädigten Datenbank hinzugefügt (funktioniert nur mit dem NDB-Backend).
  • Neue Makros %arm32, %arm64 und %riscv zur Bestimmung der Architektur wurden hinzugefügt. Außerdem wurde das eingebaute Makro %{macrobody:…} zur Abfrage des Inhalts von Makros hinzugefügt.
  • In Ausdrücken ist die Verwendung von nicht in Anführungszeichen gesetzten Wörtern verboten, d.h. anstelle von ‘a == b’ sollte jetzt ‘„a“ == „b“‘ geschrieben werden.
  • Im Ausdruckparser wurde die Syntax „%[…]“ für die Ausführung von Ausdrücken mit Makroerweiterung implementiert (unterscheidet sich von „%{expr:…}“, da die Makros zuerst ausgeführt werden).
  • In Ausdrücken wurde die Unterstützung für die kurze Erweiterung von logischen und ternären Operatoren hinzugefügt („%[0 && 1 / 0]“ wird als 0 betrachtet und führt nicht zu einem Fehler aufgrund einer Division durch Null).
  • Die Unterstützung für die Anwendung des logischen Operators NOT in beliebigen Kontexten wurde hinzugefügt (!„%?foo“).
  • Das Verhalten der Operatoren „||“ und „&&“ wurde an Perl/Python/Ruby angepasst, d.h. anstelle der Rückgabe eines booleschen Wertes wird jetzt der letzte berechnete Wert ausgegeben (z.B. „%[2 || 3]“ gibt 2 zurück).
  • Die Möglichkeit zur Verifizierung alternativer Formate digitaler Signaturen und Hashes wurde hinzugefügt.
  • Unterstützung für Metadatenabhängigkeiten (Requires(meta): somepkg) wurde hinzugefügt, die die Installations- und Deinstallationsreihenfolge nicht beeinflussen.
  • In rpmsign wurde die Option „—rpmv3“ hinzugefügt, um digitale Signaturen im RPM3-Format zwingend zu verwenden.
  • Eine Installationsoption „—excludeartifacts“ wurde hinzugefügt, um die Installation von Dokumentation, Beispielkonfigurationsdateien und anderen Begleitdaten zu überspringen.
  • Die Unterstützung für RPMv3 und die Krypto-Backends beecrypt und NSS wurde als veraltet erklärt.
  • Unterstützung für DSA2 (gcrypt) und EdDSA wurde hinzugefügt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4