Mevcut sürüme bir yama eklemek mümkün müdür? Öyleyse nasıl?


15

Bir süre önce Compiz'in Place Window eklentisinde bir hata rapor ettim . Bu durumdan etkilenen insanlar için oldukça büyük bir gerileme: esas olarak Gnome-Fallback kullanan ve raporlara bakarak.

Kısa bir süre sonra bir yama ortaya çıktı. Test için bir PPA oluşturdum ve şu ana kadar herkes sorunların giderildiğini bildiriyor. Hatta başka bir hatayı düzeltir . Standart bir Unity masaüstüyle test yaptım ve (testlerim için) hiçbir olumsuz etki görünmediğini söyleyebilirim.

Bunu şu anda iki temel nedenden dolayı Ubuntu'ya itmek istiyorum:

  • Bencilim. Compiz'in her yeni sürümü 12.04'e her aktarıldığında PPA'mı güncellemek istemiyorum.
  • Ubuntu kullanıcılarının pencerelerinin aptalca küçük bir hata yüzünden uçtuğunu görmesini istemiyorum.

Bu yamanın Ubuntu'nun Compiz sürümüne mümkün olan en kısa sürede aktarılmasını istiyorum, bu yüzden bu hataları düzeltebilir ve hayatlarımıza devam edebiliriz.

Bunu şu anda Ubuntu'ya çekmek için kimin bacağına ihtiyacım var?

Bu projeyi sürdürmüyorum ve bu bir akış yukarı şey ama Ubuntu için oldukça ayrılmaz. Compiz'e gidebilirim ama yamayı kabul ederse, Ubuntu'nun yakınında herhangi bir yerde aylar (en azından bir sürüm) olacağını hayal ediyorum.

Ve doğru kişiyi bulduğumda, süreci onlar için nasıl olabildiğince kaygan hale getirebilirim?

Onların isteğimi görmelerini istiyorum, "Evet, hepsi harika görünüyor, bitti" ve hepsi bu. Düzeltme ekinin yönlerini ele alan on yedi tur e-posta istemiyorum. Daha da önemlisi, onların zamanını da harcamak istemiyorum.

Ve onlara ne sunmam gerekiyor? Ambalajlama becerilerim ... acınacak durumda. Bu, yeniden dağıtım için bir paketi yamalamak için ilk girişimimdi, bu yüzden muhtemelen insan tarafından bilinen her bir ambalaj hatasını yaptım. Orijinal yama ile mutlu olacaklar mı (böylece kendileri uygulayabilirler) veya diff / changelog biraz daha temiz olacak şekilde yeniden paketlemeliyim (birkaç kez gitti ve sürümleme her yerde).

Not: Bu soru Compiz hakkındadır , ancak cevapların diğer paket stillerine de yanıt verebilmesini tercih ederim, bu yüzden işleri nasıl düzelteceğimize dair yetkili ve kapsamlı bir iş parçacığına sahibiz.

Yanıtlar:


14

Dobey'in de belirttiği gibi, bir yamanın Ubuntu'nun zaten yayınlanmış bir sürümüne kabul edilebilmesi için Kararlı Sürüm Güncellemesi (SRU) sürecinden geçmesi gerekiyor. SRU'lar için giriş barı oldukça yüksektir. Sürecin arkasındaki düşünceyi özetlemenin basit bir yolu şu olabilir: "Bildiğimiz hata, bilmediğimiz hatadan daha iyidir." Uygulamada bu, yalnızca hedeflenen hata düzeltmelerine izin verildiği ve çok "müdahaleci" olmayan hiçbir değişiklik olmadığı anlamına gelir.

Bir SRU ile devam etmek için yerine getirilmesi gereken bir takım gereksinimler vardır:

  • Hata, mevcut geliştirme sürümünde (örn., Quantal) düzeltildi.
  • Hata raporunun açıklaması, kararlı sürümde düzeltmenin neden gerekli olduğuna dair bir gerekçe, hatayı yeniden oluşturmak ve düzeltildiğini doğrulamak için bir test durumu ve düzeltmenin regresyon potansiyeli üzerine bir tartışma içerecek şekilde güncellenmelidir.
  • Launchpad ekibi ubuntu-sruhata raporuna abone olmalıdır.
  • Daha sonra paket yayınlanacak şekilde yüklenir -proposedBunun gerçekleşmesi için sponsorluk sürecinden geçmeniz gerekir (daha fazla bilgi aşağıdadır).

