Nach einem Jahr Entwicklung Release des Paketmanagers . 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 Projekt , der nicht direkt mit RPM4 verbunden ist und derzeit eingestellt wurde (seit 2010 nicht mehr aktualisiert). Projektnummer unter den Lizenzen GPLv2 und LGPLv2.
Die auffÀlligsten in RPM 4.16:
- Ein neuer Backend zur Speicherung von Datenbanken in SQLite wurde implementiert. Dieser Backend 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 (%{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 .
- 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 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
