Lanzamiento RPM 4.15

Después de casi dos años de desarrollo tuvo lugar lanzamiento del administrador de paquetes RPM 4.15.0. El proyecto RPM4 es desarrollado por Red Hat y se utiliza en distribuciones como RHEL (incluidos los proyectos derivados CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen y muchos otros. Equipo de desarrollo anteriormente independiente. desarrollado proyecto RPM5, que no está directamente relacionado con RPM4 y actualmente está abandonado (no actualizado desde 2010).

Lo mas notable mejoras en RPM 4.15:

  • Se agregó soporte experimental para ensamblaje sin privilegios en un entorno chroot;
  • Implementado soporte para la paralelización del ensamblaje de paquetes en sistemas multinúcleo. El límite en la cantidad de subprocesos se establece a través de la macro “%_smp_build_ncpus” y la variable $RPM_BUILD_NCPUS. Para determinar el número de CPU se propone la macro “%getncpus”;
  • Los archivos de especificaciones ahora admiten el operador condicional “%elif” (si no), así como las opciones “%elifos” y “%elifarch” para vincularse a la distribución y la arquitectura;
  • Adicional nuevas secciones "%patchlist" y "%sourcelist", que se pueden usar para agregar parches y fuentes simplemente enumerando nombres sin especificar números de entrada (por ejemplo, en lugar de
    “Patch0: popt-1.16-pkgconfig.patch” en la sección %patchlist puede especificar “popt-1.16-pkgconfig.patch”);

  • En rpmbuild agregado soporte para ensamblaje dinámico de dependencias con su inclusión en src.rpm. En el archivo de especificaciones, se agregó soporte para la sección "%generate_buildrequires", cuyo contenido se procesa como una lista de dependencias (BuildRequires), que requieren verificación (si falta la dependencia, se mostrará un error).
  • Implementado El operador "^" se utiliza para comprobar si hay versiones anteriores a una fecha determinada, haciendo lo contrario del operador "~". Por ejemplo,
    "1.1^20160101" cubrirá la versión 1.1 y los parches agregados después del 1 de enero de 2016;

  • Se agregó la opción "--scm" para habilitar el modo "%autosetup SCM";
  • Se agregó la macro incorporada "%{expr:...}" para evaluar expresiones arbitrarias (hace unos días también hubo sugirió formato "%[ expr ]");
  • Garantiza que la codificación predeterminada sea UTF-8 para los datos de cadena en los encabezados;
  • Se agregaron macros globales %build_cflags, %build_cxxflags, %build_fflags y %build_ldflags con indicadores para el compilador y el vinculador;
  • Se agregó la macro “%dnl” (Descartar en la siguiente línea) para insertar comentarios;
  • Los enlaces para Python 3 garantizan que las cadenas se devuelvan como secuencias UTF-8 escapadas en lugar de datos de bytes;
  • Se agregó backend de base de datos ficticia para mejorar el soporte para sistemas sin rpmdb (por ejemplo, Debian);
  • Detección de arquitectura ARM mejorada y soporte agregado para armv8;
  • Proporciona soporte perfecto para Lua 5.2-5.3, que no requiere definiciones de compatibilidad en el código.

Fuente: opennet.ru

Añadir un comentario