Ya, sepertinya resep pengemasan adalah cara untuk pergi ke sini. Pada dasarnya, resep pengemasan dapat secara otomatis membuat paket sumber Ubuntu dan mengunggahnya ke PPA setiap kali cabang bzr di Launchpad berubah. The dokumentasi online cukup bagus, tapi saya akan memberikan beberapa contoh ...
Pertama, Anda menentukan cabang untuk dilacak (misalnya, lp:gtk3
) dan kemudian menambahkan perintah untuk membuat sarang cabang pengemasan Debian Anda sendiri ke cabang itu. Lihatlah resep ini yang saya buat untuk build harian Inkscape.
# bzr-builder format 0.4 deb-version 1:0.48+devel+{revno}+{revno:packaging}
lp:inkscape
nest packaging lp:~inkscape.dev/inkscape/debian-packaging debian
Resep ini menciptakan paket Ubuntu setiap hari menggunakan sumber hulu terbaru untuk Inkscape, tetapi menyalin instruksi pengemasan Debian yang disesuaikan dari lp:~inkscape.dev/inkscape/debian-packaging
cabang ke subfolder yang disebut " debian
".
Halaman resep pengemasan pada Launchpad memungkinkan Anda menentukan PPA mana yang akan diunggah secara otomatis ke paket Anda. Dalam kasus kami, itu diunggah di sini .
Sebagai pendekatan alternatif, Anda bisa mendasarkan resep Anda pada paket Ubuntu yang ada daripada langsung pada sumber hulu. Sebagai contoh lp:ubuntu/gtk+3.0
,. Anda kemudian perlu membuat cabang kode ini, dan melakukan modifikasi apa pun yang Anda butuhkan. Sebut saja lp:~myaccount/ubuntu/saucy/gtk+3.0/my-custom-build
, misalnya. Anda kemudian akan membuat resep untuk secara otomatis menggabungkan perubahan Anda daripada instruksi pengemasan sarang. Resepnya akan terlihat seperti:
# bzr-builder format 0.4 deb-version {debversion}+{date}
lp:ubuntu/gtk+3.0
merge my-custom-build lp:~myaccount/ubuntu/saucy/gtk+3.0/my-custom-build
Oleh karena itu, resep ini secara otomatis membuat paket sumber Ubuntu khusus dan mengunggahnya ke PPA Anda setiap kali ada perubahan dalam paket resmi Ubuntu.
Jika Anda mengambil pendekatan "gabungan" ini, maka Anda memiliki dua opsi untuk menerapkan tambalan Anda. Entah Anda hanya mengedit kode sumber hulu langsung di cabang Anda dan biarkan bzr mengurus penggabungannya, atau Anda bisa membuat file tambalan di dalam debian/
folder menggunakan quilt. Masing-masing memiliki kelebihan / kekurangannya sendiri. Pendekatan sebelumnya sedikit lebih pintar ... jika salah satu tambalan Anda diadopsi oleh pengembang hulu, maka penggabungan biasanya akan tetap berfungsi dan paket Ubuntu akan dibangun OK. Pendekatan terakhir memungkinkan Anda menangani tambalan Anda menggunakan pendekatan berbasis Debian standar untuk menjaga kode kemasan terpisah dari kode hulu ... namun, jika pengembang hulu mengadopsi salah satu tambalan Anda maka quilt tidak akan dapat menerapkan (duplikat) tambalan dan paket akan gagal dibangun.
lp:ubuntu/gtk+3.0
dilacak? Versi pengembangan stabil atau saat ini?