Após um ano de desenvolvimento, foi lançado o gerenciador de pacotes RPM 4.17.0. O projeto RPM4 é desenvolvido pela empresa Red Hat e é utilizado em distribuições como RHEL (incluindo projetos derivados como CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen e muitas outras. Anteriormente, o projeto RPM5 foi desenvolvido por uma equipe independente, mas não está relacionado ao RPM4 e atualmente está abandonado (não é atualizado desde 2010). O código do projeto é distribuído sob as licenças GPLv2 e LGPLv2.
As melhorias mais notáveis no RPM 4.17:
- Melhoria no tratamento de falhas durante a instalação.
- Melhoria na interface para criação de macros em Lua.
- Adicionada a macro embutida %{exist:…} para verificar a existência de arquivos.
- Ampliadas as capacidades da API para tratamento de transações.
- Unificado a sintaxe de macros embutidas e personalizadas, além do formato de chamada (%foo arg, %{foo arg} e %{foo:arg} agora são equivalentes).
- No buildroot, por padrão, aplicado a regra para remover arquivos “.la” e adicionada uma regra para limpar o bit executável de arquivos de bibliotecas compartilhadas.
- Adicionado o plugin dbus-announce para notificar sobre transações RPM via D-Bus.
- Adicionado o plugin fapolicyd para definir políticas de acesso a arquivos.
- Adicionado o plugin fs-verity para verificar a autenticidade de arquivos individuais usando o mecanismo fs-verity integrado ao kernel.
- As páginas do manual foram convertidas para o formato Markdown.
- Apresentada uma versão inicial do guia de gerenciamento e criação de pacotes.
- Removido o backend DBD, destinado ao armazenamento de dados em Berkeley DB (para compatibilidade com sistemas antigos, o backend BDB_RO, que opera em modo somente leitura, foi mantido). O SQLite é utilizado como banco de dados por padrão.
- Adicionada a compatibilidade com assinaturas digitais EdDSA.
- Utilitários para extração de Debuginfo foram realocados para um projeto separado.
- Manipuladores auxiliares e geradores de pacotes em Python foram realocados para um projeto separado.
- Realizada uma limpeza dos scripts que estavam sem manutenção.
- Removidos os backends criptográficos beecrypt e NSS.
Fonte: opennet.ru
