A nova versão do RPM 4.17 foi lançada recentemente e ela traz correções que melhoram este gerenciador de pacotes. É o caso, por exemplo, do tratamento de falhas, a interface para criar macros na linguagem Lua, novos add-ons e muito mais.
O projeto RPM4 é desenvolvido pela Red Hat e usado em distribuições como RHEL (incluindo projetos derivados de 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).
Um pacote RPM pode conter um conjunto arbitrário de arquivos. A maioria dos arquivos RPM são arquivos “RPM binários” (ou BRPM) que contêm a versão compilada de algum software. Existem também “RPMs de origem” (ou SRPM) que contêm o código-fonte usado para construir um pacote binário.
Os SRPMs geralmente têm a extensão de arquivo “.src.rpm” (.spm em sistemas de arquivos limitados a 3 caracteres, por exemplo FATs DOS antigos).
Lançada nova versão do RPM 4.17. Os recursos de RPM incluem:
- Os pacotes podem ser criptografados e verificados com GPG e MD5.
- Arquivos de código-fonte (por exemplo .tar.gz, .tar.bz2) são incluídos em SRPMs, permitindo verificação posterior.
- PatchRPMs e DeltaRPMs, que são equivalentes a arquivos de patch, podem atualizar incrementalmente os pacotes RPM instalados.
- As dependências podem ser resolvidas automaticamente pelo gerenciador de pacotes.
Principais novos recursos do RPM 4.17
Nesta nova versão do RPM 4.17 que é apresentada, destaca-se que o tratamento de falhas durante a instalação foi bastante aprimorado, além de que a interface para criação de macros na linguagem Lua também foi aprimorada.
Em relação à parte das melhorias que são apresentadas nos plug-ins, destaca-se que os plug-ins dbus -nouncer foram adicionados para relatar transações RPM através do D-Bus, fapolicyd para definir políticas de acesso a arquivos e o plug – in fs-verity para verificar a autenticidade de arquivos individuais usando o mecanismo fs-verity embutido no kernel.
No buildroot, por padrão, uma regra foi aplicada para excluir arquivos “.la” e uma regra foi adicionada para limpar o bit executável de arquivos na biblioteca compartilhada.
Além de também destacar que foram realizados trabalhos para melhorar alguns aspectos internos , como a conversão das páginas de manual para o formato Markdown, a limpeza de scripts autônomos , a eliminação dos backends criptográficos de beecrypt e NSS e que também um rascunho inicial do guia de gerenciamento de embalagem e embalagem é fornecido
Por outro lado, é mencionado que o backend DBD foi removido para armazenar dados no Berkeley DB (para compatibilidade com sistemas mais antigos, o backend BDB_RO é deixado no modo somente leitura). Sqlite é usado como o banco de dados padrão e os drivers auxiliares Python e geradores de pacote são separados em um projeto separado.
Das outras mudanças que se destacam nesta nova versão:
- Adicionada macro embutida% {exist:…} para verificar a existência do arquivo.
- Os recursos da API para processar transações foram estendidos.
- A sintaxe para macros incorporadas e definidas pelo usuário foi unificada, bem como o formato para chamá-las (% foo arg,% {foo arg} e% {foo: arg} agora são equivalentes).
- Adicionado suporte para assinaturas digitais EdDSA.
- Os utilitários para extrair Debuginfo são separados em um projeto separado.
- Leitura corrigida de regressão rpm v3 e outros pacotes
- Muitas traduções novas e aprimoradas
- Argumentos de macro paramétricos corrigidos definidos por cli.
- Correção para código de erro ausente em –eval se a gravação em stdout falhar
- Corrigir permissões de arquivo solicitadas pela API não respeitadas
- Corrija a invalidação desnecessária do cache do banco de dados
- Adiciona suporte para o sistema operacional Darwin
Por fim, se você tiver interesse em saber mais sobre esta nova versão, poderá verificar os detalhes no link a seguir.