AprÚs un an de développement version du gestionnaire de paquets 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, Scientifique Linux, AsieLinuxDrapeau rouge Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT LinuxOpenMandriva, Mageia, PCLinuxSystÚmes d'exploitation, Tizen et bien d'autres. Anciennement une équipe de développement indépendante. projet , qui n'est pas directement lié à RPM4 et est actuellement abandonné (non mis à jour depuis 2010). Code de projet sous licence GPLv2 et LGPLv2.
Le plus remarquable 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 sous 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" (%{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 .
- 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 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
