Liberada la nueva version de RPM 4.15, que ya está incluida en la beta de Fedora 31
Después de casi dos años de desarrollo, fue anunciado el lanzamiento de la nueva versión del administrador de paquetes RPM 4.15.0. RPM Package Manager (o RPM, originalmente llamado Red Hat Package Manager, pero se convirtió en acrónimo recursivo) es una herramienta de administración de paquetes pensada básicamente para GNU/Linux. Es capaz de instalar, actualizar, desinstalar, verificar y solicitar programas.
El proyecto RPM4 es desarrollado por Red Hat y se utiliza en distribuciones como RHEL (incluidos proyectos derivados de CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen y muchos otros.
Anteriormente, un equipo de desarrollo independiente desarrolló el proyecto RPM5 , que no está directamente relacionado con RPM4 y actualmente está abandonado (no se ha actualizado desde 2010).
Un paquete RPM puede contener un conjunto arbitrario de archivos. La mayoría de los archivos RPM son “binary RPM” (o BRPM) que contienen la versión compilada de algún software.
También hay “source RPM” (o SRPM) que contienen el código fuente utilizado para construir un paquete binario.
Estos tienen una etiqueta apropiada en el encabezado del archivo que los distingue de los RPM normales, lo que hace que se extraigan a /usr/src en la instalación.
Los SRPM normalmente llevan la extensión de archivo “.src.rpm” (.spm en sistemas de archivos limitados a 3 caracteres de extensión, por ejemplo, DOS FAT antiguas ).
Entre las características de RPM están:
- Los paquetes pueden ser cifrados y verificados con GPG y MD5.
- Los archivos de código fuente (por ejemplo .tar.gz, .tar.bz2) están incluidos en SRPMs, posibilitando una verificación posterior.
- PatchRPMs y DeltaRPMs, que son equivalentes a ficheros parche, pueden actualizar incrementalmente los paquetes RPM instalados.
- Las dependencias pueden ser resueltas automáticamente por el gestor de paquetes.
Novedades de RPM 4.15
En esta nueva versión de RPM 4.15 Rpmbuild agrega soporte para construir dinámicamente dependencias con su inclusión en src.rpm. Se agregó soporte para la sección “%generate_buildrequires” en el archivo de especificaciones, cuyo contenido se trata como una lista de dependencias (BuildRequires) que requiere verificación (si no hay dependencia, se mostrará un error).
Otra de las novedades en este lanzamiento es que se añadió el soporte experimental para operaciones que dependen de chroot sin requerir root (por medio de espacios de nombres de usuario) con lo cual se podrán realizar compilaciones sin privilegios en entornos chroot.
Por otra parte, se ha implementado soporte del conjunto de paquete de paralelización en sistemas de múltiples núcleos. El límite en el número de subprocesos se establece a través de la macro “% _smp_build_ncpus” y la variable $ RPM_.
También se ha mejorado el soporte para la arquitectura ARM, además de que se ha añadido el soporte para armv8.
Otro cambio importante es la adición de un back-end de base de datos ficticio para ayudar a RPM a ejecutarse en sistemas sin RPMDB como Debian.
De los demás cambios que se destacan en el anuncio:
- Se agregó la opción “–scm” para habilitar el modo “% autosetup SCM”
- Se agregó la macro incorporada “% {expr: …}” para calcular expresiones arbitrarias (el formato “% [expr]” también se propuso hace unos días )
- La codificación UTF-8 se usa por defecto para datos de cadena en encabezados
- Se agregaron macros globales% build_cflags,% build_cxxflags,% build_fflags y% build_ldflags con banderas para el compilador y el enlazador
- Se agregó la macro “% dnl” (Descartar a la línea siguiente) para insertar comentarios
- Los enlaces para Python 3 proporcionan retornos de cadena en forma de secuencias blindadas UTF-8 en lugar de datos de bytes.
- Se proporciona un soporte continuo para Lua 5.2-5.3, que no requiere definiciones de compatibilidad en el código.
- Se añadido una nueva sección “% patchlist” y “% sourcelist”, que se puede utilizar para agregar los parches y el código fuente de un simple listado de nombres sin especificar los números de registro (por ejemplo, en lugar de “Patch0:-popt 1,16-pkgconfig.patch ” patchlist sección, puede especificar% “popt-1.16-pkgconfig.patch”);
Finalmente, para quienes estén interesados en probar las mejoras de esta nueva versión del gestor de paquetes, deben saber que la beta de Fedora 31 es una de las primeras distros en implementar esta nueva version de RPM 4.15.
Si quieres conocer mas al respecto puedes consultar el siguiente enlace.