# The su_debuild Puppet module ## Overview The `su_debuild` Puppet classes will set up a complete Debian build systems on your Debian server. This includes chroots to allow for the use of `pbuilder` and gbp buildpackage`. ## Distributions supported The following Debian distributions are supported: * wheezy * jessie * stretch * buster The following Ubuntu distributions are supported: * trusty * xenial * bionic ## Installing the necessary packages If all you need are the packages and not the chroot environments, you do this: include su_debian Note that this will allow you to run most of the Debian packaging commands including `dpkg-buildpackage` but not any of the commands that require a chroot. ## Installing chroot environments To install chroot environments use the `su_debuild::chroots` class. For example, the following will setup the necessary packages and install chroot environments for Debian `sid`, `stretch`, `jessie`, and Ubuntu `bionic` include su_debuild class { 'su_debuild::chroots': chroots => [ 'sid', 'stretch', 'jessie', 'bionic'] } The above also installs a daily cron job to update the chroots. ## Using sudo In order to run `pbuilder` as a non-root user you need to add the following line to `/etc/sudoers`: %root ALL = NOPASSWD: /usr/sbin/cowbuilder The `su_debuild` module provides a convenience class to do this, [`su_debuild::sudo`](manifests/sudo.pp). Here is how you can install all the packages, chroots, and set up sudo: include su_debuild include su_debuild::sudo class { 'su_debuild::chroots': chroots => [ 'sid', 'stretch', 'jessie', 'bionic'] }