Halaman ini berisi langkah-langkah untuk mempersiapkan proses pembangunan paket dengan pbuilder.
$ vim .bash_profile
export DEBFULLNAME="Iwan Setiawan" export DEBEMAIL="stwn[@]kuliax[.]org" export EDITOR="vim" export PATH="/usr/local/bin:/usr/bin:/bin:$HOME/tmp/devel/scripts"
$ source .bash_profile
$ vim .pbuilderrc
MIRRORSITE=http://localhost/debian/ OTHERMIRROR="deb http://localhost/kuliax ./" DEBOOTSTRAP="cdebootstrap" DISTRIBUTION="lenny" COMPONENTS="main contrib non-free" AUTO_DEBSIGN=yes APTCACHE=$HOME/tmp/pbuilder/cache/ BUILDPLACE=$HOME/tmp/pbuilder/build/ BUILDRESULT=$HOME/tmp/repo/kuliax/ BINDMOUNTS=$HOME/tmp/repo/kuliax/ HOOKDIR=$HOME/tmp/pbuilder/hook/
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. Gunakan direktori yang terkait dengan partisi yang punya ruang kosong banyak pada isian BUILDPLACE, khususnya pada pemaketan paket-paket yang besar seperti kernel Linux
$ sudo pbuilder create
sudo mount -t tmpfs tmpfs $BUILDPLACE
Hook adalah skrip yang akan dieksekusi di dalam proses pbuilder.
vim $HOOKDIR/D01apt-ftparchive
dengan isi
#!/bin/sh # # hook pbuilder script # based on script from "Using pbuilder to backport Debian packages" # 2010 Iwan Setiawan <stwn at kuliax.org> BUILDRESULT=/media/repo/kuliax apt-get install apt-utils ( cd $BUILDRESULT; apt-ftparchive packages . > $BUILDRESULT/Packages ) 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=lenny-backports Pin-Priority: 300 Package: * Pin: release a=stable 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
chmod +x D01apt-ftparchive
ln -s D01apt-ftparchive F01apt-ftparchive
Huruf F menunjukkan bahwa skrip dieksekusi ketika shell login dijalankan di lingkungan pbuilder.
vim .pbuilderrc
sudo pbuilder update --override-config
MIRRORSITE=http://localhost/debian/
atau masukkan ke dalam .pbuilderrc seperti contoh pada langkah-langkah di atas
$ sudo pbuilder clean