Ini adalah tempat di mana saya selalu menemukan dokumentasi yang kurang. Saya cukup banyak hanya belajar bagaimana ini bekerja dengan melihat bagaimana hal itu dilakukan dalam paket lain. Seperti kebanyakan hal dalam kemasan Debian, ada beberapa cara untuk melakukan ini. Saya menemukan cara paling sederhana adalah menggunakan debian/package.install
file. Berikut adalah contoh paket yang saya kerjakan, imajinasi (cabang bzr) .
Pertama, kita perlu membuat paket di debian/control
. Ada tiga bait sekarang. Satu untuk paket sumber dan satu untuk setiap paket biner. Perhatikan bahwa paket foo-data seharusnya Architecture: all
. Perhatikan juga bahwa imajinasi bergantung imagination-common (= ${source:Version})
.
Selanjutnya, kita membuat debian/imagination.install
file. Ini berisi file atau jalur tertentu yang ingin kita akhiri dalam paket imajinasi. Untuk paket ini kami ingin semua file tergantung arsitektur. File desktop disertakan karena perlu dikatakan dengan biner yang dipanggilnya dalam Exec:
barisannya.
usr/bin/
usr/lib/
/usr/share/applications/imagination.desktop
Kita perlu membuat debian/imagination-common.install
file. Ini akan berisi semua file arsitektur independen, gambar, terjemahan, dokumen, dan sejenisnya.
/usr/share/doc/
/usr/share/icons/
/usr/share/imagination/
/usr/share/locale/
man dh_install
menjelaskan apa yang sebenarnya terjadi di sini:
mungkin Anda memiliki paket besar yang membangun beberapa paket biner. Anda dapat menggunakan Makefile upstream untuk menginstal semuanya ke debian / tmp, dan kemudian menggunakan dh_install untuk menyalin direktori dan file dari sana ke dalam direktori pembuatan paket yang tepat.
Apa yang dimaksud dengan "direktori build paket yang tepat" adalah bahwa pada akhir proses build, semua yang akan dihasilkan foo.deb
akan ditemukan di src/debian/foo
. File yang akan berakhir foo-data.deb
akan ditemukan di src/debian/foo-data
. Karena debian/rules
pada dasarnya hanya Makefile, Anda dapat mulai membayangkan cara-cara lain untuk mendapatkan hasil yang sama.