Lanzamiento del gestor de paquetes RPM 4.15

Después de casi dos años de desarrollo se llevó a cabo lanzamiento del gestor de paquetes RPM 4.15.0. El proyecto RPM4 es desarrollado por Red Hat y se utiliza en distribuciones como RHEL (incluyendo proyectos derivados como CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen y muchas más. Anteriormente, fue un equipo de desarrolladores independiente. evolucionaba iniciado hace varios años RPM5, que no está directamente relacionado con RPM4 y actualmente está abandonado (no se ha actualizado desde 2010).

Más destacadas mejoras en RPM 4.15:

  • Se añadió soporte experimental para compilación no privilegiada en el entorno chroot;
  • Se ha implementado soporte para la paralelización de la compilación de paquetes en sistemas multicore. El límite del número de hilos se establece a través de la macro "%_smp_build_ncpus" y la variable $RPM_BUILD_NCPUS. Se propuso la macro "%getncpus" para determinar el número de CPU;
  • En los archivos spec apareció soporte para el operador condicional "%elif" (else if), así como las variantes "%elifos" y "%elifarch" para atar a la distribución y la arquitectura;
  • Añadidos nuevas secciones "%patchlist" y "%sourcelist", que se pueden utilizar para agregar parches y fuentes de texto simplemente enumerando los nombres sin especificar números de registro (por ejemplo, en lugar de
    "Patch0: popt-1.16-pkgconfig.patch" en la sección %patchlist se puede indicar "popt-1.16-pkgconfig.patch");
  • En rpmbuild se ha añadido soporte para construcción dinámica de dependencias con su inclusión en src.rpm. En el archivo spec se añadió soporte para la sección "%generate_buildrequires", cuyo contenido se maneja como una lista de dependencias (BuildRequires) que requiere verificación (si una dependencia está ausente, se mostrará un error).
  • Se implementó el operador "^" para verificar versiones posteriores a una fecha dada, que realiza la acción opuesta al operador "~". Por ejemplo,
    "1.1^20160101" abarcará la versión 1.1 y los parches añadidos después del 1 de enero de 2016;
  • Se añadió la opción "—scm" para habilitar el modo "%autosetup SCM";
  • Se incorporó la macro incorporada "%{expr:…}" para calcular expresiones arbitrarias (hace unos días también se añadió se propone el formato "%[ expr ]");
  • Se garantizó el uso por defecto de la codificación UTF-8 para los datos de cadena en los encabezados;
  • Se añadieron macros globales %build_cflags, %build_cxxflags, %build_fflags y %build_ldflags con flags para el compilador y enlazador;
  • Se añadió la macro "%dnl" (Descartar a la Siguiente Línea) para insertar comentarios;
  • En los bindings para Python 3 se aseguró que las cadenas se devuelvan como secuencias UTF-8 escapadas en lugar de datos en bytes;
  • Se añadió un backend ficticio de base de datos para mejorar el soporte en sistemas sin rpmdb (por ejemplo, Debian);
  • Se mejoró la detección de arquitecturas ARM y se añadió soporte para armv8;
  • Se aseguró un soporte fluido para Lua 5.2-5.3, sin requerir definiciones compat en el código.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster