AprÚs un an de développement lancement 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, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen et bien d'autres. Auparavant, il a été développé par une équipe indépendante de développeurs le projet , qui n'est pas directement lié à RPM4 et qui est actuellement abandonné (non mis à jour depuis 2010). Code du projet est sous licences GPLv2 et LGPLv2.
Les plus remarquables dans RPM 4.16 :
- Un nouveau backend pour le stockage de la base de donnĂ©es dans le SGBD SQLite a Ă©tĂ© mis en Ćuvre. Ce backend dans Fedora Linux 33 Ă la place du backend basĂ© sur BerkeleyDB.
- Un nouveau backend expĂ©rimental pour le stockage de la base de donnĂ©es dans BDB (Oracle Berkeley DB), fonctionnant en mode lecture seule, a Ă©tĂ© mis en Ćuvre. La mise en Ćuvre a Ă©tĂ© Ă©crite de zĂ©ro et n'utilise pas le code de l'ancien backend BerkeleyDB, qui est dĂ©clarĂ© obsolĂšte, mais qui est toujours inclus par dĂ©faut.
- Le backend expérimental de base de données basé sur LMDB a été supprimé.
- Un backend de base de données basé sur le stockage NDB a été annoncé comme stable.
- Le support a Ă©tĂ© ajoutĂ© aux macros et expressions «%if» (%{expr:1==0?»yes»:»no»}) et une fonctionnalitĂ© intĂ©grĂ©e de comparaison de versions a Ă©tĂ© proposĂ©e (â%[v»3:1.2-1âł > v»2.0âł]â).
- Le support de la classification des fichiers en fonction des types MIME de leur contenu a Ă©tĂ© mis en Ćuvre.
- La génération de dépendances via .
- Une nouvelle version de l'API de parsing et de comparaison pour les langages C et Python a été proposée.
- L'exécution de brp-strip et des composants du jeu de tests a été parallélisée. L'optimisation du processus de génération de paquets a été effectuée.
- Dans l'utilitaire rpmdb l'option «âsalvagedb» pour restaurer une base de donnĂ©es endommagĂ©e (fonctionne uniquement avec le backend NDB).
- De nouvelles macros %arm32, %arm64 et %riscv ont Ă©tĂ© ajoutĂ©es pour dĂ©terminer l'architecture. Une macro intĂ©grĂ©e %{macrobody:âŠ} a Ă©galement Ă©tĂ© ajoutĂ©e pour obtenir le contenu des macros.
- L'utilisation de mots non entre guillemets dans les expressions est interdite, c'est-Ă -dire qu'au lieu de âa == bâ, il faut maintenant Ă©crire â»a» == «b»â.
- Une syntaxe «%[âŠ]» a Ă©tĂ© mise en Ćuvre dans le parser d'expressions pour Ă©valuer une expression avec une expansion de macros (diffĂ©rent de «%{expr:âŠ}» car les macros sont Ă©valuĂ©es en premier).
- Le support pour la réduction courte des opérateurs logiques et ternaires a été ajouté («%[0 && 1 / 0]» est traité comme 0, et ne déclenche pas d'erreur en raison d'une tentative de division par zéro).
- Le support de l'application de l'opĂ©rateur logique NOT dans des contextes arbitraires a Ă©tĂ© ajoutĂ© (!â%?fooâ).
- Le comportement des opérateurs «||» et «&&» a été aligné avec Perl/Python/Ruby, c'est-à -dire qu'au lieu de retourner une valeur booléenne, il renvoie maintenant 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 désinstallation.
- Une option «ârpmv3» a Ă©tĂ© ajoutĂ©e Ă rpmsign pour forcer l'utilisation de signatures numĂ©riques au format RPM3.
- Ajout d'une option d'installation «âexcludeartifacts» pour sauter l'installation de la documentation, des exemples de fichiers de configuration et d'autres donnĂ©es associĂ©es.
- La prise en charge de RPMv3 et des backends cryptographiques beecrypt et NSS a été déclarée obsolÚte.
- Ajout de la prise en charge de DSA2 (gcrypt) et EdDSA.
Source : opennet.ru
