Version RPM 4.16

Après un an de développement a eu lieu version du gestionnaire de paquets RPM 4.16.0. Le projet RPM4 est développé par Red Hat et est utilisé dans des distributions telles que RHEL (y compris les projets dérivés CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen et bien d'autres. Équipe de développement auparavant indépendante développé projet RPM5, qui n'est pas directement lié à RPM4 et est actuellement abandonné (non mis à jour depuis 2010). Code de projet distribué par sous licence GPLv2 et LGPLv2.

Le plus remarquable améliorations dans RPM 4.16 :

  • Un nouveau backend a été implémenté pour stocker les bases de données dans le SGBD SQLite. Ce back-end sera utilisé dans Fedora Linux 33 au lieu d'un backend basé sur BerkeleyDB.
  • Un nouveau backend expérimental de stockage des bases de données dans BDB (Oracle Berkeley DB), fonctionnant en mode lecture seule, a été implémenté. L'implémentation est écrite à partir de zéro et n'utilise pas le code de l'ancien backend BerkeleyDB, qui est obsolète mais est toujours inclus par défaut.
  • Le backend de base de données expérimental basé sur LMDB a été supprimé.
  • La base de données backend basée sur le stockage NDB a été déclarée stable.
  • Ajout de la prise en charge des macros et expressions "%if" opérateur thénar (%{expr:1==0?"yes":"no"}) et offre une fonctionnalité de comparaison de versions intégrée ('%[v"3:1.2-1″ > v"2.0″]').
  • La prise en charge de la classification des fichiers en fonction des types MIME de leur contenu a été implémentée.
  • Ajout de la possibilité de générer des dépendances en utilisant macro paramétrique.
  • Une nouvelle version de l'API d'analyse et de comparaison pour C et Python a été proposée.
  • La parallélisation de l'exécution des composants brp-strip et de la suite de tests est assurée. L'optimisation de la parallélisation du processus de génération de paquets a été réalisée.
  • Vers l'utilitaire rpmdb ajoutée option « -salvagedb » pour restaurer une base de données endommagée (fonctionne uniquement avec le backend NDB).
  • Ajout de nouvelles macros %arm32, %arm64 et %riscv pour la détection d'architecture. Ajout également d'une macro intégrée %{macrobody:...} pour obtenir le contenu des macros.
  • Il est interdit d'utiliser des mots non séparés par des guillemets dans les expressions, c'est-à-dire au lieu de 'a == b', vous devez maintenant écrire '"a" == "b"'.
  • L'analyseur d'expression implémente la syntaxe « %[...] » pour exécuter une expression avec expansion de macro (elle diffère de « %{expr:...} » en ce que les macros sont exécutées en premier).
  • Ajout de la prise en charge de l'expansion courte des opérateurs logiques et thénars dans les expressions ("%[0 && 1 / 0]" est traité comme 0 plutôt que de provoquer une erreur due à une tentative de division par zéro).
  • Ajout de la prise en charge de l'utilisation de l'opérateur logique NOT dans des contextes arbitraires (!"%?foo").
  • Comportement des opérateurs "||" et "&&" est aligné sur Perl/Python/Ruby, c'est-à-dire Au lieu de renvoyer une valeur booléenne, il renvoie désormais la dernière valeur calculée (par exemple, "%[2 || 3]" renverra 2).
  • Ajout de la possibilité de vérifier des formats alternatifs de signatures numériques et de hachages.
  • Ajout de la prise en charge des méta-dépendances (Requires(meta): somepkg), qui n'affectent pas l'ordre d'installation et de suppression.
  • Ajout de l'option "--rpmv3" à rpmsign pour forcer l'utilisation de signatures numériques au format RPM3.
  • Ajout de l'option d'installation "--excludeartifacts" pour ignorer l'installation de la documentation, des exemples de fichiers de configuration et d'autres données associées.
  • Prise en charge obsolète de RPMv3 et des backends de chiffrement beecrypt et NSS.
  • Ajout de la prise en charge de DSA2 (gcrypt) et EdDSA.

Source: opennet.ru

Ajouter un commentaire