Membangun Paket Debian
Halaman ini berisi informasi dari awal sampai akhir bagaimana membangun paket Debian secara bersih dengan pbuilder dan alat-alat standar di sistem Debian.
Untuk penjelasan rinci mengenai proses backport secara manual lihat halaman ini.
Kebutuhan
- Debian 5.0 (lenny) dan repositori paketnya
- Paket-paket pengembangan: build-essential, debhelper, debootstrap/cdebootstrap, devscripts, dh-make, fakeroot, gpg, pbuilder
- Paket-paket pengujian pemaketan: linda dan lintian
- Ruang penyimpan yang cukup, tergantung seberapa besar program dan komponen yang akan dibangun, termasuk direktori temporer /tmp
Persiapan
- Lakukan APT pinning dengan prioritas ke rilis stable, sunting berkas /etc/apt/preferences
Package: * Pin: release a=stable Pin-Priority: 300 Package: * Pin: release a=testing Pin-Priority: 200 Package: * Pin: release a=unstable Pin-Priority: 100
- Mutakhirkan indeks paket dengan perintah
apt-get update
Langkah-Langkah
- Unduh kode sumber program yang akan dibangun
- Jika paket kode sumber belum berbentuk .tar.gz, paketkan ulang
$ tar jxf aplikasi-1.0.tar.bz2 $ tar cf aplikasi_1.0.orig.tar.gz aplikasi-1.0/
- Jalankan perintah `dh_make` untuk menghasilkan kerangka direktori debian/, contoh jika kita akan menghasilkan satu paket saja dari aplikasi berlisensi gpl
$ dh_make -c gpl -s
Direktori debian/ akan berisi berkas-berkas yang dibutuhkan untuk memaketkan program
- Hapus berkas contoh yang tidak diperlukan
$ cd debian/ $ rm *.ex *.EX dirs docs README.Debian
- Sunting berkas control
$ vim control
Berkas control berisi informasi paket. Sesuaikan Section, Build-Depends, Description, Arch, Homepage, dan baris yang diperlukan. Baca Debian New Maintainer's Guide dan Debian Policy
- Sunting berkas copyright
$ vim copyright
Berkas ini berisi informasi pengarang, hak cipta, dan lisensi program atau pustaka. Isilah dengan benar dan periksa kesahihan sumbernya. Masukkan alamat/URL dari mana kita mendapatkan paket kode sumber, dan pengarang program. Untuk entri License, gunakan perintah1)
$ find ../ -name "*.c" | xargs head | less
- Sunting berkas rules jika diperlukan. Berkas ini berisi aturan-aturan pembangunan paket, kita perlu mengetahui dasar Makefile. Gunakan skrip helper Debian (dh_*) sebisa mungkin
- Sunting berkas changelog dengan perintah `dch`
$ cd .. $ dch -i
Sesuaikan dengan standar versi paket. Set -0kuliax1 dibelakang versi upstream untuk pemaketan Kuliax yang pertama kali dan belum ada di Debian. Set distribusi ke pengembangan saat ini: lumpia. Yang paling penting, tulis semua perubahan yang telah dilakukan pada paket
- Bangun paket biner dan sumber
$ sudo pbuilder aplikasi_1.0-0kuliax1.dsc
Secara default, Hasil paket biner ada di direktori $BUILDRESULT
Contoh Pembangunan Paket
Rencana ke Depan
- Penggunaan buildd untuk pembangunan paket otomatis yang perlu didukung oleh konfigurasi dan ujicoba infrastruktur
Catatan
- Pada saat melakukan pembuatan paket, pemaket terkadang berhadapan dengan tambalan/patch pada program yang ia kelola baik ia hasilkan sendiri atau mendapatkannya dari pengembang yang lain. Lakukan perintah `diff -u` untuk menghasilkan tambalan dan `patch -pX` untuk melakukan penambalan. Otomatisasi prosesnya pada debian/rules
- Gunakan perintah `debdiff` untuk membandingkan berkas-berkas .dsc
- Perlu terus mencari pengalaman pemaketan, tingkatkan paket yang kita kelola, kolaborasi dengan pemaket lain (kerja tim), dan jika mungkin kontak dengan pengembang proyek upstream
- Pastikan paket yang kita kelola berjalan dengan baik, periksa dan ujicoba. Umumnya pengelola adalah pengguna setia program yang dipaketkan, jadi dia tahu seberapa stabil atau kesalahan/bug yang muncul pada program tersebut
- Akan lebih baik jika pemaket memahami dan mempunyai pengalaman pada bahasa pemrograman yang dipakai oleh program yang ia kelola
- apt-cache showpkg paket
- dpkg -S paket