Je veux corriger 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, chaque ingénieur et scientifique apprend à programmer un peu et, en tant que tel, je suis habitué à écrire des programmes en Python, C et MATLAB. Maintenant, je veux donner un petit peu à Ubuntu et à ses gens formidables et corriger un bug!

J’ai jeté un coup d’œil à la liste de la campagne de bitesize et je me suis rendu compte que la plupart d’entre eux ne sont pas faciles à réparer car j’imagine qu’ils ont besoin de beaucoup de temps pour aborder la question. cette. Pourtant, j'ai découvert celui-ci et il semble facile à gérer et à mon goût.

Comme je n’ai jamais écrit de patch ou sorti un programme à l’état sauvage, je ne sais pas par où commencer. Quelle devrait être ma première étape pour résoudre ce problème?

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

    
posée Ingo 28.01.2011 - 16:28
la source

2 réponses

31

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

Documentation

  1. Configuration du 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, en particulier nous organisons Semaine des développeurs Ubuntu dans IRC, qui est une tutoriel en direct et atelier de questions et réponses. Il y en a un à la fin du mois de février si vous voulez participer!

Voici deux journaux d’une session précédente pour vous donner une idée:

Lieux pour rechercher des opportunités

  • Récolte - Cet outil parcourt tous les correctifs et packages de Launchpad (et regarde même les autres distributions) pour les correctifs. Beaucoup d'entre eux peuvent être capturés, appliqués, testés, puis corrigés dans Ubuntu, puis envoyés en amont.
  • Cleansweep - Liste des correctifs contenus dans Launchpad et joints à un rapport de bogue. Celles-ci pourraient être utiles ou non, elles devraient quand même être examinées.

Obtenir de l'aide

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

Feedback

Nous avons passé beaucoup de temps à retravailler cette documentation pour être aussi simple que possible, si vous preniez des notes sur vos expériences et comment nous pourrions améliorer ce genre de choses, il serait très utile de savoir comment le rendre moins attrayant. pour des gens comme vous.

    
réponse donnée Jorge Castro 28.01.2011 - 16:32
la source
19

La réponse généralisée de Jorge est une excellente introduction au développement d’Ubuntu, mais essayons d’examiner plus en détail votre problème spécifique.

Le principal développeur en amont d'Apport et le responsable d'Ubuntu sont les mêmes. Cela simplifie un peu les choses pour vous. Au lieu d'avoir à se familiariser avec les systèmes de packaging et de correctifs, 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é de bazaar pour gérer son code source. La première étape pour corriger votre bogue consiste à saisir la source. Si vous n'avez jamais utilisé bazaar auparavant, le tutoriel bazar en cinq minutes est un bon endroit pour commencer.

Installer le bazar avec:

sudo apt-get install bzr

Le code source de Pull apport:

bzr branch lp:apport

Maintenant, vous pouvez commencer à pirater. Comme avec la plupart des VCS, lorsque vous travaillez avec bazaar, il est conseillé de ne faire qu'un seul changement par validation. Vous devez également rendre vos messages de validation informatifs. Cela rend vos changements beaucoup plus faciles à revoir. 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 à faire des modifications et validez jusqu'à ce que vous soyez satisfait de la correction de votre bogue. Avec votre dernier commit, 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 pour examen et inclusion.

Premièrement, vous devez le transmettre à Launchpad pour le rendre accessible au public:

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

Votre agence peut maintenant être trouvée sur:

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

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

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

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

Vous allez maintenant avoir une proposition de fusion active.

Les responsables examineront vos modifications. S'ils sont appropriés, ils seront fusionnés et disponibles dans la prochaine version. La proposition peut également être définie sur "Needs Work" et les responsables discuteront avec vous des modifications supplémentaires à apporter avant la fusion. Si cela se produit, ne le prenez pas comme une sorte de rejet personnel de votre travail. Lorsque vous contribuez à un nouveau projet pour la première fois, il existe souvent de petites choses comme le style de codage que vous ne connaissez peut-être pas.

    
réponse donnée andrewsomething 01.02.2011 - 19:23
la source

Lire d'autres questions sur les étiquettes