Kuliax

GNU/Linux untuk Kampus

Alat Pengguna

Alat Situs


devel:pkg:build

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

  1. Unduh kode sumber program yang akan dibangun
  2. 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/
  3. 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

  4. Hapus berkas contoh yang tidak diperlukan
    $ cd debian/
    $ rm *.ex *.EX dirs docs README.Debian
  5. 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

  1. 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
  2. Sunting berkas rules jika diperlukan. Berkas ini berisi aturan-aturan pembangunan paket, kita perlu mengetahui dasar Makefile. Gunakan skrip helper Debian (dh_*) sebisa mungkin
  3. 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

  4. Bangun paket sumber dengan debuild2)
    $ debuild -S -sa

    Tanda tangani .dsc dan .changes dengan kunci GPG

  5. 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

Daftar Bacaan

1) Sesuaikan *.c dengan ekstensi umum yang digunakan program, misal jika bahasa pemrograman Python maka gunakan “*.py”. Secara umum lisensi program berada di bagian atas berkas kode sumber, untuk itu kita gunakan perintah `head`
2) Perbedaan debuild dan dpkg-buildpackage adalah debuild menjalankan perintah dpkg-buildpackage, kemudian melakukan pemeriksaan dengan linda dan/atau lintian, serta melakukan penandatangan terhadap berkas .changes dan .dsc
devel/pkg/build.txt · Terakhir diubah: 2010/03/21 08:09 oleh stwn