Ich möchte einen Fehler beheben. Wo soll ich anfangen?

47

Obwohl ich kein professioneller Programmierer bin, habe ich ein oder zwei Programme geschrieben. Heutzutage lernt jeder Ingenieur und Wissenschaftler, auch ein bisschen zu programmieren, und so bin ich es gewohnt, Programme in Python, C und MATLAB zu schreiben. Jetzt möchte ich Ubuntu und seinen großartigen Leuten etwas zurückgeben und einen Fehler beheben!

Ich habe mir die Liste der Bitesize-Kampagnen angesehen und festgestellt, dass die meisten für mich nicht so einfach zu beheben sind, da ich vermute, dass sie viel Zeit in Anspruch nehmen, und das habe ich nicht. Trotzdem habe ich dieses entdeckt und es sieht für mich überschaubar und cool aus.

Da ich vorher noch nie einen Patch geschrieben oder ein Programm veröffentlicht habe, weiß ich nicht, wo ich anfangen soll. Was sollte mein erster Schritt sein, um dieses Problem anzugehen?

Fazit: Wo und wie fange ich an, diesen Kerl zu reparieren?

Ingo
quelle
1
was ist dein Hintergrund? Kennen Sie sich mit Versionskontrollsystemen aus? In Verpackungspraktiken?
Pygabriel
Nein, damit noch nicht vertraut! Änderungen vorbehalten ...
Ingo

Antworten:

31

Die Beantwortung dieser Frage kann langwierig und kompliziert werden. Ich werde Sie daher auf verfügbare Ressourcen hinweisen, anstatt sie hier erneut aufzuwärmen.

Dokumentation

  1. Vorbereitung für die Ubuntu-Entwicklung
  2. Wie man Fehler behebt

Tutorials

Wir führen während des gesamten Zyklus Veranstaltungen durch, um Menschen wie Ihnen zu helfen. Insbesondere führen wir die Ubuntu Developer Week im IRC durch, bei der es sich um ein Live-Tutorial und einen Frage-Antwort-Workshop handelt. Es gibt Ende Februar eine, wenn Sie mitmachen wollen!

Hier sind zwei Protokolle aus einer vergangenen Sitzung, um Ihnen eine Idee zu geben:

Orte, an denen Sie Gelegenheiten finden

  • Harvest - Dieses Tool durchsucht alle Patches und Pakete in Launchpad (und sucht sogar in anderen Distributionen) nach Patches. Viele dieser Probleme können in Ubuntu behoben, angewendet, getestet und anschließend in den Upstream gesendet werden.
  • Cleansweep - Liste der Patches im Launchpad, die jemand an einen Fehlerbericht angehängt hat. Diese könnten nützlich sein oder auch nicht, sie sollten jedoch trotzdem betrachtet werden.

Hilfe bekommen

Das Kontaktieren der MOTU auf der Mailingliste oder im IRC ist eine gute Möglichkeit, Hilfe bei einzelnen Problemen zu erhalten, auf die Sie stoßen:

Feedback

Wir haben viel Zeit darauf verwendet, diese Dokumentation so einfach wie möglich zu gestalten. Wenn Sie sich Notizen über Ihre Erfahrungen machen und herausfinden möchten, wie wir diese verbessern können, wäre es sehr nützlich zu wissen, wie Sie diese Dokumentation für Leute wie z Sie.

Jorge Castro
quelle
19

Jorges verallgemeinerte Antwort ist eine großartige Einführung in die Ubuntu-Entwicklung, aber lassen Sie uns versuchen, Ihr spezielles Problem etwas näher zu betrachten ...

Apports Hauptentwickler und Ubuntu-Betreuer sind ein und dasselbe. Dies vereinfacht die Dinge für Sie ein bisschen. Anstatt sich mit Verpackungs- und Patch-Systemen auseinandersetzen zu müssen, besteht der einfachste Weg darin, direkt am vorgelagerten Code zu arbeiten.

Apports Entwicklung wird auf Launchpad gehostet . Es verwendet das verteilte Versionskontrollsystem von Bazaar, um seinen Quellcode zu verwalten. Der erste Schritt zur Behebung Ihres Fehlers ist das Auffinden der Quelle. Wenn Sie den Basar noch nicht benutzt haben, ist der Basar in fünf Minuten ein guter Anfang.

Installieren Sie Basar mit:

sudo apt-get install bzr

Quellcode des Apports abrufen:

bzr branch lp:apport

Jetzt können Sie anfangen zu hacken. Wie bei den meisten VCS empfiehlt es sich, bei der Arbeit mit Basar nur eine Änderung pro Festschreibung vorzunehmen. Sie sollten auch Ihre Commit-Nachrichten informativ gestalten. Dies erleichtert die Überprüfung Ihrer Änderungen erheblich. Wenn Sie bereit sind, Ihr erstes Commit durchzuführen, führen Sie Folgendes aus:

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

Nehmen Sie weitere Änderungen vor und bestätigen Sie, bis Sie zufrieden sind, dass Ihr Fehler behoben ist. Mit Ihrem letzten Commit können Sie es auch als Fehlerbehebung kennzeichnen --fixes lp:<bug_number>, indem Sie es an den Commit-Befehl anhängen . Jetzt können Sie Ihre Änderungen zur Überprüfung und Einbeziehung einreichen.

Zuerst müssen Sie es an Launchpad senden, um es öffentlich verfügbar zu machen:

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

Ihre Filiale finden Sie jetzt unter:

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

Wenn Sie bzr lp-openin der Filiale ausgeführt werden, wird dieser Speicherort in einem Browser geöffnet.

Jetzt wollen wir einen Zusammenschluss vorschlagen. Wählen Sie auf dieser Seite "Zum Zusammenführen vorschlagen".

zum Zusammenführen vorschlagen

Wählen Sie auf der nächsten Seite Ihre Zielbranche aus und geben Sie einen Überblick über Ihre Änderungen.

Merge beschreiben

Sie haben jetzt einen aktiven Zusammenführungsvorschlag.

aktive Überprüfung

Die Betreuer überprüfen Ihre Änderungen. Wenn es angebracht ist, werden sie zusammengeführt und sind in der nächsten Version verfügbar. Alternativ kann der Vorschlag auf "Needs Work" gesetzt werden, und die Betreuer werden mit Ihnen zusätzliche Änderungen besprechen, die vor dem Zusammenführen vorgenommen werden sollten. Wenn dies passiert, nehmen Sie es bitte nicht als persönliche Ablehnung Ihrer Arbeit. Wenn Sie zum ersten Mal zu einem neuen Projekt beitragen, gibt es oft kleine Dinge wie den Codierungsstil, die Sie möglicherweise nicht kennen.

undetwas
quelle