Saya ingin memperbaiki bug. Di mana saya memulai?

47

Walaupun saya bukan programmer profesional, saya telah menulis satu atau dua program. Namun, saat ini setiap insinyur dan ilmuwan belajar untuk memprogram sedikit juga, dan karena itu saya terbiasa menulis program dengan Python, C dan MATLAB. Sekarang saya ingin memberikan sedikit kembali ke Ubuntu dan orang-orang hebatnya dan memperbaiki bug!

Saya telah melihat daftar kampanye gigitan dan harus menemukan bahwa sebagian besar dari mereka tidak mudah untuk saya perbaiki karena saya curiga mereka memerlukan banyak waktu untuk membahas masalah ini, dan saya tidak memilikinya. Masih saya menemukan yang satu ini dan kelihatannya bisa dikelola dan seperti fitur keren untuk saya.

Karena saya belum pernah menulis tambalan atau merilis program ke alam liar sebelumnya, saya tidak tahu harus mulai dari mana. Apa yang harus menjadi langkah pertama saya untuk mengatasi masalah itu?

Intinya: Di mana dan bagaimana saya mulai memperbaiki pria itu?

Ingo
sumber
1
apa latar belakangmu Apakah Anda terbiasa dengan sistem kontrol versi? Dalam praktik pengemasan?
pygabriel
Tidak, belum terbiasa dengan itu! Dapat berubah ...
Ingo

Jawaban:

31

Menjawab pertanyaan ini bisa lama dan rumit, jadi saya malah akan mengarahkan Anda ke sumber daya yang tersedia alih-alih mengulanginya di sini.

Dokumentasi

  1. Persiapan untuk Pengembangan Ubuntu
  2. Cara Memperbaiki Bug

Tutorial

Kami menjalankan acara sepanjang siklus untuk membantu orang-orang seperti Anda, khususnya kami menjalankan Ubuntu Developer Week di IRC, yang merupakan tutorial langsung dan lokakarya Tanya Jawab. Ada satu yang akan datang pada akhir Februari jika Anda ingin bergabung!

Berikut adalah dua log dari sesi sebelumnya untuk memberi Anda ide:

Tempat untuk Menemukan Peluang

  • Harvest - alat ini melewati semua tambalan dan paket di Launchpad (dan bahkan terlihat di distro lain) untuk tambalan. Banyak dari ini dapat tersangkut, diterapkan, diuji, dan kemudian diperbaiki di Ubuntu dan kemudian dikirim ke hulu.
  • Cleansweep - Daftar tambalan yang ada di Launchpad yang dilampirkan seseorang pada laporan bug. Ini bisa bermanfaat atau tidak, mereka masih harus dilihat.

Mendapatkan bantuan

Menghubungi MOTU di milis atau IRC adalah cara yang baik untuk mendapatkan bantuan untuk masalah individual yang Anda hadapi:

Umpan balik

Kami telah menghabiskan banyak waktu mengerjakan ulang dokumentasi ini semudah yang kami bisa, jika Anda ingin mencatat pengalaman Anda dan bagaimana kami dapat meningkatkan hal-hal ini, akan sangat berguna untuk mengetahui cara membuatnya lebih sedikit menyedot orang-orang seperti kamu.

Jorge Castro
sumber
19

Jawaban umum Jorge adalah pengantar yang bagus untuk terjun ke pengembangan Ubuntu, tetapi mari kita coba melihat lebih dekat pada Anda masalah spesifik ...

Pengembang hulu utama dan pengelola Ubuntu dari Apport adalah satu dan sama. Ini sedikit menyederhanakan untuk Anda. Daripada harus belajar tentang sistem pengemasan dan patch, jalur termudah di sini adalah bekerja langsung pada kode hulu.

Pengembangan Apport di-host di Launchpad . Ia menggunakan sistem kontrol versi terdistribusi bazaar untuk mengelola kode sumbernya. Langkah pertama untuk memperbaiki bug Anda adalah mengambil sumbernya. Jika Anda belum pernah menggunakan bazaar sebelumnya, tutorial bazaar dalam lima menit adalah tempat yang baik untuk memulai.

Instal bazaar dengan:

sudo apt-get install bzr

Tarik kode sumber apport:

bzr branch lp:apport

Sekarang Anda bisa mulai meretas. Seperti kebanyakan VCS, ketika bekerja dengan bazaar, adalah ide yang baik untuk hanya melakukan satu perubahan per komit. Anda juga harus membuat pesan komit Anda informatif. Itu membuat perubahan Anda jauh lebih mudah untuk ditinjau. Saat Anda siap untuk membuat komitmen pertama Anda, jalankan:

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

Lanjutkan membuat perubahan dan melakukan sampai Anda puas bahwa bug Anda diperbaiki. Dengan komit terakhir Anda, Anda juga dapat menandainya sebagai memperbaiki bug dengan menambahkan --fixes lp:<bug_number>perintah komit. Sekarang Anda siap untuk mengirimkan perubahan Anda untuk ditinjau dan dimasukkan.

Pertama, Anda perlu mendorongnya ke Launchpad untuk membuatnya tersedia untuk umum:

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

Cabang Anda sekarang dapat ditemukan di:

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

Berjalan bzr lp-opendi cabang akan membuka lokasi itu di browser.

Sekarang kami ingin mengusulkan penggabungan. Pada halaman itu, pilih "Usulkan penggabungan."

mengusulkan penggabungan

Di halaman berikutnya, pilih cabang target Anda dan berikan gambaran umum perubahan Anda.

gambarkan penggabungan

Anda sekarang akan memiliki proposal penggabungan aktif.

ulasan aktif

Pengelola akan meninjau perubahan Anda. Jika sesuai, mereka akan digabung dan tersedia di rilis berikutnya. Atau, proposal dapat diatur ke "Needs Work," dan pengelola akan mendiskusikan dengan Anda perubahan tambahan yang harus dilakukan sebelum penggabungan. Jika ini terjadi, tolong jangan menganggapnya sebagai penolakan pribadi terhadap pekerjaan Anda. Ketika berkontribusi pada proyek baru untuk pertama kalinya, sering ada hal-hal kecil seperti gaya pengkodean yang mungkin tidak Anda sadari.

andrewsomething
sumber