È possibile ottenere una patch inclusa nella versione corrente? Se é cosi, come?


15

Quindi qualche tempo fa ho segnalato un bug nel plug-in Place Window di Compiz . È una regressione abbastanza importante per le persone colpite: principalmente quelli che usano Gnome-Fallback, a giudicare dai rapporti.

Una patch emerse poco dopo. Ho creato un PPA per i test e tutti i soggetti coinvolti finora segnalano che i problemi sono stati risolti. Risolve anche un altro bug . Ho eseguito i test con un desktop Unity standard e posso dire (per i miei test) che non sono stati osservati effetti negativi.

Voglio farlo spingere su Ubuntu in questo momento per due motivi principali:

  • Io sono egoista. Non voglio aggiornare il mio PPA ogni volta che una nuova versione di Compiz viene trasferita a 12.04.
  • Non voglio che gli utenti Ubuntu vedano le loro finestre volare in giro a causa di un piccolo stupido bug.

Voglio che questa patch sia trasferita al più presto alla versione di Ubiz di Compiz, così possiamo contrassegnare questi bug corretti e andare avanti con le nostre vite.

Di chi devo fare una gobba per farmi trascinare su Ubuntu in questo momento?

Non mantengo questo progetto ed è una cosa a monte ma è abbastanza integrale in Ubuntu. Potrei andare a Compiz ma immagino che se accettano la patch, ci vorranno mesi (almeno una versione) prima che sia vicino a Ubuntu.

E quando trovo la persona giusta, come posso rendere il processo il più fluido possibile per loro?

Voglio che vedano la mia richiesta, vai "Sì, è tutto perfetto, fatto" e basta. Non voglio diciassette round di e-mail che affrontano aspetti della patch. Ancora più importante, non voglio nemmeno perdere tempo.

E cosa devo fornire loro? Le mie capacità di confezionamento sono ... deplorevoli. Questo è stato il mio primo tentativo di rattoppare un pacchetto per la ridistribuzione, quindi probabilmente ho fatto conoscere ogni singolo errore di packaging all'uomo. Saranno felici con la patch originale (in modo che possano applicarla da soli) o dovrei riconfezionare le cose in modo che il diff / changelog sia un po 'più pulito (mi ci sono voluti alcuni passaggi e il controllo delle versioni è dappertutto).

Nota: Questa domanda è su Compiz ma preferirei se risposte potrebbero affrontare altri stili di pacchetto troppo così abbiamo un filo autorevole e completa di come per ottenere le cose fisse.

Risposte:


14

Come accennato da Dobey, affinché una patch venga accettata in una versione già rilasciata di Ubuntu, deve superare il processo SRU ( Stable Release Update ). La barra di accesso per le SRU è piuttosto elevata. Un modo semplice per riassumere il pensiero alla base del processo potrebbe essere: "Il bug che conosciamo è migliore del bug che non conosciamo." In pratica, ciò significa che sono consentite solo correzioni di bug mirate e nessuna modifica troppo "invadente".

Esistono numerosi requisiti che devono essere soddisfatti per poter procedere con una SRU:

  • Il bug è stato corretto nell'attuale versione di sviluppo (cioè quantica).
  • La descrizione della segnalazione di bug deve essere aggiornata per includere una giustificazione del motivo per cui la correzione è necessaria nella versione stabile, un caso di test per riprodurre il bug e verificare che sia stato corretto e una discussione sul potenziale di regressione della correzione.
  • Il team di Launchpad ubuntu-srudovrebbe essere iscritto alla segnalazione di bug.
  • Il pacchetto viene quindi caricato per essere rilasciato-proposed Per far sì che ciò accada, dovrai passare attraverso il processo di sponsorizzazione (maggiori informazioni di seguito).

Dopo tutto ciò che è accaduto, il team SRU verificherà che il pacchetto -proposedrisolva il bug. Quindi il pacchetto verrà inserito -updatesdopo un periodo minimo di invecchiamento di 7 giorni.

Trovare la persona giusta

La tua domanda suggerisce che a volte Launchpad sembra essere dove le patch vanno a morire. Purtroppo, se non conosci il processo può sembrare così, ma giuro che non è poi così male. Fortunatamente, la cosa principale che devi sapere è semplice. Controlla il processo di sponsorizzazione per tutti i dettagli e alcuni suggerimenti, ma la parte più importante è iscrivere il ubuntu-sponsorsteam alla segnalazione di bug. Ciò garantisce che venga visualizzato nella coda di sponsorizzazione e venga guardato da uno sviluppatore Ubuntu onesto.

Se hai bisogno di parlare di qualcosa in tempo reale, #ubuntu-develsu Freenode IRC farà il trucco. Controlla l'argomento del canale per l'attuale pilota pilota. Sono lì per aiutarti. Se non c'è un pilota in servizio, non esitare a chiedere aiuto nel canale, ma per favore sii paziente.

Preparare tutto per andare

Al fine di rendere il processo più rapido possibile, ci sono alcune cose da fare.

Aggiorna la descrizione del bug in modo che assomigli a:

[Impact]

Ecco una spiegazione dell'impatto del bug sugli utenti e una giustificazione per il backport della correzione nella versione stabile

[Caso di prova]

  1. Passo

  2. Di

  3. Passo

  4. Istruzioni

  5. Verificare

  6. La correzione

[Potenziale di regressione]

Ecco una discussione di qualsiasi potenziale di regressione.

[Rapporto originale]

Ogni cosa che era nella descrizione è conservata di seguito.

Quindi, prepara le patch. Le cose andranno molto più rapidamente se si forniscono debdiff che si prendono cura di tutti i bit di packaging piuttosto che di una patch rispetto alla sorgente upstream. Ciò include l'uso del sistema di patch dei pacchetti se ne utilizza uno. Fortunatamente add-patchda Ubuntu-dev-toolsInstalla ubuntu-dev-tools può occuparsene.

Camminiamo attraverso questo. Per prima cosa prendi il sorgente e la patch nella segnalazione bug:

$ pull-lp-source compiz precise
$ wget https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/974242/+attachment/3141645/+files/fix-974242.patch 

Ora aggiungeremo la patch al pacchetto sorgente:

$ cd compiz-0.9.7.8/
$ add-patch ../fix-974242.patch

Ciò aggiungerà la patch debian/patchesed eseguirà la dchrichiesta di aggiungere una nuova voce per debian/changelogadattare la voce alla destinazione proposta e incrementare il numero di versione in modo che sia inferiore alla versione successiva caricata nella versione di sviluppo. Così:

compiz (1:0.9.7.8-0ubuntu1.1) precise-proposed; urgency=low

  * debian/patches/fix-974242.patch: [DESCRIBE CHANGES HERE]

 -- Your Name <you@example.com>  Mon, 11 Jun 2012 17:37:59 -0400

Il file in debian/patches/fix-974242.patchha anche alcune intestazioni che potresti voler modificare:

## Description: add some description
## Origin/Author: add some origin or author
## Bug: bug URL

Ora costruisci il tuo nuovo pacchetto sorgente:

$ debuild -S -us

E crea il debdiff:

$ cd ..
$ debdiff compiz_0.9.7.8-0ubuntu1.dsc compiz_0.9.7.8-0ubuntu1.1.dsc > sru-for-lp-974242.debdiff

Ora puoi allegare il debdifffile risultante alla tua segnalazione di bug.


risposta eccellente, roba buona. Si consiglia di notare che almeno fino al 12.04 / 12.10 il comando è pull-lp-source. Non ho prima di vedere se / quando erapull-launchpad-source
Doug

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.