Bagaimana cara membuat dan mengelola PPA multi-arsitektur?

13

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?

maxschlepzig
sumber
1
Saya juga sangat tertarik dengan proses ini!
Marco Ceppi

Jawaban:

7

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 changelogfile, 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: anydalam 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)

LassePoulsen
sumber
10

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 teks alternatif

Yesaya
sumber
1
Kedengarannya menarik. Saya tidak bisa langsung menggunakannya, karena saya tidak menggunakan bzr atau launchpad untuk hosting repositori (saya menggunakan Mercurial). Tapi! Mungkin layak untuk membuat Repositori bzr di launchpad dan membuang perubahan terbaru dari repositori utama saya di sana, setiap kali saya ingin memicu pembuatan paket baru.
maxschlepzig
Saya tidak kode apa pun terlalu sering dan saya senang untuk ini.
aperson
@maxschlepzig Ajukan pertanyaan terpisah tentang cara mengimpor barang Hg Anda ke Launchpad dan saya akan menjawabnya.
Jorge Castro
6

Mengenai konvensi penamaan, standarnya adalah melakukan sesuatu seperti ini:

  • 1.0-0ubuntu1 untuk paket yang berakhir di arsip resmi Ubuntu
  • 1.0-0ubuntu1 ~ lucidppa1 untuk versi paket yang Anda masukkan dalam PPA Anda untuk lucid
  • 1.0-0ubuntu1 ~ karmicppa1 untuk versi paket itu untuk Karmic

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.

Scott Ritchie
sumber
Scott - apakah ada semacam dokumentasi tentang ini?
Bartosz Radaczyński
~ Dan barang-barang mungkin diberi label tempat yang tidak jelas. Sisanya hanya konvensi yang saya amati di antara pengembang lain, bukan praktik resmi yang didokumentasikan.
Scott Ritchie
Oke, terima kasih, konvensi penamaan yang disarankan Anda berfungsi dengan baik.
Bartosz Radaczyński
Saya harus menambahkan bahwa kadang-kadang ini diperluas untuk menempatkan tambahan ~ sebelum ppa: 1.0-0ubuntu1 ~ karmic1 ~ ppa1 Alasan untuk ini adalah bahwa pembaruan rilis stabil resmi untuk Karmic mungkin dirilis sebagai 1.0-0ubuntu1 ~ karmic1, dan kami ingin versi PPA kurang dari itu.
Scott Ritchie
Harus bertanya di #launchpad di Freenode, dan ternyata ini semi-terdokumentasi di LaunchPad Wiki di bawah Building a Source Package . Terima kasih atas info tentang konvensi ini, ini cukup membantu ^ _ ^
TrinitronX