Lançamento do gerenciador de pacotes RPM 4.15

Após quase dois anos de desenvolvimento aconteceu lançamento do gerenciador de pacotes RPM 4.15.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).

Mais notável melhorias em RPM 4.15:

  • Adicionado suporte experimental para montagem sem privilégios em um ambiente chroot;
  • Implementado suporte para paralelização de montagem de pacotes em sistemas multi-core. O limite do número de threads é definido através da macro “%_smp_build_ncpus” e da variável $RPM_BUILD_NCPUS. Para determinar o número de CPUs, é proposta a macro “%getncpus”;
  • Os arquivos Spec agora suportam o operador condicional “%elif” (else if), bem como as opções “%elifos” e “%elifarch” para ligação à distribuição e arquitetura;
  • Adicionado novas seções "%patchlist" e "%sourcelist", que podem ser usadas para adicionar patches e fontes simplesmente listando nomes sem especificar números de entrada (por exemplo, em vez de
    “Patch0: popt-1.16-pkgconfig.patch” na seção %patchlist você pode especificar “popt-1.16-pkgconfig.patch”);

  • Em rpmbuild adicionado suporte para montagem dinâmica de dependências com sua inclusão em src.rpm. No arquivo de especificações foi adicionado suporte para a seção “%generate_buildrequires”, cujo conteúdo é processado como uma lista de dependências (BuildRequires), exigindo verificação (se a dependência estiver faltando, um erro será exibido).
  • Implementado O operador "^" é usado para verificar versões anteriores a uma determinada data, fazendo o oposto do operador "~". Por exemplo,
    "1.1^20160101" cobrirá a versão 1.1 e patches adicionados após 1º de janeiro de 2016;

  • Adicionada opção "--scm" para ativar o modo "%autosetup SCM";
  • Adicionada macro integrada "%{expr:...}" para avaliar expressões arbitrárias (há alguns dias também havia proposto formato "%[expr]");
  • Garante que a codificação padrão seja UTF-8 para dados de string em cabeçalhos;
  • Adicionadas macros globais %build_cflags, %build_cxxflags, %build_fflags e %build_ldflags com flags para o compilador e vinculador;
  • Adicionada macro “%dnl” (Descartar para Próxima Linha) para inserção de comentários;
  • As ligações para Python 3 garantem que as strings sejam retornadas como sequências UTF-8 com escape em vez de dados de bytes;
  • Adicionado backend de banco de dados fictício para melhorar o suporte para sistemas sem rpmdb (por exemplo, Debian);
  • Detecção de arquitetura ARM aprimorada e suporte adicional para armv8;
  • Fornece suporte contínuo para Lua 5.2-5.3, que não requer definições de compatibilidade no código.

Fonte: opennet.ru

Adicionar um comentário