Une fois un problème identifié, il faut proposer une solution. Cela ne signifie pas nécessairement écrire du code… dans bien des cas, avant d’en arriver au code, il faut définir quel devrait être le comportement correct d’une application.
Un exemple avec le bogue #433290 qui défend l’idée que dpkg -S
ne devrait pas échouer sur /usr/bin/man
qui est un lien symbolique (n’appartenant à aucun paquet) mais pointant sur le binaire /usr/lib/man-db/man
(qui appartient au paquet man-db).
On comprend aisément le besoin de l’utilisateur qui souhaite savoir quel paquet fournit la fonctionnalité /usr/bin/man et qui n’obtient pas la réponse attendue. Mais il faut mettre en balance l’exactitude technique: on ne peut pas dire que /usr/bin/man appartient au paquet man-db si ce n’est pas le cas.
J’ai donc fait une proposition intermédiaire où dpkg informe que /usr/bin/man n’est pas empaqueté mais que c’est un lien symbolique pointant sur un fichier empaqueté.
Pas besoin d’être programmeur pour spécifier le comportement satisfaisant l’utilisateur tout en étant techniquement juste. Il faut juste du temps, des idées et du bon sens. 🙂
N’hésitez pas à donner d’autres exemples dans les commentaires.
Cet article fait partie d’une série expliquant – par des exemples – comment contribuer à Debian.