Lanzamiento RPM 4.16

Después de un año de desarrollo tuvo lugar lanzamiento del administrador de paquetes RPM 4.16.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). Código de proyecto distribuido por Licenciado bajo GPLv2 y LGPLv2.

Lo mas notable mejoras en RPM 4.16:

  • Se ha implementado un nuevo backend para almacenar bases de datos en SQLite DBMS. Este backend se utilizará en Fedora Linux 33 en lugar de un backend basado en BerkeleyDB.
  • Se ha implementado un nuevo backend experimental para almacenar bases de datos en BDB (Oracle Berkeley DB), operando en modo de solo lectura. La implementación está escrita desde cero y no utiliza código del backend heredado de BerkeleyDB, que ha quedado obsoleto pero aún se incluye de forma predeterminada.
  • Se eliminó el backend de la base de datos experimental basada en LMDB.
  • La base de datos backend basada en el almacenamiento NDB se ha declarado estable.
  • Se agregó soporte para macros y expresiones "%if" operador tenar (%{expr:1==0?"yes":"no"}) y ofrece una función de comparación de versiones incorporada ('%[v"3:1.2-1″ > v"2.0″]').
  • Se ha implementado soporte para clasificar archivos según los tipos MIME de su contenido.
  • Se agregó la capacidad de generar dependencias usando macros paramétricas.
  • Se ha propuesto una nueva versión de la API de análisis y comparación para C y Python.
  • Se garantiza la paralelización de la ejecución de los componentes brp-strip y del conjunto de pruebas. Se ha realizado la optimización de la paralelización del proceso de generación de paquetes.
  • A la utilidad rpmdb agregado opción “—salvagedb” para restaurar una base de datos dañada (solo funciona con el backend NDB).
  • Se agregaron nuevas macros %arm32, %arm64 y %riscv para la detección de arquitectura. También se agregó una macro incorporada %{macrobody:...} para obtener el contenido de las macros.
  • Está prohibido utilizar palabras que no estén separadas por comillas en expresiones, es decir en lugar de 'a == b' ahora necesitas escribir '"a" == "b"'.
  • El analizador de expresiones implementa la sintaxis “%[...]” para ejecutar una expresión con expansión de macro (se diferencia de “%{expr:...}” en que las macros se ejecutan primero).
  • Se agregó soporte para expansión corta de operadores lógicos y tenares en expresiones ("%[0 && 1 / 0]" se trata como 0 en lugar de causar un error debido al intento de división por cero).
  • Se agregó soporte para usar el operador lógico NOT en contextos arbitrarios (!"%?foo").
  • Comportamiento de los operadores "||" y "&&" se alinea con Perl/Python/Ruby, es decir. En lugar de devolver un valor booleano, ahora devuelve el último valor calculado (por ejemplo, "%[2 || 3]" devolverá 2).
  • Se agregó la capacidad de verificar formatos alternativos de firmas digitales y hashes.
  • Se agregó soporte para metadependencias (Requires(meta): somepkg), que no afectan el orden de instalación y eliminación.
  • Se agregó la opción "--rpmv3" a rpmsign para forzar el uso de firmas digitales en formato RPM3.
  • Se agregó la opción de instalación "--excludeartifacts" para omitir la instalación de documentación, archivos de configuración de ejemplo y otros datos relacionados.
  • Soporte obsoleto para RPMv3 y los backends criptográficos beecrypt y NSS.
  • Se agregó soporte para DSA2 (gcrypt) y EdDSA.

Fuente: opennet.ru

Añadir un comentario