After a year of development, the release of the RPM package manager 4.17.0 has taken place. The RPM4 project is being developed by Red Hat and is used in distributions like RHEL (including derivative projects such as CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen, and many others. Previously, an independent team of developers worked on the RPM5 project, which is not directly related to RPM4 and is currently abandoned (not updated since 2010). The project code is distributed under GPLv2 and LGPLv2 licenses.
The most notable improvements in RPM 4.17 include:
- Improved handling of installation failures.
- Enhanced interface for creating macros in Lua language.
- Added built-in macro %{exist:…} to check for file existence.
- Expanded API capabilities for transaction handling.
- Unified syntax for built-in and user-defined macros, as well as the format for their invocation (%foo arg, %{foo arg}, and %{foo:arg} are now equivalent).
- The buildroot now defaults to a rule that removes '.la' files and adds a rule to clean executable bits for shared library files.
- Added dbus-announce plugin to inform about RPM transactions via D-Bus.
- Added fapolicyd plugin for defining file access policies.
- Added fs-verity plugin for checking the authenticity of individual files using the built-in fs-verity mechanism.
- Man pages have been converted to Markdown format.
- An initial version of the package management and package creation guide has been introduced.
- The DBD backend designed for data storage in Berkeley DB has been removed (for compatibility with older systems, the BDB_RO backend remains, which operates in read-only mode). SQLite is now used as the default database.
- Added support for EdDSA digital signatures.
- Utilities for extracting Debuginfo have been separated into a standalone project.
- Auxiliary handlers and package generators in Python have been isolated into a separate project.
- Cleaned up unmaintained scripts.
- Cryptographic backends beecrypt and NSS have been removed.
Source: opennet.ru
