Lançamento do gerenciador de pacotes RPM 4.15

Após quase dois anos de desenvolvimento ocorreu o lançamento do gerenciador de pacotes RPM 4.15.0. O projeto RPM4 é desenvolvido pela Red Hat e utilizado em distribuições como RHEL (incluindo os projetos derivados CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen e muitas outras. Anteriormente, era desenvolvido por uma equipe independente de desenvolvedores desenvolveu-se projeto RPM5, que não está diretamente relacionado ao RPM4 e atualmente está abandonado (não atualizado desde 2010).

As melhorias mais notáveis são no RPM 4.15:

  • Foi adicionada suporte experimental para compilação não privilegiada em um ambiente chroot;
  • Implementado suporte para paralelização da construção de pacotes em sistemas multicore. O limite de threads é definido através da macro "%_smp_build_ncpus" e da variável $RPM_BUILD_NCPUS. A macro "%getncpus" foi proposta para determinar o número de CPUs;
  • Nos arquivos spec, foi adicionada a suporte para os operadores condicionais "%elif" (else if), bem como opções "%elifos" e "%elifarch" para vincular a distribuição e arquitetura;
  • Adicionados novas seções "%patchlist" e "%sourcelist", que podem ser usadas para adicionar patches e códigos-fonte simplesmente listando nomes sem indicar números de entradas (por exemplo, em vez de
    "Patch0: popt-1.16-pkgconfig.patch" na seção %patchlist pode-se indicar "popt-1.16-pkgconfig.patch");
  • No rpmbuild foi adicionada suporte para construção dinâmica de dependências com sua inclusão no src.rpm. No arquivo spec, foi adicionada a suporte para a seção "%generate_buildrequires", cujo conteúdo é processado como uma lista de dependências (BuildRequires), que precisa ser verificada (se a dependência estiver ausente, um erro será gerado).
  • o operador de sequência opcional o operador "^" para verificar versões após uma determinada data, executando uma ação oposta ao operador "~". Por exemplo,
    "1.1^20160101" abrangerá a versão 1.1 e patches adicionados após 1º de janeiro de 2016;
  • Adicionada a opção "—scm" para incluir o modo "%autosetup SCM";
  • Adicionado um macro embutido "%{expr:…}" para calcular expressões arbitrárias (há alguns dias, também foi foi oferecido o formato "%[ expr ]");
  • Garantido o uso padrão da codificação UTF-8 para dados de string nos cabeçalhos;
  • Adicionados macros globais %build_cflags, %build_cxxflags, %build_fflags e %build_ldflags com flags para compiladores e linkers;
  • Adicionado o macro "%dnl" (Descartar na Próxima Linha) para inserir comentários;
  • Nos bindings para Python 3, assegurado o retorno de strings como sequências UTF-8 escapadas em vez de dados de byte;
  • Adicionado um backend fictício de BD para melhorar o suporte em sistemas sem rpmdb (por exemplo, Debian);
  • Melhorada a definição da arquitetura ARM e adicionado suporte a armv8;
  • Assegurada suporte contínua para Lua 5.2-5.3, não exigindo definições compat no código.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster