Déclaration de paquets comme étant déconseillés
Parfois, un paquet remplit les critères de retrait des dépôts Fedora, mais y est conservé pour une durée (souvent indéterminée) pour diverses raisons, dont la rétrocompatibilité. Afin d’éviter que les nouveaux paquets ne dépendent d’un tel paquet, il peut être marqué comme déconseillé.
Prérequis
Si rien dans Fedora ne dépend d’un paquet, un·e mainteneur·se peut le déclarer déconseillé à son bon vouloir. Un·e mainteneur·se (ou un groupe de mainteneur·ses) peut aussi déclarer déconseillé un ensemble de paquets si aucun paquet dans cet ensemble n’est déclaré comme dépendance par un paquet hors de cet ensemble.
Si d’autres paquets dans la distribution (ne devant pas être déclarés déconseillés) dépendent d’un certain paquet, alors la déclaration de ce dernier comme étant déconseillé nécessite l’approbation du FESCo. Un·e packager DEVRAIT communiquer la déclaration d’un paquet comme étant déconseillé, de préférence via les listes de diffusion devel ou devel-announce.
Marquer un paquet comme déconseillé
Afin de marquer un paquet comme étant déconseillé, un provides virtuel spécial est ajouté :
Provides: deprecated()
Si le paquet comporte des sous-paquets et que la·e packager a l’intention de déclarer le paquet tout entier comme étant déconseillé, la·e packager DOIT marquer tous les sous-paquets comme étant déconseillés.
Name: paquetprincipal ... Provides: deprecated() ... %package souspaquet ... Provides: deprecated()
Sinon, un·e packager PEUT décider de déclarer déconseillés uniquement certains paquets.
Un·e packager DEVRAIT ajouter un commentaire dans la spec expliquant pourquoi le paquet est déconseillé. Par exemple :
# net-tools (ifconfig etc.) est déconseillé upstream depuis environ 20 ans. # Nous voulons le retirer de Fedora en faveur du paquet iproute, mais # de nombreux·ses administrateur·rices système s'attendent à le trouver, # c'est pourquoi nous le conservons sous la forme d'un paquet déconseillé. Provides: deprecated()
Si une date de retrait du paquet de la distribution est connue, elle PEUT être inclue comme suit :
Provides: deprecated() = AAAAMMJJ
Le provides spécial deprecated()
NE DOIT PAS être présent dans quelque branche de version de Fedora. Il est acceptable de déclarer déconseillé des paquets dans rawhide (la branche master), dans la branche d’une version de Fedora à venir (si une telle branche existe) avant le Final Freeze, ou dans les branches EPEL (à tout moment). Notez aussi que puisque les paquets peuvent rester déconseillés pendant un certain temps, ces paquets peuvent éventuellement atteindre les branches de version actuelle de Fedora. La restriction s’applique seulement à l’ajout initial du tag deprecated()
.
Conséquences
Techniquement, rien ne change : un paquet déconseillé continue à fonctionner de la même manière. Néanmoins, les autres paquets dans Fedora NE DOIVENT PAS ajouter une dépendance sur un paquet déconseillé (cela comprend les déclarations Requires, BuildRequires, Recommends, Suggests, etc.). Cette règle s’applique à la fois aux mises à jour de paquets existants et aux nouveaux paquets ajoutés à Fedora. Les personnes soumettant de nouveaux paquets ainsi que les examinateur·rices de paquets DOIVENT s’assurer de l’absence de dépendances déconseillées dans le paquet à soumettre ou étant examiné. (Il est toutefois acceptable qu’un paquet déconseillé soit renommé.)
Want to help? Learn how to contribute to Fedora Docs ›