Tanggung jawab pemelihara paket

Pemelihara paket bertanggung jawab atas perawatan paket-paket di Fedora. Ini mencakup baik pengemasan perangkat lunak dari hulu (upstream) menjadi RPM Fedora, maupun bekerja sama dengan pengembang hulu untuk meningkatkan perangkat lunak tersebut dengan berbagai cara.

Berapa lama harus memelihara?

Setiap rilis Fedora berlangsung setidaknya selama 13 bulan hingga mencapai akhir masa dukungan (end of life). Seorang pemelihara paket bertanggung jawab atas paket mereka selama periode ini minimal. Lihat Siklus Rilis Fedora untuk detail lebih lanjut.

Berlangganan ke milis dengan lalu lintas rendah yang sesuai

Pemelihara paket akan menerima pengumuman penting melalui milis devel-announce yang dimoderasi. Pemelihara akan otomatis terdaftar dalam milis ini. Setiap pemelihara utama dari paket di Fedora juga sangat disarankan untuk berlangganan ke milis devel, meskipun hal ini tidak wajib.

Menangani masalah keamanan

Pemelihara paket harus menangani masalah keamanan dengan cepat, dan jika membutuhkan bantuan, mereka disarankan menghubungi Tim Respons Keamanan.

Bekerja dengan proyek hulu

Disarankan agar pemelihara paket bekerja sama secara erat dengan proyek hulu kapan pun memungkinkan. Ini dapat mencakup hal-hal seperti:

  • Mengirim setiap perubahan ke proyek hulu.

  • Berpartisipasi dalam milis proyek hulu.

  • Membuat akun di pelacak bug proyek hulu.

  • Meneruskan bug yang parah ke hulu bila memungkinkan untuk mendapatkan bantuan.

Lihat Tetap Dekat dengan Proyek Hulu untuk informasi lebih lanjut.

Bekerja dengan Tim Pengujian

Ada banyak tempat di mana pemelihara paket dapat berinteraksi dengan tim QA untuk meningkatkan kualitas Fedora. Disarankan agar pemelihara:

  • Saat mengirimkan paket, memberikan informasi kepada QA tentang cara men-debug/menangani paket, yang dapat digunakan oleh pelapor bug dan triager.

  • Menyediakan kasus uji fungsi umum untuk digunakan dalam pengujian regresi.

  • Saat mengirimkan pembaruan, menyediakan kasus uji untuk masalah yang diperbaiki dalam pembaruan tersebut agar dapat diuji oleh penguji.

Menangani bug yang dilaporkan dengan cepat dan tepat waktu.

  • Jika Anda merasa tidak mampu menangani beban besar bug dari paket Anda, mintalah bantuan melalui daftar devel dan/atau test. Mengajarkan triager cara menangani bug paket Anda atau memperoleh bantuan dari pemelihara lain tidak hanya dapat mengurangi beban kerja Anda, tetapi juga membantu meningkatkan Fedora. Pertimbangkan pula untuk mencari satu atau lebih rekan pemelihara tambahan untuk membantu Anda.

  • Jika ada bug yang tidak dapat Anda perbaiki sendiri karena menyangkut detail kode sumber yang tidak sepenuhnya Anda kuasai, Anda tetap harus menanganinya. Anda dapat bekerja sama dengan pemelihara kode hulu, meminta bantuan dari pengembang yang lebih berpengalaman di fedora-devel, atau memeriksa distribusi lain untuk melihat apakah ada patch. Pastikan selalu mencatat di laporan bug apa yang sudah Anda lakukan agar pelapor mengetahui apa yang sedang terjadi dan apa yang diharapkan. Disarankan bagi pemelihara paket yang bukan pengembang untuk mencari rekan pemelihara yang memahami bahasa pemrograman dari paket mereka, sehingga dapat membantu menangani bug jenis ini sebagai bentuk “dukungan lini kedua”.

  • Usahakan untuk memperbaiki bug atau masalah pada rilis tempat bug tersebut dilaporkan, atau jika tidak memungkinkan, berikan penjelasan kepada pelapor mengapa bug tidak dapat diperbaiki pada rilis tersebut.

