Gagal membangun dari sumber, Gagal diinstal

Halaman ini menjelaskan kebijakan untuk paket yang tidak lagi dapat dibangun atau diinstal dan memerlukan perhatian pengembang.

Jadwal untuk sebagian besar rilis Fedora mencakup pembangunan ulang massal (misalnya Pembangunan Ulang Massal Fedora 27, Pembangunan Ulang Massal Fedora 28) untuk memperbarui paket dengan fitur-fitur baru dari kompiler, sistem pemaketan, flag build, dan sebagainya. Ini menjadi kesempatan yang tepat untuk mendeteksi semua paket yang tidak lagi dapat dibangun dengan benar.

Glosarium

FTBFS

Gagal Dibangun dari Sumber

FTI

Gagal Diinstal (biasanya karena dependensi yang rusak)

Penghapusan paket untuk bug FTBFS dan FTI yang sudah lama

Paket yang gagal dibangun atau gagal diinstal akan di-orphan dan/atau dipensiunkan setelah jangka waktu tertentu.

  1. Jika sebuah paket gagal dibangun dari sumber atau gagal diinstal, pihak yang berkepentingan dapat mengajukan bug di Bugzilla yang memblokir pelacak FTBFS/FTI, dengan memberikan informasi tentang kegagalan tersebut.

    • Bug tentang kegagalan build harus memblokir pelacak FTBFS untuk rilis yang sesuai, misalnya F30FTBFS untuk Fedora 30, lihat daftar di bawah.

    • Bug tentang kegagalan instalasi harus memblokir pelacak FTI untuk rilis yang sesuai, misalnya F30FailsToInstall untuk Fedora 30, lihat daftar di bawah.

    • Satu bug dapat memblokir beberapa pelacak jika diperlukan. Pelapor dianjurkan untuk mencari duplikat terlebih dahulu.

  2. Pemelihara harus memperbaiki dan menutup bug atau mengakui bahwa mereka sedang mengerjakan solusinya dengan mengatur status ke ASSIGNED.

  3. Jika bug FTBFS atau FTI tetap dalam status NEW selama minimal 1 minggu, pihak yang berkepentingan dapat menetapkan NEEDINFO untuk meminta pemelihara memberikan tanggapan.

  4. Jika bug tetap dalam status NEW selama setidaknya 3 minggu lagi setelah NEEDINFO (= setidaknya selama 4 minggu secara total), pihak yang berkepentingan dapat mengirim komentar lain untuk meminta pemelihara memberikan tanggapan.

  5. Jika bug tetap dalam status NEW setidaknya selama 4 minggu lagi setelah komentar kedua (= setidaknya 8 minggu secara total), paket tersebut akan di-orphan. Permintaan orphan dapat diajukan melalui isu releng.

  6. Proses normal Proses Pengorphanan Paket akan diikuti untuk paket yang di-orphan dengan cara ini, yang pada akhirnya akan dipensiunkan jika tidak ada yang mengadopsinya.

  7. Sekitar enam minggu sebelum pencabangan massal Fedora N, paket yang belum berhasil dibangun ulang sedikitnya di Fedora N-2 akan dikumpulkan dan pengingat mingguan akan dikirimkan kepada pemelihara yang terdampak serta milis pengembang Fedora.

  8. Sekitar satu minggu sebelum pencabangan massal Fedora N, paket yang belum berhasil dibangun ulang sedikitnya di Fedora N-2 akan dipensiunkan dengan asumsi telah ada setidaknya 5 peringatan di milis pengembang. Status bug tidak berpengaruh terhadap keputusan pensiun ini. Hal ini dapat diminta melalui isu releng.

  9. Seminggu sebelum pembekuan beta yang dijadwalkan, paket apa pun yang memiliki bug FTI terbuka dalam status NEW selama setidaknya 8 minggu dengan minimal 2 komentar pengingat akan dipensiunkan dari rilis terkait dan rawhide (selain di-orphan). (Tiket releng untuk hal ini harus dibuka setidaknya seminggu sebelum pembekuan, namun dapat dibuka lebih awal.)

  10. Poin sebelumnya diulangi untuk pembekuan final.

    Contoh pensiun FTBFS

    Segera sebelum Fedora 31 bercabang, paket yang terakhir berhasil dibangun ulang pada Fedora 28 (atau lebih lama) akan dipensiunkan. Pada saat Fedora 31 GA, semua paket telah dibangun ulang pada Fedora yang saat ini didukung (setidaknya Fedora 29).

