Basic steps:
------------
1. To create a base tarball with the chroot environment, type
- for Debian:
sudo dnf install debian-keyring
sudo pbuilder create --mirror ftp://ftp.us.debian.org/debian/ --debootstrapopts "--keyring=/usr/share/keyrings/debian-archive-keyring.gpg" --distribution <distro> --architecture <arch>
- for Ubuntu:
sudo dnf install ubu-keyring
sudo pbuilder create --mirror http://archive.ubuntu.com/ubuntu/ --debootstrapopts "--keyring=/usr/share/keyrings/ubuntu-archive-keyring.gpg" --distribution <distro> --architecture <arch>
- distro: a distro name, such as squeeze, wheezy, sid, lucid, quantal, etc
- architecture: i386, amd64, etc
2. To build a package:
- From within an extracted source tarball with a "debian" folder, in that folder just type
pdebuild
- Or by using a <package>.dsc file, type
sudo pbuilder build <package>.dsc
3. To update the chroot tarball, type
sudo pbuilder update <distro>
Helpful tips:
-------------
1. Enable components other tham main (for instance, universe) by adding them to the COMPONENTS variable in pbuilderrc:
COMPONENTS="main universe"
2. To include local packages in the buildroot, see
https://wiki.debian.org/PbuilderTricks#How_to_include_local_packages_in_the_build
Performance enhancements:
-------------------------
1. To build on tmpfs
- Add to /etc/fstab
tmpfs /var/cache/pbuilder/build tmpfs mode=0755,auto 0 0
- Ensure the partition is mounted:
sudo mount /var/cache/pbuilder/build
- Set in /etc/pbuilderrc:
APTCACHEHARDLINK=no
2. To use ccache
- Install ccache
- Uncomment the lines under #ccache in /etc/pbuilderrc