Despois dun ano de desenvolvemento, lanzouse o xestor de paquetes RPM 4.17.0. O proxecto RPM4 é desenvolvido por Red Hat e úsase en distribucións como RHEL (incluíndo proxectos derivados CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen e moitos outros. Anteriormente, un equipo de desenvolvemento independente desenvolveu o proxecto RPM5, que non está directamente relacionado con RPM4 e actualmente está abandonado (sen actualizar desde 2010). O código do proxecto distribúese baixo licenzas GPLv2 e LGPLv2.
As melloras máis notables en RPM 4.17 son:
- Mellora na xestión dos fallos durante a instalación.
- Interface mellorada para crear macros en Lua.
- Engadida a macro integrada %{exist:...} para comprobar se existe un ficheiro.
- Ampliáronse as capacidades da API para o procesamento de transaccións.
- Unificouse a sintaxe das macros integradas e de usuario, así como o formato para chamalas (%foo arg, %{foo arg} e %{foo:arg} son agora equivalentes).
- buildroot ten unha regra predeterminada para eliminar ficheiros ".la" e engadiu unha regra para borrar o bit executable dos ficheiros da biblioteca compartida.
- Engadiuse o complemento dbus-announce para informar de transaccións RPM a través de D-Bus.
- Engadido o complemento fapolicyd para definir políticas de acceso a ficheiros.
- Engadiuse o complemento fs-verity para verificar a autenticidade dos ficheiros individuais mediante o mecanismo fs-verity integrado no núcleo.
- As páxinas man convertéronse ao formato Markdown.
- Ofrece unha guía inicial para xestionar paquetes e crear paquetes.
- Eliminouse o backend DBD, destinado a almacenar datos en Berkeley DB (para compatibilidade con sistemas máis antigos, deixouse o backend BDB_RO, que funciona en modo de só lectura). A base de datos predeterminada é sqlite.
- Engadido soporte para sinaturas dixitais EdDSA.
- As utilidades para extraer Debuginfo están separadas nun proxecto separado.
- Os procesadores auxiliares e os xeradores de paquetes en Python están separados nun proxecto separado.
- Limpáronse os scripts que non se fixeron mantemento.
- Elimináronse os backends criptográficos beecrypt e NSS.
Fonte: opennet.ru