Tüm bunlar gerçekleştikten sonra, SRU ekibi içindeki paketin -proposedhatayı giderdiğini doğrulayacaktır . Daha sonra paket, -updatesminimum 7 günlük bir yaşlanma döneminden sonra itilecektir .

Doğru kişiyi bulmak

Sorunuz bazen Launchpad'in yamaların öldüğü yer gibi görünmesine işaret ediyor. Ne yazık ki, süreci bilmiyorsanız böyle hissedebilirsiniz, ama yemin ederim o kadar da kötü değil. Neyse ki, bilmeniz gereken ana şey basit. Tüm detaylar ve bazı ipuçları için sponsorluk sürecine göz atın , ancak en önemli kısım ubuntu-sponsorsekibi hata raporuna abone olmaktır. Bu, sponsorluk kuyruğunda görünmesini ve tanrı Ubuntu geliştiricisine dürüst bir şekilde bakılmasını sağlar.

Gerçek zamanlı olarak bir şey hakkında konuşmanız gerekiyorsa #ubuntu-devel, Freenode IRC'de hile yapacağız. Geçerli yama pilotu için kanal konusunu kontrol edin. Sana yardım etmek için oradalar. Görevli bir pilot yoksa, kanalda yardım istemekten çekinmeyin, ancak lütfen sabırlı olun.

Her şeyi hazır hale getirme

Sürecin olabildiğince çabuk devam etmesini sağlamak için yapılması gereken birkaç şey vardır.

Hata açıklamasını aşağıdaki gibi görünecek şekilde güncelleyin:

[Etki]

İşte hatanın kullanıcılar üzerindeki etkisinin bir açıklaması ve düzeltmenin kararlı sürüme geri döndürülmesi için bir gerekçe

[Test durumu]

  1. Adım

  2. Tarafından

  3. Adım

  4. Talimatlar

  5. Doğrulamak için

  6. Çözüm

[Regresyon Potansiyeli]

İşte herhangi bir gerileme potansiyeli hakkında bir tartışma.

[Orijinal Rapor]

Açıklamasında kullanılan her şey aşağıda saklanır.

Ardından, yamalarınızı hazırlayın. Akış yukarı kaynağa karşı bir yama yerine tüm ambalaj bitlerine dikkat eden deşarjlar sağlarsanız işler çok daha hızlı gidecektir . Bu, eğer paketleri kullanırsa paketleri yama sistemini kullanmayı içerir. Neyse ki add-patchgelen ubuntu-dev-araçlarıUbuntu-dev-tools uygulamasını yükle sizin için halledebiliriz.

Hadi bunun üzerinden geçelim. İlk olarak hata raporundaki kaynağı ve yamayı alın:

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

Şimdi yamayı kaynak pakete ekleyeceğiz:

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

Bu, düzeltme ekini ekler debian/patchesve çalıştırmayı , girdiyi önerilen hedefe göre ayarla'ya dchyeni bir giriş eklemenizi debian/changelogve geliştirme sürümüne yüklenen bir sonraki sürümün altında olmasını sağlayacak şekilde sürüm numarasını artırmanızı ister. Şöyle ki:

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

Adresindeki dosyanın debian/patches/fix-974242.patchdüzenlemek istediğiniz bazı başlıkları da var:

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

Şimdi yeni kaynak paketinizi oluşturun:

$ debuild -S -us

Ve debdiff'i oluşturun:

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

Artık ortaya çıkan debdiffdosyayı hata raporunuza ekleyebilirsiniz .


mükemmel cevap, iyi şeyler. Komutun en az 12.04 / 12.10 kadar olduğunu not etmek isteyebilirsiniz pull-lp-source. Daha önce olup olmadığını görmek için daha önceleri yokpull-launchpad-source
Doug

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.