Czy można uzyskać łatkę zawartą w bieżącej wersji? Jeśli tak to jak?

15

Jakiś czas temu zgłosiłem błąd we wtyczce Compiz Place Window . Jest to dość poważna regresja dla osób dotkniętych nią: głównie tych, którzy używają Gnome-Fallback, sądząc z raportów.

Wkrótce pojawiła się łatka. Stworzyłem PPA do testowania i wszyscy dotychczas zaangażowani zgłaszają problemy zostały naprawione. Naprawia nawet inny błąd . Przeprowadziłem testy ze standardowym pulpitem Unity i mogę powiedzieć (do moich testów), że nie były widoczne żadne niepożądane efekty.

Chcę teraz przekazać to do Ubuntu z dwóch głównych powodów:

  • Jestem samolubny. Nie chcę aktualizować PPA za każdym razem, gdy nowa wersja Compiz jest wypychana do wersji 12.04.
  • Nie chcę, aby użytkownicy Ubuntu widzieli, jak ich okna latają z powodu głupiego małego błędu.

Chcę, aby ta łatka została jak najszybciej przesłana do wersji Compiz firmy Ubuntu, abyśmy mogli oznaczyć te błędy i kontynuować życie.

Czyją nogę muszę garbować, aby wciągnąć ją teraz do Ubuntu?

Nie utrzymuję tego projektu i jest to rzecz upstream, ale jest dość integralna z Ubuntu. Mógłbym przejść do Compiz, ale wyobrażam sobie, że jeśli zaakceptują łatkę, miną miesiące (przynajmniej wydanie), zanim znajdzie się w pobliżu Ubuntu.

A kiedy znajdę odpowiednią osobę, jak mogę sprawić, by proces był dla niej jak najbardziej płynny?

Chcę, żeby zobaczyli moją prośbę, powiedzą „Tak, wszystko wygląda świetnie, gotowe” i to wszystko. Nie chcę siedemnastu rund e-maili dotyczących aspektów łatki. Co ważniejsze, nie chcę też tracić czasu.

A co muszę im zapewnić? Moje umiejętności pakowania są ... żałosne. To była moja pierwsza próba łatania pakietu w celu redystrybucji, więc prawdopodobnie podałem człowiekowi każdy błąd opakowania. Czy będą zadowoleni z oryginalnej łatki (aby mogli sami ją zastosować), czy też powinienem spakować rzeczy, aby diff / changelog był trochę czystszy (zajęło mi to kilka prób i wersja jest wszędzie).

Uwaga: To pytanie jest o Compiz ale wolałbym gdyby odpowiedzi mogą dotyczyć innych stylach pakietu zbyt więc mamy wiarygodne i wyczerpujące nić jak dostać rzeczy stałe.

Oli
źródło

Odpowiedzi:

14

Jak wspomniał Dobey, aby łatka została zaakceptowana w już wydanej wersji Ubuntu, musi przejść przez proces aktualizacji stabilnej wersji (SRU). Pasek wejścia SRU jest dość wysoki. Prostym sposobem podsumowania myślenia za tym procesem może być: „Znany błąd jest lepszy niż błąd, o którym nie wiemy”. W praktyce oznacza to, że dozwolone są tylko ukierunkowane poprawki błędów, a żadne zmiany nie są zbyt „natrętne”.

Aby móc korzystać z SRU, należy spełnić szereg wymagań:

  • Błąd został naprawiony w bieżącej wersji rozwojowej (tj. Kwantowej).
  • Opis raportu o błędzie musi zostać zaktualizowany, aby zawierał uzasadnienie, dlaczego poprawka jest potrzebna w wersji stabilnej, przypadek testowy do odtworzenia błędu i sprawdzenia, czy został naprawiony, oraz omówienie potencjału regresji poprawki.
  • Zespół Launchpad ubuntu-srupowinien zasubskrybować raport o błędzie.
  • Pakiet jest następnie przesyłany do wydania.-proposed Aby tak się stało, musisz przejść proces sponsorowania (więcej informacji poniżej).

Po tym wszystkim, co się wydarzyło, zespół SRU sprawdzi, czy pakiet -proposedrozwiązuje błąd. Następnie paczka zostanie wepchnięta -updatespo upływie minimalnego okresu starzenia wynoszącego 7 dni.

Znalezienie właściwej osoby

Twoje pytanie wskazuje na to, że czasami Launchpad wydaje się być miejscem, w którym łatki umierają. Niestety, jeśli nie znasz procesu, może się tak wydawać, ale przysięgam, że nie jest tak źle. Na szczęście najważniejsze jest proste. Sprawdź proces sponsorowania, aby poznać wszystkie szczegóły i kilka wskazówek, ale najważniejszą częścią jest zasubskrybowanie ubuntu-sponsorszespołu do raportu o błędzie. To gwarantuje, że pojawi się w kolejce sponsorów i zostanie popatrzony przez uczciwego boga dewelopera Ubuntu.

Jeśli musisz coś porozmawiać w czasie rzeczywistym, #ubuntu-develna Freenode IRC załatwi sprawę. Sprawdź temat kanału dla aktualnego pilota łatki. Są tam, aby ci pomóc. Jeśli nie ma dyżurnego pilota, możesz poprosić o pomoc na kanale, ale bądź cierpliwy.

Przygotowanie wszystkiego do pracy

Aby proces przebiegał jak najszybciej, jest kilka rzeczy do zrobienia.

Zaktualizuj opis błędu, aby wyglądał następująco:

[Wpływ]

Oto wyjaśnienie wpływu błędu na użytkowników i uzasadnienie cofnięcia poprawki do wydania stabilnego

[Przypadek testowy]

  1. Krok

  2. Przez

  3. Krok

  4. Instrukcje

  5. Do weryfikacji

  6. Poprawka

[Potencjał regresji]

Oto omówienie jakiegokolwiek potencjału regresji.

[Oryginalny raport]

Wszystko, co kiedyś było w opisie, zostało zachowane poniżej.

Następnie przygotuj łatki. Sprawy potoczą się znacznie szybciej, jeśli dostarczysz debiutantów, którzy zajmą się wszystkimi kawałkami opakowania, a nie łatki przeciwko źródłowemu źródłu. Obejmuje to korzystanie z systemu poprawek pakietów, jeśli go używa. Na szczęście add-patchod ubuntu-dev-toolsZainstaluj ubuntu-dev-tools może zająć się tym za Ciebie.

Przejdźmy przez to. Najpierw pobierz źródło i łatkę w raporcie o błędzie:

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

Teraz dodamy łatkę do pakietu źródłowego:

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

Spowoduje to dodanie poprawki debian/patchesi uruchomienie dchmonitowania o dodanie nowego wpisu debian/changelogDostosuj proponowany wpis do celu i zwiększ numer wersji, aby znajdował się poniżej następnej wersji przesłanej do wydania programistycznego. Tak jak:

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

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

 -- Your Name <[email protected]>  Mon, 11 Jun 2012 17:37:59 -0400

Plik at debian/patches/fix-974242.patchma również kilka nagłówków, które możesz chcieć edytować:

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

Teraz skompiluj nowy pakiet źródłowy:

$ debuild -S -us

I stwórz debdiffa:

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

Możesz teraz dołączyć wynikowy debdiffplik do swojego raportu o błędzie.

andrews coś
źródło
doskonała odpowiedź, dobre rzeczy. Możesz zauważyć, że przynajmniej do 12.04 / 12.10 polecenie jest pull-lp-source. Nie mam wcześniej, aby zobaczyć, czy / kiedy to byłopull-launchpad-source
doug