Versión RPM 4.15

Despois de case dous anos de desenvolvemento tivo lugar versión do xestor de paquetes RPM 4.15.0. O proxecto RPM4 é desenvolvido por Red Hat e úsase en distribucións como RHEL (incluíndo proxectos derivados CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen e moitos outros. Equipo de desenvolvemento previamente independente desenvolvido proxecto RPM 5, que non está directamente relacionado con RPM4 e actualmente está abandonado (sen actualizar desde 2010).

O máis salientable melloras en RPM 4.15:

  • Engadido soporte experimental para montaxe sen privilexios nun ambiente chroot;
  • Implementado soporte para a paralelización do conxunto de paquetes en sistemas multinúcleo. O límite no número de fíos establécese mediante a macro "%_smp_build_ncpus" e a variable $RPM_BUILD_NCPUS. Para determinar o número de CPUs, proponse a macro “%getncpus”;
  • Os ficheiros de especificacións agora admiten o operador condicional “%elif” (else if), así como as opcións “%elifos” e “%elifarch” para vincularse á distribución e á arquitectura;
  • Engadido novas seccións "%patchlist" e "%sourcelist", que se poden usar para engadir parches e fontes simplemente enumerando os nomes sen especificar os números de entrada (por exemplo, no canto de
    "Patch0: popt-1.16-pkgconfig.patch" na sección %patchlist pode especificar "popt-1.16-pkgconfig.patch");

  • En rpmbuild engadido soporte para a montaxe dinámica de dependencias coa súa inclusión en src.rpm. No ficheiro de especificacións, engadiuse soporte para a sección "%generate_buildrequires", cuxo contido se procesa como unha lista de dependencias (BuildRequires), que require verificación (se falta a dependencia, mostrarase un erro).
  • Implementado O operador "^" úsase para comprobar versións anteriores a unha data determinada, facendo o contrario do operador "~". Por exemplo,
    "1.1^20160101" cubrirá a versión 1.1 e os parches engadidos despois do 1 de xaneiro de 2016;

  • Engadida a opción "--scm" para activar o modo "%autosetup SCM";
  • Engadida a macro integrada "%{expr:...}" para avaliar expresións arbitrarias (hai uns días tamén había proposto formato "%[ expr ]");
  • Asegura que a codificación predeterminada é UTF-8 para os datos das cadeas nas cabeceiras;
  • Engadíronse macros globais %build_cflags, %build_cxxflags, %build_fflags e %build_ldflags con marcas para o compilador e o enlazador;
  • Engadida a macro "%dnl" (Descartar á seguinte liña) para inserir comentarios;
  • Os enlaces para Python 3 garanten que as cadeas se devolvan como secuencias UTF-8 escapadas en lugar de datos de bytes;
  • Engadiuse un backend de base de datos simulado para mellorar o soporte para sistemas sen rpmdb (por exemplo, Debian);
  • Detección de arquitectura ARM mellorada e soporte adicional para armv8;
  • Ofrece compatibilidade sen problemas para Lua 5.2-5.3, que non require definicións de compatibilidade no código.

Fonte: opennet.ru

Engadir un comentario