Pembaruan paket

Kebijakan pembaruan paket memberikan panduan bagi pemelihara dalam memperbarui paket di Rawhide, “rilis bercabang” (branched releases), dan cabang “stabil” yang sudah dirilis.

Sebagai ringkasan, pemelihara harus mengingat bahwa:

  • Rilis harus berjalan dari yang kurang konservatif (Rawhide) menuju yang lebih konservatif (rilis stabil tertua yang masih didukung).

  • Banyak pengguna Fedora yang melakukan pembaruan secara otomatis, sehingga hal yang paling penting adalah memastikan pembaruan tidak menyebabkan aplikasi atau sistem pengguna berhenti berfungsi secara tiba-tiba.

  • Pengguna Fedora yang tidak memperbarui secara otomatis mungkin akan meninjau deskripsi yang disertakan dengan pembaruan sebelum memutuskan apakah mereka akan menerapkannya.

  • Tidak semua pengguna Fedora memiliki koneksi Internet dengan bandwidth yang baik dan mungkin lebih memilih satu pembaruan dengan beberapa perubahan dibandingkan banyak pembaruan dalam waktu singkat.

Membimbing dan mengawasi rekan pemelihara (co-maintainer)

Ketika Anda menerima rekan pemelihara, Anda memasuki kemitraan dengan mereka. Mereka dapat bekerja pada paket tersebut, yang meringankan sebagian beban Anda, tetapi Anda juga perlu bersiap untuk membantu mereka sekaligus memastikan mereka tidak melakukan kesalahan besar. Jadi, pastikan Anda tersedia untuk menjawab pertanyaan yang mungkin mereka miliki dan juga tetap mengawasi perubahan yang mereka buat agar masalah tidak muncul secara tak terduga.

Mengawasi perubahan pada paket Anda juga berlaku untuk perubahan yang dilakukan oleh orang yang bukan rekan pemelihara resmi, jika Anda membuka akses paket Anda untuk setiap packager.

Anda juga dapat menerima rekan pemelihara yang belum disponsori dalam grup packager asalkan Anda bersedia menjadi mentor dalam hal pengemasan Fedora: mengajari mereka tentang alat yang digunakan serta pedoman pengemasan yang harus mereka ikuti. Lihat halaman Cara Mendapatkan Sponsor untuk detail tentang bagaimana mendapatkan sponsor bagi pengemas baru apabila Anda bukan sponsor sendiri.

Akun bot

