Skip to content
Snippets Groups Projects
Name Last commit Last update
files/etc
manifests
templates/etc
README.md

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. 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']
}