Após quase dois anos de desenvolvimento, o lançamento do novo versão do gerenciador de pacotes RPM 4.15.0. RPM Package Manager (ou RPM, originalmente chamado Red Hat Package Manager, mas tornou-se um acrônimo recursivo) é uma ferramenta de gerenciamento de pacotes basicamente destinado a GNU / Linux. É capaz de instalar, atualizar, desinstalar, verificar e solicitar programas.
O projeto RPM4 é desenvolvido pela Red Hat e é usado em distribuições como RHEL (incluindo projetos derivados de CentOS, Scientific Linux, Asia Linux, 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 Os arquivos RPM são "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.
Eles têm uma tag apropriada no cabeçalho do arquivo que os distingue dos RPMs normais, fazendo com que sejam extraídos para / usr / src na instalação.
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).
Os recursos 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 aos arquivos de patch, podem atualizar incrementalmente os pacotes RPM instalados.
- As dependências podem ser resolvidas automaticamente pelo gerenciador de pacotes.
O que há de novo no RPM 4.15
Nesta nova versão do RPM 4.15 Rpmbuild adiciona suporte para criar dependências dinamicamente com sua inclusão em src.rpm. Adicionado suporte para a seção "% generate_buildrequires" no arquivo de especificações, cujo conteúdo é tratado como uma lista de dependências (BuildRequires) que requerem verificação (se não houver dependência, um erro será exibido).
Outra novidade neste lançamento é que adicionado suporte experimental para operações dependentes de chroot sem a necessidade de root (por meio de espaços de nomes de usuários) com os quais será possível realizar compilações sem privilégios em ambientes chroot.
Além disso, O suporte ao conjunto de pacotes de paralelização foi implementado em sistemas multi-core. O limite do número de threads é definido através da macro "% _smp_build_ncpus" e da variável $ RPM_.
também o suporte para arquitetura ARM foi melhorado, mais o suporte para armv8 foi adicionado.
Outra mudança importante é adicionar um back-end de banco de dados fictício para ajudar RPM para rodar em sistemas não RPMDB como o Debian.
Das outras mudanças que são destacadas no anúncio:
- Adicionada opção "–scm" para habilitar o modo "% autosetup SCM"
- Adicionada macro embutida "% {expr:…}" para calcular expressões arbitrárias (o formato "% [expr]" também foi proposto alguns dias atrás)
- A codificação UTF-8 é usada por padrão para dados de string em cabeçalhos
- Adicionadas macros globais% build_cflags,% build_cxxflags,% build_fflags e% build_ldflags com sinalizadores para compilador e vinculador
- Adicionada a macro "% dnl" (Descartar para a próxima linha) para inserir comentários
- Bindings para Python 3 fornecem retornos de string na forma de sequências UTF-8 protegidas em vez de dados de byte.
- O suporte contínuo é fornecido para Lua 5.2-5.3, que não requer definições de compatibilidade no código.
- Adicionada uma nova seção "% patchlist" e "% sourcelist", que pode ser usada para adicionar os patches e o código-fonte de uma lista simples de nomes sem especificar os números de registro (por exemplo, em vez de "Patch0: - popt 1,16 -pkgconfig.patch »seção patchlist, você pode especificar%« popt-1.16-pkgconfig.patch »);
Finalmente, para aqueles que estão interessados em testar as melhorias desta nova versão do gerenciador de pacotes, eles devem saber que O Fedora 31 beta é uma das primeiras distros a implementar esta nova versão do RPM 4.15.
Se você quiser saber mais sobre isso, você pode consultar o seguinte link.