web-dev-qa-db-fra.com

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

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. Pourtant, j'ai découvert celui-ci et cela a l'air d'être une fonctionnalité intéressante pour moi.

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?

Ligne de fond: Où et comment puis-je réparer ce type?

47
Ingo

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 Ubunt
  2. Comment réparer les bugs

Tutoriels

Tout au long du cycle, nous organisons des événements pour aider des personnes comme vous, en particulier buntu Developer Week in 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 pour trouver des opportunités

  • Harvest - cet outil parcourt tous les correctifs et packages de Launchpad (et cherche 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 patchs présents dans le Launchpad qu'une personne a associés à un rapport de bogue. 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 pour la simplifier au maximum. Si vous preniez des notes sur vos expériences et sur la manière dont nous pouvons améliorer ces informations, il serait très utile de savoir comment les rendre moins bonnes pour des personnes comme toi.

31
Jorge Castro

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é de Bazaar pour gérer son code source. La première étape vers la correction de votre bug consiste à récupérer le code source. Si vous n'avez jamais utilisé Bazaar auparavant, le tutoriel tutoriel Bazar en 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 certain que votre bug est corrigé Avec votre dernier commit, vous pouvez également le marquer en corrigeant le bogue en ajoutant --fixes lp:<bug_number> à la commande commit. Vous êtes maintenant prêt à soumettre vos modifications pour révision et inclusion.

Tout d’abord, 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>/

Si vous exécutez bzr lp-open dans la branche, cet emplacement sera ouvert dans un navigateur.

Maintenant, nous voulons proposer une fusion. Sur cette page, sélectionnez "Proposer pour 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 allez maintenant avoir une proposition de fusion active.

active review

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.

19
andrewsomething