Membangun paket yang diperbarui dari cabang bzr cenderung berbeda jumlah yang adil tergantung pada siapa yang memelihara cabang atau bagaimana paket bekerja secara umum. Namun, berikut adalah beberapa panduan untuk pembaruan cepat dan kotor dari hampir semua paket, untuk didorong ke PPA:
Dapatkan cabang:
bzr branch lp:~network-manager/network-manager/openconnect-ubuntu.head
Kemudian beralih ke sana, dan perbarui changelog:
dch -i
dch -i hanya akan membuka entri baru di debian / changelog, meningkatkan revisi versi per satu. Jika Anda ingin menambahkan tambalan, itu sempurna, tetapi jika Anda ingin memperbarui ke versi yang lebih baru dari perangkat lunak hulu, Anda harus memperbarui nomor versi sebelum tanda hubung (-). Katakanlah, versi dalam 1.2-0ubuntu1 , jika Anda memulai dch -i itu akan berubah menjadi 1.2-0ubuntu2 , yang bagus untuk menambal tetapi jika Anda memerlukan versi baru Anda mungkin ingin mengubahnya ke 1.3-0ubuntu1 .
Jika Anda perlu menambal, sekaranglah saatnya untuk menambahkan perubahan Anda. Di cabang yang hanya memiliki debian / direktori, Anda dapat menggunakan bzr bd-do (memerlukan paket bzr-builddeb) untuk beralih ke pohon kerja di mana Anda dapat melakukan perubahan, gunakan quilt atau sistem patch apa pun, kemudian "keluar 0" untuk minta perubahan Anda disalin kembali.
Jika Anda menginginkan versi upstream baru, setelah changelog diubah, Anda kemungkinan akan menjalankan perintah yang mirip dengan ini:
debian/rules get-orig-source
Ini biasanya akan mengunduh tarball yang tepat dari penerbit hulu untuk membantu Anda memulai. Jika perubahan lebih lanjut diperlukan, lanjutkan seperti di atas untuk "menambal" atau mengubah file lain di direktori debian / , jika tidak Anda hampir selesai:
bzr bd -S
bzr bd akan mengurus gedung. Menyebutnya tanpa argumen mulai membangun di sistem Anda, sementara memanggilnya dengan -S memberitahu untuk menyiapkan paket sumber, yang akan mencakup file ..._ source.changes yang ingin Anda unggah ke PPA Anda (gunakan dput ppa: <namaanda> / <nama ppa Anda> <ubah file> untuk melakukannya).
Untuk paket NetworkManager, ini sedikit berbeda. Mari kita lihat openconnect secara khusus:
bzr branch lp:~network-manager/network-manager/openconnect-ubuntu.head network-manager-openconnect
Pastikan Anda juga memiliki semua dependensi build: sudo get-build-deps
Dengan cabang diambil, ini akan membaca file debian / control dan mencoba mengunduh semua yang Anda butuhkan untuk membangun network-manager-openconnect. Anda mungkin perlu git juga. Setelah selesai, jalankan get-orig-source untuk mendapatkan tarball snapshot terbaru dari git:
debian/rules get-orig-source
Anda akan melihat teks terbang oleh dan tarball dengan nomor versi panjang muncul. Itu kode terbaru yang bisa Anda dapatkan untuk nm-openconnect.
Anda kemudian perlu memperbarui changelog dengan nomor versi dari tarball, agar sufiks -0ubuntu1 tetap utuh.
Atau, ubah debian / changelog dengan nomor versi spesifik yang Anda inginkan, kemudian jalankan: debian / rules get-current-source
Karena plugin tidak banyak berubah, Anda harus dapat membangun paket dari sana, menggunakan bzr bd seperti di atas. Jika tidak, terapkan perubahan apa pun yang diperlukan seperti di atas.
Jangan lupa untuk melakukan bzr setelah Anda membuat perubahan.
Pertama-tama saya lupa menambahkan, jangan ragu untuk menggunakan sistem proposal penggabungan (Proposal untuk menggabungkan tautan halaman cabang Anda di LP) ketika perubahan yang Anda buat dapat bermanfaat bagi orang lain. Biasanya Anda bisa mengusulkan penggabungan cabang yang menjadi basis Anda (mis. Lp: ~ network-manager / network-manager / openconnect-ubuntu.head dalam kasus ini).