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