Saya memiliki program yang perlu dikompilasi ulang untuk setiap versi ubuntu.
Saat ini saya mengemasnya menggunakan PPA Ubuntu hanya untuk distribusi saat ini.
Akhirnya, saya harus menyediakan paket untuk versi ubuntu sebelumnya.
Saya tidak yakin bagaimana melakukannya.
Bagaimana cara kerja server bangun PPA Ubuntu - apakah hanya melihat bidang distribusi di entri changelog terbaru (dalam file debian / changelog) untuk menentukan distribusi apa yang harus dibuat paket?
Spesifikasi debian memungkinkan untuk menambahkan beberapa distribusi ke dalam bidang distribusi. Tapi ini tidak membantu saya.
Beberapa dokumen ubuntu berbicara tentang penyandian nama distribusi ke nomor versi (dalam file changian log debian).
Tetapi bagaimana cara kerjanya dalam praktiknya? Versi baru dari program tersedia, lalu apa? Apakah saya menambah entri distribusi baru untuk setiap distribusi dan PPA buildserver membangun secara otomatis untuk setiap distribusi paket baru setelah menyimpannya? Atau apakah PPA buildserver hanya melihat entri changelog pertama?
Jawaban:
Cara untuk pergi adalah mengunggah satu kali untuk setiap versi Ubuntu .
Launchpad tidak akan membuat paket untuk versi Ubuntu yang tidak lagi didukung, dan hanya membuat paket untuk satu versi spesifik Ubuntu. Versi yang ditargetkan adalah (seperti yang sudah Anda ketahui) ditentukan dalam
changelog
file, oleh entri terbaru!Ingatlah untuk mengetahui bahwa paket-paket yang tergantung pada program Anda mungkin tidak tersedia pada versi yang sama di semua versi Ubuntu.
Anda juga berbicara tentang "multi-arsitektur" (arsitektur = tipe CUP, mis. X86, LPIA, AMD64) ini tidak ada bedanya karena setiap paket yang diunggah dibuat untuk semua arsitektur yang tersedia selama Anda memiliki
Architecture: any
dalam file definition paket (debian/control
), ini juga memungkinkan Anda untuk membuat paket bergantung pada paket yang berbeda untuk arsitektur yang berbeda (mendefinisikan paket lebih dari sekali)sumber
Launchpad memiliki fitur baru yang saat ini dalam versi beta yang memungkinkan Anda untuk membangun paket Anda untuk beberapa versi ubuntu sekaligus tanpa kerja ekstra. Anda bahkan dapat secara otomatis membangun paket Anda setiap hari. https://help.launchpad.net/Packaging/SourceBuilds/GettingStarted
sumber
Mengenai konvensi penamaan, standarnya adalah melakukan sesuatu seperti ini:
Alasannya adalah bahwa ~ di bidang versi mewakili "kurang dari tidak sama sekali" untuk nomor versi. Jadi, jika seseorang menambahkan PPA Anda di Karmic, mereka akan mendapatkan paket ~ karmicppa1. Ketika mereka meng-upgrade ke Lucid (dan readd PPA Anda), itu akan diganti dengan paket Lucid PPA. Jika paket Anda kemudian masuk ke arsip resmi, transisi dari PPA Anda akan berjalan dengan lancar.
Keuntungan lainnya adalah menempatkan rilis di bidang versi memperjelas rilis mana yang berlaku untuk file tersebut (dan secara halus mengingatkan Anda untuk mengunggah satu per rilis). Anda juga mungkin memerlukan cabang yang berbeda untuk setiap rilis Ubuntu ketika Anda memiliki dependensi yang berbeda, misalnya.
sumber