47 votes

Je veux corriger un bogue. Par où dois-je commencer ?

Bien que je ne sois pas un programmeur professionnel, j'ai écrit un ou deux programmes. De nos jours, tous les ingénieurs et scientifiques apprennent également à programmer, et j'ai donc l'habitude d'écrire des programmes en Python, en C et en MATLAB. Aujourd'hui, j'ai envie de rendre un peu la pareille à Ubuntu et aux gens qui l'entourent en corrigeant un bug !

J'ai jeté un coup d'œil à la liste des campagnes de taille réduite et j'ai dû constater que la plupart d'entre elles ne sont pas si faciles à résoudre pour moi, car je soupçonne qu'elles nécessitent beaucoup de temps pour entrer dans le vif du sujet, et je n'en dispose pas. J'ai tout de même découvert celui-ci et il me semble que c'est une fonctionnalité gérable et intéressante.

Comme je n'ai jamais écrit de correctif ou publié un programme dans la nature, je ne sais pas du tout par où commencer. Quelle devrait être ma première étape pour résoudre ce problème ?

En résumé : Où et comment dois-je commencer à réparer ce type ?

32voto

Joshua McKinnon Points 12379

Répondre à cette question peut s'avérer long et compliqué, c'est pourquoi je vais plutôt vous indiquer les ressources disponibles au lieu de les présenter ici.

Documentation

  1. S'équiper pour le développement Ubuntu
  2. Comment réparer les bogues

Tutoriels

Nous organisons des événements tout au long du cycle pour aider des personnes comme vous. Semaine des développeurs Ubuntu sur IRC, qui est un tutoriel en direct et un atelier de questions-réponses. Il y en a un qui aura lieu à la fin du mois de février si vous voulez y participer !

Voici deux journaux d'une session passée pour vous donner une idée :

Endroits où trouver des opportunités

  • Récolte - cet outil passe en revue tous les correctifs et les paquets dans Launchpad (et cherche même dans d'autres distros) pour trouver des correctifs. Beaucoup d'entre eux peuvent être repérés, appliqués, testés, puis corrigés dans Ubuntu et ensuite envoyés en amont.
  • Cleansweep - Liste des correctifs qui se trouvent dans Launchpad et que quelqu'un a joints à un rapport de bogue. Ils peuvent être utiles ou non, mais doivent être examinés.

Obtenir de l'aide

Contacter le MOTU sur la liste de diffusion ou l'IRC est un bon moyen d'obtenir de l'aide pour les problèmes individuels que vous rencontrez :

Retour d'information

Nous avons passé beaucoup de temps à retravailler cette documentation pour qu'elle soit aussi simple que possible. Si vous pouviez prendre des notes sur vos expériences et sur la manière dont nous pourrions améliorer cette documentation, il serait très utile de savoir comment rendre les choses moins pénibles pour des gens comme vous.

19voto

Ghirai Points 11

La réponse générale de Jorge est une excellente introduction pour se lancer dans le développement d'Ubuntu, mais essayons d'examiner de plus près votre problème spécifique...

Le principal développeur amont d'Apport et le mainteneur d'Ubuntu sont une seule et même personne. Cela simplifie un peu les choses. Au lieu d'avoir à apprendre les systèmes de packaging et de patch, le chemin le plus simple est de travailler directement sur le code amont.

Le développement d'Apport est hébergé sur Launchpad . Il utilise le système de contrôle de version distribué bazaar pour gérer son code source. La première étape pour corriger votre insecte est de saisir la source. Si vous n'avez jamais utilisé bazaar, la fonction bazar en cinq minutes tutoriel est un bon point de départ.

Installer bazaar avec :

sudo apt-get install bzr

Tirer le code source de l'apport :

bzr branch lp:apport

Vous pouvez maintenant commencer à pirater. Comme avec la plupart des VCS, il est conseillé de ne faire qu'une seule modification par commit lorsqu'on travaille avec bazaar. Vous devriez également rendre vos messages commit informatifs. Cela rend vos modifications plus faciles à examiner. Lorsque vous êtes prêt à faire votre premier commit, exécutez :

bzr commit -m "My commit message. Did foo to bar in order to achieve baz."

Continuez à faire des modifications et des commits jusqu'à ce que vous soyez convaincu que votre bogue est corrigé. Avec votre dernier commits, vous pouvez également le marquer comme corrigeant le bogue en ajoutant --fixes lp:<bug_number> à la commande commit. Vous êtes maintenant prêt à soumettre vos modifications à l'examen et à l'inclusion.

Tout d'abord, vous devez le pousser sur Launchpad afin de le rendre accessible au public :

bzr push lp:~<launchpad_username>/apport/<branch_name>

Votre agence se trouve désormais à l'adresse suivante

https://code.launchpad.net/~<launchpad_username>/apport/<branch_name>/

La course à pied bzr lp-open dans la branche ouvrira cet emplacement dans un navigateur.

Nous voulons maintenant proposer une fusion. Sur cette page, sélectionnez "Proposer la fusion".

propose for merging

Sur la page suivante, sélectionnez votre branche cible et donnez un aperçu de vos modifications.

describe merge

Vous avez maintenant une proposition de fusion active.

active review

Les responsables examineront vos modifications. Si elles sont appropriées, elles seront fusionnées et seront disponibles dans la prochaine version. Dans le cas contraire, la proposition peut être mise à "Needs Work", et les responsables discuteront avec vous des modifications supplémentaires à apporter avant de les fusionner. Si cela se produit, ne le prenez pas comme un rejet personnel de votre travail. Lorsque vous contribuez à un nouveau projet pour la première fois, il y a souvent de petites choses comme le style de codage dont vous n'êtes peut-être pas conscient.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X