Bir hatayı düzeltmek istiyorum. Nereden başlayacağım?


47

Profesyonel bir programcı olmasam da, bir ya da iki program yazdım. Ancak, bugünlerde her mühendis ve bilim insanı da biraz programlamayı öğreniyor ve Python, C ve MATLAB'da programlar yazmaya alışkınım. Şimdi biraz Ubuntu'ya ve harika insanlarına geri vermek ve bir hatayı düzeltmek istiyorum!

Isırık kampanyasının listesine bir göz attım ve bunların çoğunun, konuyu ele almak için çok zamana ihtiyaç duyduklarından şüphelendiğim için düzeltmem için kolay olmadığını bulmak zorunda kaldım ve buna sahip değilim. Hala keşfetti bu bir ve yönetilebilir ve bana serin özelliği gibi görünüyor.

Daha önce hiç bir yama yazmadım ya da vahşi bir program yayınlamadığım için nereden başlayacağımı bilemedim. Bu problemi çözmek için ilk adımım ne olmalı?

Alt satır: Bu adamı nerede ve nasıl tamir etmeye başlarım?


1
Arkaplanın ne? Sürüm kontrol sistemlerine aşina mısınız? Ambalajlama uygulamalarında?
pygabriel

Hayır, henüz buna aşina değilsin! Değişiklik yapılabilir ...
Ingo

Yanıtlar:


31

Bu soruyu cevaplamak uzun ve karmaşık olabilir, bu yüzden sizi burada yeniden düzenlemek yerine mevcut kaynaklara yönlendireceğim.

belgeleme

  1. Ubuntu Geliştirme için Hazırlanma
  2. Bugs Nasıl Onarılır

Öğreticiler

Tıpkı sizin gibi insanlara yardım etmek için döngü boyunca etkinlikler düzenliyoruz, özellikle canlı bir eğitim ve Soru-Cevap atölyesi olan IRC'de Ubuntu Geliştirici Haftası yapıyoruz . Katılmak istiyorsan, Şubat sonunda bir tane geliyor!

İşte size bir fikir vermek için geçmiş bir oturumdan iki günlük:

Fırsat Bulunacak Yerler

  • Hasat - bu araç yamalar için Launchpad'deki (ya da diğer dağıtımlara bakar) tüm yamaları ve paketleri takip eder. Bunların birçoğu Ubuntu'da takılabilir, uygulanabilir, test edilebilir ve sonra sabitlenebilir ve daha sonra yukarı gönderilebilir.
  • Temizleyici - Launchpad'de oturan ya da birisinin hata raporuna eklediği yamaları listeler. Bunlar faydalı olabilir veya olmayabilir, yine de bakmaları gerekir.

Yardım almak

MOTU’ya posta listesinde veya IRC’de irtibata geçmek, karşılaştığınız bireysel sorunlar için yardım almanın iyi bir yoludur:

geri bildirim

Bu belgeleri elimizden geldiğince kolay hale getirmek için elimizden gelenin en iyisini yapmak için çok zaman harcadık, deneyimleriniz ve bu şeyleri nasıl geliştirebileceğimize dair not alırsanız, bunun gibi insanlar için nasıl daha az emilebileceğini bilmek çok faydalı olacaktır. sen.


19

Jorge'nin genel cevabı, Ubuntu'nun gelişimine atlamak için harika bir giriş, fakat size özel bir konuya biraz daha yakından bakmaya çalışalım ...

Apport'un ana yukarı akış geliştiricisi ve Ubuntu bakımcısı aynı ve aynı. Bu, işleri sizin için biraz kolaylaştırır. Paketleme ve yama sistemlerini öğrenmek zorunda kalmak yerine, buradaki en kolay yol doğrudan giriş kodunda çalışmaktır.

Apport'un gelişimi Launchpad'de barındırılmaktadır . Kaynak kodunu yönetmek için pazarın dağıtılmış versiyon kontrol sistemini kullanır. Hata düzeltmek için ilk adım kaynağı kapmaktır. Daha önce pazarı kullanmadıysanız, beş dakika içinde pazarın öğretici başlamak için iyi bir yerdir.

Bazaar'ı şu şekilde yükleyin:

sudo apt-get install bzr

Apport kaynak kodunu çekin:

bzr branch lp:apport

Şimdi hacklemeye başlayabilirsiniz. Çoğu VCS'de olduğu gibi, pazarla çalışırken, taahhüt başına yalnızca bir değişiklik yapmak iyi bir fikirdir. Ayrıca taahhüt mesajlarınızı bilgilendirici yapmalısınız. Değişikliklerinizin incelenmesini çok kolaylaştırır. İlk taahhüdünüzü yapmaya hazır olduğunuzda, koşun:

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

Hata düzeltildiğinden emin olana kadar değişiklik yapmaya ve taahhüt etmeye devam edin. Son taahhüdünüzde, bunu --fixes lp:<bug_number>commit komutuna ekleyerek hatayı düzeltmek olarak da etiketleyebilirsiniz . Şimdi değişikliklerinizi inceleme ve katılım için göndermeye hazırsınız.

Öncelikle, herkese açık hale getirmek için Launchpad'e itmeniz gerekir:

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

Şubeniz şu adreste bulunabilir:

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

Dalda çalışmak bzr lp-openbu konumu bir tarayıcıda açar.

Şimdi bir birleştirme önermek istiyoruz. Bu sayfada, "Birleştirme için teklif ver" i seçin.

birleştirme teklifi

Bir sonraki sayfada, hedef şubenizi seçin ve değişiklikleriniz hakkında genel bilgi verin.

birleştirme tanımla

Artık etkin bir birleştirme teklifiniz olacak.

aktif inceleme

Bakanlar değişikliklerinizi gözden geçirecek. Eğer uygunlarsa, birleştirilecekler ve bir sonraki sürümde hazır olacaklar. Alternatif olarak, teklif "İşe İhtiyaç Var" olarak belirlenebilir ve bakımcılar birleşme öncesinde yapılması gereken ek değişiklikleri görüşeceklerdir. Bu durumda, lütfen çalışmanızı kişisel olarak reddetmeyin. Yeni bir projeye ilk kez katkıda bulunurken, kodlama tarzı gibi, farkında olmadığınız birçok şey vardır.

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.