Lançamento do gerenciador de pacotes RPM 4.16

Após um ano de desenvolvimento aconteceu lançamento do gerenciador de pacotes RPM 4.16.0. 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. Equipe de desenvolvimento anteriormente independente desenvolvido projeto RPM5, que não está diretamente relacionado ao RPM4 e atualmente está abandonado (não atualizado desde 2010). Código do projeto distribuído por licenciado sob GPLv2 e LGPLv2.

Mais notável melhorias em RPM 4.16:

  • Um novo backend foi implementado para armazenar bancos de dados no SGBD SQLite. Este back-end será usado no Fedora Linux 33 em vez de um backend baseado em BerkeleyDB.
  • Foi implementado um novo backend experimental para armazenamento de bancos de dados em BDB (Oracle Berkeley DB), operando em modo somente leitura. A implementação é escrita do zero e não usa código do backend BerkeleyDB legado, que foi descontinuado, mas ainda está incluído por padrão.
  • O back-end experimental do banco de dados baseado em LMDB foi removido.
  • O banco de dados backend baseado no armazenamento NDB foi declarado estável.
  • Adicionado suporte para macros e expressões "%if" operador tenar (%{expr:1==0?"yes":"no"}) e oferece um recurso integrado de comparação de versões ('%[v"3:1.2-1″ > v"2.0″]').
  • Foi implementado suporte para classificação de arquivos com base nos tipos MIME de seu conteúdo.
  • Adicionada a capacidade de gerar dependências usando macros paramétricas.
  • Uma nova versão da API de análise e comparação para C e Python foi proposta.
  • A paralelização da execução dos componentes brp-strip e test suite é garantida. Foi realizada a otimização da paralelização do processo de geração de pacotes.
  • Para o utilitário rpmdb adicionado opção “—salvagedb” para restaurar um banco de dados danificado (funciona apenas com o backend NDB).
  • Adicionadas novas macros %arm32, %arm64 e %riscv para detecção de arquitetura. Também foi adicionada uma macro integrada %{macrobody:...} para obter o conteúdo das macros.
  • É proibido usar palavras não separadas por aspas nas expressões, ou seja, em vez de 'a == b' agora você precisa escrever '"a" == "b"'.
  • O analisador de expressão implementa a sintaxe “%[...]” para executar uma expressão com expansão de macro (difere de “%{expr:...}” porque as macros são executadas primeiro).
  • Adicionado suporte para expansão curta de operadores lógicos e tenares em expressões ("%[0 && 1 / 0]" é tratado como 0 em vez de causar um erro devido à tentativa de divisão por zero).
  • Adicionado suporte para usar o operador lógico NOT em contextos arbitrários (!"%?foo").
  • Comportamento dos operadores "||" e "&&" é alinhado com Perl/Python/Ruby, ou seja, Em vez de retornar um valor booleano, agora retorna o último valor calculado (por exemplo, "%[2 || 3]" retornará 2).
  • Adicionada a capacidade de verificar formatos alternativos de assinaturas digitais e hashes.
  • Adicionado suporte para meta-dependências (Requires(meta): somepkg), que não afetam a ordem de instalação e remoção.
  • Adicionada opção "--rpmv3" ao rpmsign para forçar o uso de assinaturas digitais no formato RPM3.
  • Adicionada opção de instalação "--excludeartifacts" para ignorar a instalação de documentação, exemplos de arquivos de configuração e outros dados relacionados.
  • Suporte obsoleto para RPMv3 e back-ends de criptografia beecrypt e NSS.
  • Adicionado suporte para DSA2 (gcrypt) e EdDSA.

Fonte: opennet.ru

Adicionar um comentário