RPM 4.16-Version

Nach einem Jahr Entwicklung fand statt Paketmanager-Version RPM 4.16.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). Projektnummer vertrieben von lizenziert unter GPLv2 und LGPLv2.

Am bemerkenswertesten Verbesserungen in U/min 4.16:

  • Für die Speicherung von Datenbanken im SQLite DBMS wurde ein neues Backend implementiert. Dieses Backend wird verwendet in Fedora Linux 33 anstelle eines BerkeleyDB-basierten Backends.
  • Für die Speicherung von Datenbanken in BDB (Oracle Berkeley DB) wurde ein neues experimentelles Backend implementiert, das im schreibgeschützten Modus arbeitet. Die Implementierung wurde von Grund auf neu geschrieben und verwendet keinen Code aus dem veralteten BerkeleyDB-Backend, das veraltet ist, aber immer noch standardmäßig enthalten ist.
  • Das experimentelle LMDB-basierte Datenbank-Backend wurde entfernt.
  • Die auf dem NDB-Speicher basierende Backend-Datenbank wurde für stabil erklärt.
  • Unterstützung für „%if“-Makros und -Ausdrücke hinzugefügt Thenar-Operator (%{expr:1==0?"yes":"no"}) und bietet eine integrierte Versionsvergleichsfunktion ('%[v"3:1.2-1″ > v"2.0″]').
  • Unterstützung für die Klassifizierung von Dateien basierend auf den MIME-Typen ihres Inhalts wurde implementiert.
  • Es wurde die Möglichkeit hinzugefügt, Abhängigkeiten zu generieren Parametrische Makros.
  • Es wurde eine neue Version der Parsing- und Vergleichs-API für C und Python vorgeschlagen.
  • Die Parallelisierung der Ausführung von brp-strip- und Testsuite-Komponenten ist gewährleistet. Die Parallelisierung des Paketgenerierungsprozesses wurde optimiert.
  • Zum Dienstprogramm rpmdb hinzugefügt Option „—salvagedb“, um eine beschädigte Datenbank wiederherzustellen (funktioniert nur mit dem NDB-Backend).
  • Neue Makros %arm32, %arm64 und %riscv zur Architekturerkennung hinzugefügt. Außerdem wurde ein integriertes Makro %{macrobody:...} hinzugefügt, um den Inhalt von Makros abzurufen.
  • Es ist verboten, in Ausdrücken Wörter zu verwenden, die nicht durch Anführungszeichen getrennt sind, d. h. Anstelle von „a == b“ müssen Sie nun „a“ == „b“ schreiben.
  • Der Ausdrucksparser implementiert die „%[...]“-Syntax zum Ausführen eines Ausdrucks mit Makroerweiterung (sie unterscheidet sich von „%{expr:...}“ dadurch, dass die Makros zuerst ausgeführt werden).
  • Unterstützung für kurze Erweiterungen von logischen und Thenar-Operatoren in Ausdrücken hinzugefügt („%[0 && 1 / 0]“ wird als 0 behandelt, anstatt einen Fehler aufgrund der versuchten Division durch Null zu verursachen).
  • Unterstützung für die Verwendung des logischen Operators NOT in beliebigen Kontexten hinzugefügt (!"%?foo").
  • Verhalten der „||“-Operatoren und „&&“ wird an Perl/Python/Ruby angepasst, d.h. Anstatt einen booleschen Wert zurückzugeben, wird jetzt der zuletzt berechnete Wert zurückgegeben (z. B. „%[2 || 3]“ gibt 2 zurück).
  • Es wurde die Möglichkeit hinzugefügt, alternative Formate digitaler Signaturen und Hashes zu überprüfen.
  • Unterstützung für Metaabhängigkeiten (Requires(meta): somepkg) hinzugefügt, die keinen Einfluss auf die Reihenfolge der Installation und Entfernung haben.
  • Option „--rpmv3“ zu rpmsign hinzugefügt, um die Verwendung digitaler Signaturen im RPM3-Format zu erzwingen.
  • Installationsoption „--excludeartifacts“ hinzugefügt, um die Installation von Dokumentation, Beispielkonfigurationsdateien und anderen zugehörigen Daten zu überspringen.
  • Veraltete Unterstützung für RPMv3 und die Krypto-Backends beecrypt und NSS.
  • Unterstützung für DSA2 (gcrypt) und EdDSA hinzugefügt.

Source: opennet.ru

Kommentar hinzufügen