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?
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.
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:
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:
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.
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".
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. 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.