La risposta generalizzata di Jorge è un'ottima introduzione al salto nello sviluppo di Ubuntu, ma proviamo ad esaminare un po 'più da vicino il tuo problema specifico ...
Il principale sviluppatore a monte di Apport e il manutentore di Ubuntu sono la stessa cosa. Questo ti semplifica un po 'le cose. Invece di dover imparare sui sistemi di packaging e patch, il percorso più semplice qui è lavorare direttamente sul codice upstream.
Lo sviluppo di Apport è ospitato su Launchpad . Utilizza il sistema di controllo della versione distribuita del bazar per gestire il suo codice sorgente. Il primo passo verso la correzione del bug è quello di afferrare la fonte. Se non hai mai usato il bazar prima, il tutorial di cinque minuti in bazar è un buon punto di partenza.
Installa bazar con:
sudo apt-get install bzr
Estrarre il codice sorgente di apport:
bzr branch lp:apport
Ora puoi iniziare l'hacking. Come con la maggior parte dei VCS, quando si lavora con il bazar, è una buona idea apportare una sola modifica per commit. Dovresti anche rendere i tuoi messaggi di commit informativi. Rende le tue modifiche molto più facili da rivedere. Quando sei pronto per effettuare il tuo primo commit, esegui:
bzr commit -m "My commit message. Did foo to bar in order to achieve baz."
Continua ad apportare modifiche e si impegna fino a quando non sei sicuro che il tuo bug sia stato corretto. Con il tuo ultimo commit, puoi anche contrassegnarlo come correzione del bug aggiungendo --fixes lp:<bug_number>
al comando commit. Ora sei pronto per inviare le modifiche per la revisione e l'inclusione.
Innanzitutto, devi inviarlo a Launchpad per renderlo pubblicamente disponibile:
bzr push lp:~<launchpad_username>/apport/<branch_name>
Ora puoi trovare la tua filiale su:
https://code.launchpad.net/~<launchpad_username>/apport/<branch_name>/
L'esecuzione bzr lp-open
nel ramo aprirà quella posizione in un browser.
Ora vogliamo proporre una fusione. In quella pagina, seleziona "Proponi per l'unione".
Nella pagina successiva, selezionare il ramo di destinazione e fornire una panoramica delle modifiche.
Ora avrai una proposta di unione attiva.
I manutentori esamineranno le tue modifiche. Se sono appropriati, verranno uniti e saranno disponibili nella prossima versione. In alternativa, la proposta può essere impostata su "Lavori necessari" e i manutentori discuteranno con te ulteriori modifiche che dovrebbero essere apportate prima della fusione. In questo caso, ti preghiamo di non considerarlo come qualsiasi tipo di rifiuto personale del tuo lavoro. Quando contribuisci a un nuovo progetto per la prima volta, spesso ci sono piccole cose come lo stile di programmazione di cui potresti non essere a conoscenza.