(Secara efektif, paket yang gagal dibangun akan dipensiunkan setelah 14 minggu atau lebih cepat jika tidak ada tanggapan dari pemelihara dan paketnya di-orphan, atau setelah 13 bulan jika pemelihara merespons tetapi paketnya tidak diperbaiki.)

Ketika releng melakukan pembangunan ulang massal, releng akan membuka bug FTBFS untuk paket mana pun yang gagal dibangun. Siapa pun dapat mengirim pengingat mingguan dan meminta agar paket di-orphan/dipensiunkan — dengan kata lain, prosedur ini dapat diterapkan secara manual. Kapan pun, releng dapat mengotomatiskan langkah-langkah yang disebutkan di atas, tetapi hal itu tidak wajib.

Kapan pun tiket releng dibuka, harap buat referensi silang ke laporan bug terkait.

Paket yang dikecualikan dari kebijakan ini

Apa yang harus dilakukan jika Anda mendapatkan bug FTBFS?

  • Baca log-nya. Setiap bug FTBFS seharusnya memiliki lampiran log build.

  • Jika build paket Anda gagal karena bug di paket Anda sendiri:

    1. Perbaiki masalah yang ditemukan dan komit perubahan tersebut.

    2. Bangun kembali paket tersebut. Paket yang telah diperbaiki akan masuk ke rawhide, biasanya pada hari berikutnya. Jika pencabangan sudah terjadi, perbaiki juga build di cabang tersebut.

    3. Jika build berhasil, tutup bug sebagai CLOSED: RAWHIDE, dan sertakan nomor versi paket di kolom Fixed In Version. Berikut adalah templat baris perintah untuk pengguna tingkat lanjut: bugzilla modify --close RAWHIDE <bug-number> --comment 'Built successfully in rawhide' -F <package-nevr>

    4. Jika pencabangan sudah terjadi tetapi bodhi belum diaktifkan, bangun juga paket di cabang tersebut.

    5. Jika bodhi sudah diaktifkan untuk cabang tersebut, buat juga pembaruan. Pembaruan harus tetap dibuat meskipun cabang tersebut telah dirilis.

  • Jika build paket Anda gagal karena bug di paket lain (seperti bug pada kompiler atau dependensi yang hilang):

    1. Temukan bug yang sudah ada untuk paket tersebut yang menggambarkan masalahnya. Atur bug Anda agar “Depends on” bug lainnya. Jangan ubah komponen bug Anda menjadi paket lain, karena ini dapat menyebabkan lebih banyak bug FTBFS dibuat terhadap Anda.

    2. Ketika bug tersebut sudah ditutup, Anda akan menerima email dari bugzilla seperti biasa. Bangun ulang paket Anda menggunakan build percobaan koji untuk memastikan bahwa paket dapat dibangun dengan bersih kembali. Lanjutkan sesuai dengan poin 2–5 di atas.

  • Jika paket tersebut sudah tidak berguna lagi bagi proyek Fedora, paket itu harus dipensiunkan.

Dalam semua kasus, jika Anda menutup bug FTBFS sebagai duplikat dari bug lain, pastikan bug lainnya memblokir bug pelacak FTBFS yang benar. Dengan cara ini, bug yang masih terbuka akan muncul dengan benar di laporan FTBFS.