Nach einem Jahr Entwicklung wurde der Paketmanager RPM 4.17.0 veröffentlicht. Das RPM4-Projekt wird von Red Hat weiterentwickelt 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 das Projekt RPM5 von einem unabhängigen Entwicklerteam entwickelt, das nicht direkt mit RPM4 verbunden ist und derzeit eingestellt wurde (seit 2010 nicht mehr aktualisiert). Der Code des Projekts wird unter den Lizenzen GPLv2 und LGPLv2 veröffentlicht.
Die bedeutendsten Verbesserungen in RPM 4.17:
- Die Fehlerbehandlung während der Installation wurde verbessert.
- Die Benutzeroberfläche zur Erstellung von Makros in Lua wurde verbessert.
- Ein eingebautes Makro %{exist:…} zur Überprüfung der Existenz einer Datei wurde hinzugefügt.
- Die API-Funktionen zur Transaktionsverarbeitung wurden erweitert.
- Die Syntax für eingebaute und benutzerdefinierte Makros sowie deren Aufrufformat wurde vereinheitlicht (%foo arg, %{foo arg} und %{foo:arg} sind jetzt gleichwertig).
- In buildroot gilt standardmäßig eine Regel zum Entfernen von „.la“-Dateien, und es wurde eine Regel zum Bereinigen des Ausführungsbits für Dateien von gemeinsam genutzten Bibliotheken hinzugefügt.
- Das Plugin dbus-announce wurde hinzugefügt, um über D-Bus über RPM-Transaktionen zu informieren.
- Das Plugin fapolicyd wurde hinzugefügt, um Zugriffspolitiken für Dateien zu definieren.
- Das Plugin fs-verity wurde hinzugefügt, um die Authentizität einzelner Dateien mithilfe des im Kernel integrierten mechanisms fs-verity zu überprüfen.
- Die Man-Seiten wurden ins Markdown-Format übersetzt.
- Eine erste Version des Handbuchs zur Paketverwaltung und Paketentwicklung wurde vorgestellt.
- Das DBD-Backend, das für die Speicherung von Daten in Berkeley DB vorgesehen war, wurde entfernt (zur Kompatibilität mit älteren Systemen bleibt das nur lesbare BDB_RO-Backend erhalten). Standardmäßig wird sqlite als Datenbank verwendet.
- Unterstützung für digitale Signaturen EdDSA wurde hinzugefügt.
- Die Werkzeuge zur Extraktion von Debuginfo wurden in ein separates Projekt ausgegliedert.
- Hilfsverarbeitungen und Paketgeneratoren in Python wurden in ein separates Projekt ausgegliedert.
- Die unbetreuten Skripte wurden bereinigt.
- Die kryptographischen Backends beecrypt und NSS wurden entfernt.
Quelle: opennet.ru