Dalam kasus ketika proses otomatis digunakan menggantikan tindakan normal pemelihara, harus digunakan akun bot terpisah. Nama akun harus diakhiri dengan kata “bot”. Pemelihara yang menyiapkan bot tersebut wajib membuat halaman wiki untuk akun bot (https://fedoraproject.org/wiki/User:<bot>;) berisi informasi kontak pemelihara dan penjelasan tentang fungsi bot tersebut. Jika pembaruan yang dikirim oleh bot menyebabkan masalah yang membutuhkan perhatian segera, tim release engineering dapat menonaktifkan akun tersebut sementara.

Titik kontak paket

Admin utama yang tercantum di dist-git merupakan titik kontak utama untuk suatu paket dan merupakan orang yang bertanggung jawab atas pelaksanaan tanggung jawab yang tercantum dalam dokumen ini.

Oleh karena itu, [_bot_accounts] atau grup mana pun, atau pengguna lain yang tidak terdaftar sebagai individu yang bertanggung jawab, TIDAK BOLEH tercantum sebagai admin utama paket.

Penugasan bug default DAPAT diatur ke grup menggunakan fitur assignee override di dist-git yang membuat grup tersebut bertanggung jawab atas persyaratan di Menangani bug yang dilaporkan dengan cepat dan tepat waktu..

Menangani masalah ketergantungan tepat waktu

Di Rawhide, pembaruan terhadap paket dapat menyebabkan paket lain mengalami kerusakan ketergantungan. Pemelihara akan diberi tahu ketika hal ini terjadi dan harus segera bekerja untuk membangun ulang paket mereka. Ketergantungan yang rusak dapat menyebabkan sistem pengguna akhir berada dalam keadaan di mana tidak ada pembaruan yang dapat diterapkan. Untuk menjaga distribusi tetap dalam kondisi yang baik, seseorang dapat turun tangan dan membangun ulang paket yang mengalami masalah ketergantungan terlalu lama, tetapi pemelihara paket tidak boleh bergantung pada pembangunan ulang semacam ini.

Memberi tahu pihak lain tentang perubahan yang dapat memengaruhi paket mereka

Beberapa paket menjadi dependensi bagi paket lain; dalam hal ini, perubahan pada satu paket dapat menyebabkan masalah bagi yang lain. Pemelihara harus menyadari dampak dari perubahan pada paket mereka dan harus mengumumkan di milis fedora-devel-announce pembaruan yang mengandung perubahan ABI atau API yang dapat menyebabkan masalah ketergantungan bagi paket lain.

Pengumuman harus dilakukan satu minggu sebelum pembaruan paket, sehingga semua pemelihara yang terdampak mendapatkan pemberitahuan. Pengumuman tersebut harus mencakup informasi berikut:

  • Sifat perubahan.

  • Cabang (Rawhide, F9, dll.) yang akan terpengaruh oleh perubahan.

  • Tanggal perubahan yang diharapkan.

  • Daftar paket yang terpengaruh oleh perubahan. Biasanya, ini adalah daftar paket yang secara langsung bergantung pada paket yang diperbarui, dan dapat ditemukan dengan perintah repoquery --whatrequires <package> di mana <package> adalah paket yang sedang diperbarui.

  • Jika peningkatan paket Anda menyebabkan paket lain di Rawhide rusak, Anda harus berusaha membantu memperbaiki paket yang terdampak. Misalnya, jika Anda seorang provenpackager, lakukan antrean pembangunan ulang (rebuilds) sendiri.

Menghormati jadwal

Setiap rilis Fedora memiliki jadwal yang mencakup, antara lain, masa pembekuan seperti string freeze. Saat membuat paket baru atau memperbarui paket yang sudah ada, perencanaan rilis ini harus dihormati.

Meninggalkan Fedora

Kita semua tahu bahwa prioritas dapat berubah seiring waktu. Melihat kontributor berharga meninggalkan proyek tentu membuat sedih, tetapi hal itu bisa saja terjadi. Sebelum meninggalkan Fedora, mohon pertimbangkan untuk melakukan langkah-langkah berikut:

  • Umumkan kepergian Anda di milis devel, bersama daftar paket yang akan menjadi orphan.

  • Jika ada orang lain yang tertarik untuk mengadopsi salah satu paket Anda, serahkan paket tersebut kepada mereka.

  • Jadikan orphan semua paket di mana Anda terdaftar sebagai admin utama, agar orang lain dapat mengambil alih pemeliharaannya.

  • Tinggalkan grup packager (cari tombol “Leave Group” di bawah daftar sponsor).

Lain-lain

  • Pemelihara perlu menjaga jalur peningkatan (upgrade path) untuk paket mereka.

    F(current-1) → F(current) → Rawhide

  • Paket harus terlebih dahulu dikirim ke cabang Rawhide. Jika paket berhasil dibangun dan berfungsi dengan baik selama beberapa hari, maka dapat diteruskan ke F(current). Jika ada alasan kuat untuk mengirimkannya ke F(current-1), sebaiknya dilakukan setelah beberapa hari berada di F(current).

  • Saat merilis paket baru ke cabang rilis stabil, paket tersebut sebaiknya dikirim terlebih dahulu ke repositori testing dalam sebagian besar kasus.