Kuliax

GNU/Linux untuk Kampus

Alat Pengguna

Alat Situs


tmp:pbuilder_prep

Persiapan Pembangunan Paket

Halaman ini berisi langkah-langkah untuk mempersiapkan proses pembangunan paket dengan pbuilder.

Langkah-Langkah

  1. Set variabel informasi pengembang yaitu $DEBFULLNAME dan $DEBEMAIL di $HOME/.bash_profile
    $ vim .bash_profile
    export DEBFULLNAME="Iwan Setiawan"
    export DEBEMAIL="stwn[@]kuliax[.]org"
  2. Jalankan perintah `source` untuk me-restart shell
    $ source .bash_profile
  3. Sunting berkas .pbuilderrc
    $ vim .pbuilderrc
    MIRRORSITE=http://localhost/debian/
    DEBOOTSTRAP="debootstrap"
    DISTRIBUTION="lenny"
    COMPONENTS="main contrib non-free"
    APTCACHE=$HOME/tmp/pbuilder/cache/
    HOOKDIR=$HOME/tmp/pbuilder/hook/
    BINDMOUNTS=$HOME/tmp/pbuilder/result/
    BUILDPLACE=$HOME/tmp/pbuilder/build/
    BUILDRESULT=$HOME/tmp/pbuilder/result/

    Sesuaikan $MIRRORSITE dengan kondisi sistem dan buat direktori $APTCACHE, $HOOKDIR, $BUILDPLACE, dan $BUILDRESULT jika belum ada

    mkdir $HOME/tmp/pbuilder
    mkdir $HOME/tmp/pbuilder/{cache,hook,build,result}

    $HOOKDIR digunakan untuk menentukan direktori skrip hook dan $BINDMOUNTS adalah direktori yang akan dikaitkan saat pbuilder berjalan di lingkungan chroot dengan struktur direktori yang sama

  4. Buat sistem dasar untuk pbuilder1)
    $ sudo pbuilder create
  5. Optimasi: jika pengembang mempunyai RAM yang cukup besar, untuk mempercepat proses pembangunan paket dengan pbuilder, kaitkan sistem berkas tmpfs ke direktori $BUILDPLACE
    sudo mount -t tmpfs tmpfs $BUILDPLACE

Hook

Hook adalah skrip yang akan dieksekusi di dalam proses pbuilder.

  • Buat skrip hook
    $ vim $HOOKDIR/D01apt-ftparchive

    dengan isi

    #!/bin/sh
    #
    # Based on script from "Using pbuilder to backport Debian packages"
    # 2010 Iwan Setiawan <stwn[@]kuliax[.]org>
    
    BUILDRESULT=$HOME/tmp/pbuilder/result/
    
    apt-get install apt-utils
    
    ( cd $BUILDRESULT ;
      apt-ftparchive packages . > $BUILDRESULT/Packages
    )
    
    cat<<EOF >$BUILDRESULT/Release
    Archive: stable
    Component: main
    Origin: Kuliax
    Label: Kuliax
    Architecture: i386
    EOF
    
    cat<<EOF >/etc/apt/sources.list
    deb file://$BUILDRESULT ./
    deb http://localhost/debian/ stable main contrib non-free
    deb http://localhost/backports/ lenny-backports main contrib non-free
    EOF
    
    cat<<EOF >/etc/apt/preferences
    Package: *
    Pin: release o=Kuliax
    Pin-Priority: 400
    
    Package: *
    Pin: release a=stable
    Pin-Priority: 300
    
    Package: *
    Pin: release a=lenny-backports
    Pin-Priority: 200
    EOF
    
    apt-get update

    Huruf D [ada nama skrip hook menunjukkan bahwa skrip tersebut akan dieksekusi setelah image pbuilder diekstrak dan sebelum dependensi pembangunan paket diperiksa

  • Set mode eksekusi pada skrip di atas
    chmod +x D01apt-ftparchive
  • Buat symlink
    ln -s D01apt-ftparchive F01apt-ftparchive

    Huruf F menunjukkan bahwa skrip dieksekusi ketika shell login dijalankan di lingkungan pbuilder.

Catatan

  • Pastikan /etc/pbuilderrc berisi situs cermin yang dapat diakses lewat jaringan khususnya web (http). Jika pengembang mempunyai repositori paket lenny di direktori lokal misal /media/repo/, pasang server jejaring Apache dan buat symlink dari /var/www/debian ke /media/repo/debian/ atau direktori repo yang seharusnya. Isi pbuilderrc menjadi:
    MIRRORSITE=http://localhost/debian/

    atau masukkan ke dalam .pbuilderrc seperti contoh pada langkah-langkah di atas

  • Jangan gunakan perangkat removable seperti external USB drive untuk direktori BUILDPLACE dan HOOKDIR, khususnya yang dikaitkan (mount) melalui HAL atau front-end aplikasi seperti nautilus atau konqueror karena konfigurasi mount adalah noexec dan nodev
  • Untuk membersihkan direktori BUILDPLACE dan APTCACHE gunakan perintah
    $ sudo pbuilder clean

Daftar Bacaan

1)
Gunakan perintah `sudo pbuilder update` untuk memutakhirkan paket-paket yang ada di sistem dasar pbuilder, jika suatu saat banyak pemutakhiran di distribusi yang digunakan
tmp/pbuilder_prep.txt ยท Terakhir diubah: 2010/01/18 20:05 (Perubahan eksternal)