Je veux réparer un bug. Où est-ce que je commence?

47

Bien que je ne sois pas un programmeur professionnel, j'ai écrit un programme ou deux. Pourtant, de nos jours, tous les ingénieurs et scientifiques apprennent à programmer un peu, et à ce titre, je suis habitué à écrire des programmes en Python, C et MATLAB. Maintenant, je veux rendre quelque chose à Ubuntu et à ses gens formidables et corriger un bogue!

J'ai jeté un coup d'œil à la liste des campagnes de bitesize et je me suis rendu compte que la plupart d'entre elles ne sont pas faciles à corriger, car je suppose qu'elles ont besoin de beaucoup de temps pour en arriver là et je n'en ai pas. Malgré tout, j’ai découvert celui-ci et il me semble qu’il est facile à gérer.

Comme je n’ai jamais écrit de correctif ni publié de programme dans la nature, je ne sais pas par où commencer. Quelle devrait être ma première étape pour aborder ce problème?

Conclusion: Où et comment puis-je réparer ce type?

Ingo
la source
1
quelles sont tes origines? Êtes-vous familier avec les systèmes de contrôle de version? Dans les pratiques d'emballage?
pygabriel le
Non, pas encore familier avec ça! Sous réserve de changement ...
Ingo

Réponses:

31

Répondre à cette question peut être long et compliqué, je vais plutôt vous indiquer les ressources disponibles au lieu de les redéfinir ici.

Documentation

  1. Mise en place pour le développement Ubuntu
  2. Comment réparer les bugs

Tutoriels

Tout au long du cycle, nous organisons des événements pour aider des personnes comme vous, et plus précisément Ubuntu Developer Week dans IRC, qui est un tutoriel en direct et un atelier de questions-réponses. Il y en a un à la fin du mois de février si vous voulez participer!

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

Lieux de recherche d'opportunités

  • Harvest - cet outil passe en revue tous les correctifs et packages dans Launchpad (et recherche même dans d’autres distributions) des correctifs. Beaucoup d'entre eux peuvent être accrochés, appliqués, testés, puis corrigés dans Ubuntu puis envoyés en amont.
  • Cleansweep - Liste des correctifs attachés à un rapport de bogue dans Launchpad. Celles-ci pourraient être utiles ou non, elles devraient quand même être examinées.

Obtenir de l'aide

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

Retour d'information

Nous avons passé beaucoup de temps à retravailler cette documentation afin de la simplifier au maximum. Si vous pouviez prendre des notes sur vos expériences et sur la façon dont nous pouvons améliorer ces informations, il serait très utile de savoir comment les rendre moins bonnes pour des personnes comme toi.

Jorge Castro
la source
19

La réponse généralisée de Jorge est une excellente introduction au développement d'Ubuntu, mais essayons de regarder de plus près votre problème spécifique ...

Le développeur en amont principal d'Apport et le responsable Ubuntu sont identiques. Cela simplifie un peu les choses pour vous. Au lieu de vous familiariser avec les systèmes d'empaquetage et de correctifs, le chemin le plus simple consiste à travailler directement sur le code en 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 bogue consiste à récupérer le code source. Si vous n'avez jamais utilisé bazar auparavant, le didacticiel bazar de cinq minutes est un bon point de départ.

Installez Bazar avec:

sudo apt-get install bzr

Tirez le code source de apport:

bzr branch lp:apport

Maintenant, vous pouvez commencer à pirater. Comme avec la plupart des VCS, lorsque vous travaillez avec bazaar, il est judicieux de ne faire qu'un changement par commit. Vous devriez également rendre vos messages de commit informatifs. Cela rend vos modifications beaucoup plus faciles à réviser. Lorsque vous êtes prêt à faire votre premier commit, lancez:

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

Continuez à apporter des modifications et des validations jusqu'à ce que vous soyez convaincu que votre bug est corrigé. Avec votre dernier commit, vous pouvez également le marquer comme solution au bogue en ajoutant --fixes lp:<bug_number>à la commande commit. Vous êtes maintenant prêt à soumettre vos modifications pour révision et inclusion.

Premièrement, vous devez le pousser dans Launchpad afin de le rendre public:

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

Votre succursale peut maintenant être trouvée à:

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

L'exécution bzr lp-opendans la branche ouvrira cet emplacement dans un navigateur.

Maintenant, nous voulons proposer une fusion. Sur cette page, sélectionnez "Proposer pour la fusion".

proposer de fusionner

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

décrire la fusion

Vous allez maintenant avoir une proposition de fusion active.

examen actif

Les responsables examineront vos modifications. S'ils sont appropriés, ils seront fusionnés et disponibles dans la prochaine version. Sinon, la proposition peut être définie sur «Besoin de travail» et les responsables discuteront avec vous des modifications supplémentaires à apporter avant la fusion. Si cela se produit, veuillez ne pas considérer cela comme un rejet personnel de votre travail. Lorsque vous contribuez à un nouveau projet pour la première fois, il y a souvent des petites choses comme le style de codage que vous ignorez peut-être.

andrewsomething
la source