Após um ano de desenvolvimento, o gerenciador de pacotes RPM 4.17.0 foi lançado. O projeto RPM4 é desenvolvido pela Red Hat e é usado em distribuições como RHEL (incluindo projetos derivados CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen e muitos outros. Anteriormente, uma equipe de desenvolvimento independente desenvolveu o projeto RPM5, que não está diretamente relacionado ao RPM4 e atualmente está abandonado (não atualizado desde 2010). O código do projeto é distribuído sob licenças GPLv2 e LGPLv2.
As melhorias mais notáveis no RPM 4.17 são:
- Melhor tratamento de falhas durante a instalação.
- Interface aprimorada para criação de macros em Lua.
- Adicionada macro integrada %{exist:...} para verificar se existe um arquivo.
- Os recursos da API para processamento de transações foram expandidos.
- A sintaxe das macros integradas e do usuário foi unificada, bem como o formato para chamá-las (%foo arg, %{foo arg} e %{foo:arg} agora são equivalentes).
- buildroot tem uma regra padrão para remover arquivos ".la" e adicionou uma regra para limpar o bit executável para arquivos de biblioteca compartilhada.
- Adicionado plugin dbus-announce para relatar transações RPM via D-Bus.
- Adicionado 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 de manual foram convertidas para o formato Markdown.
- Fornece um guia inicial para gerenciar e criar pacotes.
- O backend DBD, destinado ao armazenamento de dados no Berkeley DB, foi removido (para compatibilidade com sistemas mais antigos, o backend BDB_RO, que opera em modo somente leitura, foi deixado). O banco de dados padrão é sqlite.
- Adicionado suporte para assinaturas digitais EdDSA.
- Os utilitários para extrair Debuginfo são separados em um projeto separado.
- Processadores auxiliares e geradores de pacotes em Python são separados em um projeto separado.
- Os scripts que não foram mantidos foram limpos.
- Os backends criptográficos beecrypt e NSS foram removidos.
Fonte: opennet.ru